Skip to content

Documentation

Quickstart

Go from domain to production-ready mobile route in five minutes.

Prerequisites

You need three things before creating your first link:

  • A domain pointed at LocusVia (or a managed subdomain like go.yourapp.com)
  • An app record with at least one platform (iOS or Android)
  • An SDK API key scoped to the target environment
Use separate keys and app identities for staging and production. Environment isolation is enforced server-side.

Step-by-step

This order matches the Getting started checklist on your dashboard Overview.

  1. 1

    Connect your domain

    In the control plane, navigate to Domains and add your hostname. LocusVia will provision TLS and begin serving association files immediately. For managed subdomains, DNS is handled automatically.

  2. 2

    Register your app

    Add an App, then attach platform identities:

    • iOS: Team ID + Bundle ID
    • Android: Package name + SHA-256 signing fingerprint
  3. 3

    Publish app associations

    Attach your platform identities to the domain. LocusVia generates the Apple App Site Association and Android Asset Links files and serves them at the well-known paths.

  4. 4

    Configure fallbacks

    Create a fallback policy with web, App Store, and Play Store destinations so users without the app always land somewhere useful.

  5. 5

    Create a link

    bash
    curl -X POST https://go.yourapp.com/api/v1/admin/links \
      -H "Authorization: Bearer $LOCUSVIA_ADMIN_SESSION" \
      -H "Content-Type: application/json" \
      -d '{
        "slug": "summer",
        "targets": [
          { "platform": "ios", "pathname": "/offers/summer" },
          { "platform": "android", "pathname": "/offers/summer" },
          { "platform": "web", "url": "https://yourapp.com/summer" }
        ]
      }'
  6. 6

    Issue an SDK key

    Create an SDK API key under SDK Access. Assign scopes for the actions your app needs (resolve, analytics). The key is shown once — store it securely.

  7. 7

    Resolve from the SDK

    typescript
    const response = await fetch(
      "https://go.yourapp.com/api/v1/sdk/short-link/resolve",
      {
        method: "POST",
        headers: {
          Authorization: "Bearer pk_live_xxx",
          "Content-Type": "application/json",
        },
        body: JSON.stringify({
          appID: "app_abc123",
          url: "https://go.yourapp.com/summer",
        }),
      },
    );
    
    const { link } = await response.json();
    // link.pathname -> "/offers/summer"

Verify on device

Association files prove configuration. Always finish with a signed-device Universal Link and App Link test before shipping to production.

On iOS, verify the Associated Domains entitlement matches your domain. On Android, run adb shell pm verify-app-links --re-verify com.yourapp and confirm the verified state.