Skip to content

LocusVia

Technical documentation

API Reference

All SDK endpoints with request and response examples. Authenticate with Authorization: Bearer <apiKey>.

SDK endpoints#

POST/api/v1/sdk/deferred-link/resolve

Resolve a deferred link after app install or first launch. Returns the click-time route payload if a deterministic match exists.

Request
{
  "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
}
Response
{
  "processed": true,
  "link": {
    "type": "deferred",
    "url": "https://go.customer.com/raya2026",
    "pathname": "/promo/raya2026",
    "params": { "campaign": "raya2026" },
    "metadata": { "linkId": "link_123" }
  }
}
POST/api/v1/sdk/short-link/resolve

Resolve a single-segment short link URL already received by the SDK into a full route payload.

Request
{
  "appID": "app_abc123",
  "url": "https://go.customer.com/raya2026"
}
Response
{
  "ok": true,
  "link": {
    "type": "verified",
    "url": "https://go.customer.com/raya2026",
    "pathname": "/promo/raya2026",
    "params": { "campaign": "raya2026" },
    "metadata": { "linkId": "link_123" }
  }
}
POST/api/v1/sdk/analytics/events

Send custom analytics events. Non-blocking; returns immediately after queue acceptance.

Request
{
  "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"
}
Response
{ "ok": true }
POST/api/v1/sdk/analytics/retention

Send retention/lifecycle events (e.g., app_open). Same envelope as analytics events with event_kind set to retention.

Request
{
  "appID": "app_abc123",
  "deviceId": "dev_123",
  "eventName": "app_open",
  "timestamp": "2026-05-07T06:30:00.000Z"
}
Response
{ "ok": true }
POST/api/v1/sdk/referrals/share

Issue a unique, zero-PII referral share URL and code for an in-app participant. Automatically binds to the active program and link.

Request
{
  "appID": "app_abc123",
  "programId": "prog_summer2026"
}
Response
{
  "data": {
    "participantId": "part_a1b2c3d4-e5f6-7890",
    "program": {
      "id": "prog_summer2026",
      "name": "Summer 2026 Referral"
    },
    "share": {
      "code": "ref_8f9e1a2b3c4d5e6f7a8b9c0d",
      "shareUrl": "https://go.customer.com/invite?ref=ref_8f9e1a2b3c4d5e6f7a8b9c0d"
    }
  }
}

Association files#

GET/.well-known/apple-app-site-association

Returns the AASA payload for the requesting domain. Generated from enabled iOS App Platforms. No .json extension, no redirects, HTTPS only.

Response
{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "9W4L5453R9.com.yourapp.ios",
        "paths": ["/home", "/offers/*", "/booking"]
      }
    ]
  }
}
GET/.well-known/assetlinks.json

Returns the Android asset links payload for the requesting domain. Generated from enabled Android App Platforms.

Response
[
  {
    "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:..."
      ]
    }
  }
]

Was this page helpful?