Navigation Route Config
API Contract
REST
/api/v1/route-configs
7 endpoints
GET
/api/v1/route-configs/api/v1/route-configs
List all registered route configurations
Public
Response Example
{
"data": [
{
"id": "rc-001",
"route_name": "HomeScreen",
"is_modal": false,
"dismissal_policy": null,
"component": "HomeScreen",
"created_at": "2026-03-20T10:00:00Z"
},
{
"id": "rc-002",
"route_name": "SettingsModal",
"is_modal": true,
"dismissal_policy": "swipe_down_or_button",
"component": "SettingsModal",
"created_at": "2026-03-20T10:05:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/route-configs/api/v1/route-configs/:routeName
Get metadata for a specific route (getRouteMetadata)
Public
Response Example
{
"id": "rc-002",
"route_name": "SettingsModal",
"is_modal": true,
"dismissal_policy": "swipe_down_or_button",
"component": "SettingsModal",
"accessibility": {
"has_close_button": true,
"supports_gesture_dismiss": true
},
"created_at": "2026-03-20T10:05:00Z"
}
POST
/api/v1/route-configs/api/v1/route-configs
Register a new route configuration (registerRoute)
Public
Request Example
{
"route_name": "NotificationsScreen",
"component": "NotificationsScreen",
"is_modal": false,
"dismissal_policy": null
}
Response Example
{
"id": "rc-003",
"route_name": "NotificationsScreen",
"is_modal": false,
"dismissal_policy": null,
"component": "NotificationsScreen",
"created_at": "2026-03-26T09:00:00Z"
}
PUT
/api/v1/route-configs/api/v1/route-configs/:routeName
Update an existing route configuration
Public
Request Example
{
"component": "NotificationsScreenV2",
"is_modal": false
}
Response Example
{
"id": "rc-003",
"route_name": "NotificationsScreen",
"component": "NotificationsScreenV2",
"is_modal": false,
"dismissal_policy": null,
"updated_at": "2026-03-26T09:30:00Z"
}
DELETE
/api/v1/route-configs/api/v1/route-configs/:routeName
Remove a route from the router configuration
Public
Response Example
{
"deleted": true,
"route_name": "NotificationsScreen"
}
POST
/api/v1/route-configs/api/v1/route-configs/build-router
Build or rebuild the router from current configuration (buildRouter)
Public
Response Example
{
"success": true,
"routes_registered": 3,
"built_at": "2026-03-26T09:35:00Z"
}
PUT
/api/v1/route-configs/api/v1/route-configs/:routeName/dismissal-policy
Set the modal dismissal policy for a route (setModalDismissalPolicy)
Public
Request Example
{
"policy": "swipe_down_or_button"
}
Response Example
{
"route_name": "SettingsModal",
"dismissal_policy": "swipe_down_or_button",
"updated_at": "2026-03-26T09:40:00Z"
}