API Reference
All SDK-facing endpoints. Authenticate with Authorization: Bearer <apiKey>.
SDK endpoints
/api/v1/sdk/deferred-link/resolveResolve a deferred link after app install or first launch. Returns the click-time route payload if a deterministic match exists.
{
"appID": "app_abc123",
"platform": "ios",
"device": {
"deviceId": "sdk-generated-device-id",
"locale": "en-MY",
"timezone": "Asia/Kuala_Lumpur",
"os": "iOS",
"osVersion": "18.2",
"model": "iPhone"
},
"firstLaunch": true
}{
"processed": true,
"link": {
"type": "deferred",
"url": "https://go.customer.com/raya2026",
"pathname": "/promo/raya2026",
"params": { "campaign": "raya2026" },
"metadata": { "linkId": "link_123" }
}
}/api/v1/sdk/short-link/resolveResolve a single-segment short link URL already received by the SDK into a full route payload.
{
"appID": "app_abc123",
"url": "https://go.customer.com/raya2026"
}{
"ok": true,
"link": {
"type": "verified",
"url": "https://go.customer.com/raya2026",
"pathname": "/promo/raya2026",
"params": { "campaign": "raya2026" },
"metadata": { "linkId": "link_123" }
}
}/api/v1/sdk/analytics/eventsSend custom analytics events. Non-blocking; returns immediately after queue acceptance.
{
"appID": "app_abc123",
"deviceId": "dev_123",
"sessionId": "sess_456",
"eventName": "purchase_completed",
"data": { "bookingId": "104971", "amount": 199.0 },
"linkContext": { "linkId": "link_123" },
"timestamp": "2026-05-07T06:30:00.000Z"
}{ "ok": true }/api/v1/sdk/analytics/retentionSend retention/lifecycle events (e.g., app_open). Same envelope as analytics events with event_kind set to retention.
{
"appID": "app_abc123",
"deviceId": "dev_123",
"eventName": "app_open",
"timestamp": "2026-05-07T06:30:00.000Z"
}{ "ok": true }Association files
/.well-known/apple-app-site-associationReturns the AASA payload for the requesting domain. Generated from enabled iOS App Platforms. No .json extension, no redirects, HTTPS only.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9W4L5453R9.com.yourapp.ios",
"paths": ["/home", "/offers/*", "/booking"]
}
]
}
}/.well-known/assetlinks.jsonReturns the Android asset links payload for the requesting domain. Generated from enabled Android App Platforms.
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.yourapp.android",
"sha256_cert_fingerprints": [
"DB:4F:DF:87:41:80:A4:6B:..."
]
}
}
]Public link routes
/:appHash/:slugDetour-compatible public link route. Resolves tenant, domain, link, and applies fallback policy based on request context.
/:slugBranded simple route. Same resolution as appHash route but addressed by domain + slug only.