List taps

THE CALL, PART BY PART

method

GET

host

strait.link

version

/v1

resource

/taps

GET /v1/taps

Auth: secret key as Authorization: Bearer. Server-side only.

Request

Every tap (one row per person tapping a link), oldest first, as cursor pages: { taps, nextCursor }; pass nextCursor back as cursor until it is null. Each tap carries where it was sent, its channel and campaign, and its first app open and install. The same rows as GET /v1/export?part=taps, for syncing into your own tools. Link-preview bots are not taps. Secret key with read or full access; 30 reads a minute per workspace, shared with GET /v1/events.

Parameters

limit integer query
1–100, default 50
cursor string query
nextCursor from the previous page
from string query
Inclusive start: ISO date (UTC), ISO date-time or epoch ms
to string query
Exclusive end, same formats
link string query
Only this active link's taps (its slug)

Response

  • 200 A page of taps
  • 400 Bad limit, cursor, from / to or link
  • 401 Missing or invalid secret key, or a publishable key
  • 403 The key is limited to links
  • 404 No active link with that slug
  • 429 Over 30 reads a minute for this workspace (Retry-After)
Request · curl
curl -X GET https://strait.link/v1/taps \
  -H "Authorization: Bearer $SECRET_KEY"

The response, printed

Response 200
{
  "taps": [
    {
      "clickId": "9a1c7e52-4b3d-4f8e-a1c2-7d6e5f4a3b21",
      "clickedAt": "2026-10-01T10:00:00.000Z",
      "linkId": "lnk_5f0c2a8e-3b1d-4f6a-9c7e-2d8b1a0e4f63",
      "slug": "summer",
      "source": "web",
      "platform": "android",
      "deviceClass": "phone",
      "osMajor": 15,
      "inAppBrowser": null,
      "channel": "whatsapp",
      "sentTo": "app_or_store",
      "campaign": "diwali",
      "variant": null,
      "billable": true,
      "opens": 1,
      "openedAt": "2026-10-01T10:00:04.000Z",
      "openKind": "direct",
      "openRoute": "app_link",
      "appState": "closed",
      "isNewUser": false,
      "installedAt": null,
      "installMatched": null,
      "matchMethod": null
    }
  ],
  "nextCursor": "WyIyMDI2LTEwLTAxVDEwOjAwOjAwLjAwMDAwMCswMDowMCIsIjlhMWM3ZTUyIl0"
}