Scenario Deep Link Router
API Contract
REST
/api/v1/deep-links
8 endpoints
GET
/api/v1/deep-links/api/v1/deep-links
List all recorded deep link tap and route resolution events
Public
Response Example
{
"data": [
{
"id": "dlnk_01HDL001",
"scenario_type": "inactivity",
"deep_link_url": "eircodex://home/feed",
"resolved_route": "/home/feed",
"user_id": "usr_mentor_7821",
"tapped_at": "2026-03-25T10:05:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 210
}
}
GET
/api/v1/deep-links/api/v1/deep-links/:id
Get a specific deep link event record
Public
Response Example
{
"id": "dlnk_01HDL001",
"scenario_type": "inactivity",
"deep_link_url": "eircodex://home/feed",
"resolved_route": "/home/feed",
"params": {},
"user_id": "usr_mentor_7821",
"tapped_at": "2026-03-25T10:05:00Z"
}
POST
/api/v1/deep-links/api/v1/deep-links
Record a new deep link tap event and resolve its route
Public
Request Example
{
"scenario_type": "certification_expiry",
"deep_link_url": "eircodex://profile/certifications/cert_safety_003",
"user_id": "usr_mentor_7821",
"notification_id": "notif_01HPN010"
}
Response Example
{
"id": "dlnk_01HDL099",
"scenario_type": "certification_expiry",
"deep_link_url": "eircodex://profile/certifications/cert_safety_003",
"resolved_route": "/profile/certifications/cert_safety_003",
"params": {
"certification_id": "cert_safety_003"
},
"user_id": "usr_mentor_7821",
"tapped_at": "2026-03-26T09:55:00Z"
}
PUT
/api/v1/deep-links/api/v1/deep-links/:id
Update a deep link event record (e.g. mark navigation as completed)
Public
Request Example
{
"navigation_completed": true
}
Response Example
{
"id": "dlnk_01HDL001",
"navigation_completed": true,
"resolved_route": "/home/feed",
"tapped_at": "2026-03-25T10:05:00Z"
}
DELETE
/api/v1/deep-links/api/v1/deep-links/:id
Delete a deep link event record
Public
Response Example
{
"success": true,
"deleted_id": "dlnk_01HDL001"
}
POST
/api/v1/deep-links/api/v1/deep-links/handle-tap
Process a notification tap payload and return the resolved navigation route
Public
Request Example
{
"notification_id": "notif_01HPN010",
"scenario_type": "inactivity",
"user_id": "usr_mentor_7821",
"deep_link_url": "eircodex://home/feed",
"tapped_at": "2026-03-26T10:00:00Z"
}
Response Example
{
"resolved_route": "/home/feed",
"params": {},
"navigation_action": "push",
"tracking_id": "dlnk_01HDL100"
}
POST
/api/v1/deep-links/api/v1/deep-links/resolve
Resolve a deep link URL into a route and params without recording an event
Public
Request Example
{
"deep_link_url": "eircodex://profile/certifications/cert_safety_003"
}
Response Example
{
"deep_link_url": "eircodex://profile/certifications/cert_safety_003",
"resolved_route": "/profile/certifications/cert_safety_003",
"params": {
"certification_id": "cert_safety_003"
}
}
POST
/api/v1/deep-links/api/v1/deep-links/cold-start
Register a cold-start notification payload to be consumed after app initialization
Public
Request Example
{
"user_id": "usr_mentor_7821",
"notification_id": "notif_01HPN010",
"scenario_type": "inactivity",
"deep_link_url": "eircodex://home/feed",
"received_at": "2026-03-26T10:01:00Z"
}
Response Example
{
"cold_start_id": "cs_01HCLD001",
"user_id": "usr_mentor_7821",
"registered": true,
"registered_at": "2026-03-26T10:01:00Z"
}