Home Developer Reference Link Resolution API

Link Resolution API

Last updated on Apr 04, 2026

Resolution

Note: This page is now folded into the REST Endpoints & OpenAPI doc. Use that reference for live specs, debug behaviors, and examples.

GET /:slug

  • Detects platform from User-Agent and computes destination:
    • iOS: ios_custom_urlios_store_url → deep link (https://host/<deep_link_path>)
    • Android: android_custom_urlandroid_store_url → deep link
    • Desktop: web_fallback_url or app-level web_fallback_url, else /d/:slug
  • If force_redirect_web is true and a web fallback exists, always sends users to web.
  • UTM: when allow_param_passthrough=1, stored utm_* values act as defaults; fields marked with overrides prefer incoming query parameters when present.
  • Crawler UAs: returns an OpenGraph HTML with og:* fields if not in debug mode.
  • Adds cid to custom URL schemes; for Play Store links adds URL-encoded referrer with cid and utm_source.
  • Records click and emits a redirect 302.
  • Override map: link.utm_override stores boolean flags (per utm_* key) indicating which fields should prefer incoming query values when merging.

Debug:

  • GET /:slug+ renders a debug page with computed values (no redirect).

GET /d/:slug

  • Hosted download fallback page with App Store / Play links and QR to the canonical link.

GET /qr/:slug

  • Returns PNG when Accept includes image/png, otherwise SVG.

Campaign chaining example

  1. Create a marketing slug (e.g. fb-easter) with force_redirect_web=1, allow_param_passthrough=1, and a web_fallback_url pointing at https://foo.com/easter. Store baseline UTM values (utm_source=fb, utm_medium=social, utm_campaign=easter).
  2. Place a download button on foo.com/easter that links to a second li-nk.me slug (e.g. download-easter) configured for deferred deep linking to the stores/apps. Leave allow_param_passthrough=1 so it merges the original UTM set with additional landing-specific keys (e.g. utm_medium=web, utm_content=landing).
  3. When a visitor arrives through the campaign slug, they retain the Facebook UTM payload on the landing page. Clicking the download button propagates the original attribution and augments it with the landing metadata for downstream analytics.