Keyboard Aware Layout
API Contract
REST
/api/v1/keyboard-layouts
5 endpoints
GET
/api/v1/keyboard-layouts/api/v1/keyboard-layouts
List stored keyboard layout configurations (scroll offsets, field focus mappings) with pagination.
Public
Response Example
{
"data": [
{
"id": "kbl_4d5e6f7g8h9i0j1k",
"screen_name": "login_screen",
"scroll_padding": 24,
"focused_field": "email_field",
"keyboard_visible": false,
"created_at": "2026-03-26T09:05:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/keyboard-layouts/api/v1/keyboard-layouts/:id
Get a specific keyboard layout configuration by ID.
Public
Response Example
{
"id": "kbl_4d5e6f7g8h9i0j1k",
"screen_name": "login_screen",
"scroll_padding": 24,
"focused_field": "email_field",
"keyboard_visible": false,
"dismiss_on_tap_outside": true,
"created_at": "2026-03-26T09:05:00.000Z"
}
POST
/api/v1/keyboard-layouts/api/v1/keyboard-layouts
Register a keyboard-aware layout configuration for a screen. Maps to wrapWithKeyboardAware().
Public
Request Example
{
"screen_name": "login_screen",
"scroll_padding": 24,
"dismiss_on_tap_outside": true,
"fields": [
{
"field_id": "email_field",
"scroll_offset": 120
},
{
"field_id": "password_field",
"scroll_offset": 220
}
]
}
Response Example
{
"id": "kbl_4d5e6f7g8h9i0j1k",
"screen_name": "login_screen",
"scroll_padding": 24,
"dismiss_on_tap_outside": true,
"fields": [
{
"field_id": "email_field",
"scroll_offset": 120
},
{
"field_id": "password_field",
"scroll_offset": 220
}
],
"created_at": "2026-03-26T09:05:00.000Z"
}
PUT
/api/v1/keyboard-layouts/api/v1/keyboard-layouts/:id
Update keyboard layout settings — adjust scroll offsets or dismiss behaviour. Maps to scrollToFocusedField()/dismissKeyboard() config.
Public
Request Example
{
"scroll_padding": 32,
"dismiss_on_tap_outside": false,
"fields": [
{
"field_id": "email_field",
"scroll_offset": 130
},
{
"field_id": "password_field",
"scroll_offset": 240
}
]
}
Response Example
{
"id": "kbl_4d5e6f7g8h9i0j1k",
"screen_name": "login_screen",
"scroll_padding": 32,
"dismiss_on_tap_outside": false,
"fields": [
{
"field_id": "email_field",
"scroll_offset": 130
},
{
"field_id": "password_field",
"scroll_offset": 240
}
],
"updated_at": "2026-03-26T14:00:00.000Z"
}
DELETE
/api/v1/keyboard-layouts/api/v1/keyboard-layouts/:id
Remove a keyboard layout configuration for a screen.
Public
Response Example
{
"deleted": true,
"id": "kbl_4d5e6f7g8h9i0j1k"
}