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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}