> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Live Activity Tokens

> See which devices can start a Live Activity and which activities are running

Lists the ActivityKit tokens your iOS app reported through the Sequenzy SDK, plus a summary per activity type. Tokens are masked. Requires the `subscribers:read` scope.

* `push_to_start` tokens (iOS 17.2+) let you [start](./start-live-activity) an activity of their type on that device.
* `update` tokens belong to one running activity and are what [update](./update-live-activity) and [end](./end-live-activity) send to.

## Query

**email** `string`

Only this contact's tokens.

**subscriberId** `string`

Only this subscriber's tokens.

**activityType** `string`

The Swift `ActivityAttributes` type name, such as `DeliveryAttributes`.

**activityId** `string`

One activity's update tokens.

**kind** `string`

`push_to_start` or `update`.

**status** `string`

`active`, `ended`, or `invalid`.

**limit** `integer` (default: 50)

Page size, 1 to 100.

**cursor** `string`

`nextCursor` from the previous page.

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/push/live-activities?email=jane@example.com" \
  --header "Authorization: Bearer $SEQUENZY_API_KEY"
```

## Response

**summary** `object`

Active tokens only, for the contact when you pass `email` or
`subscriberId`: `pushToStartDevices`, `activeActivities`, and
`activityTypes` with the same counts per type. A device that can start
several types counts once, and several devices running one activity count
as one activity.

**tokens** `object[]`

`id`, `kind`, `status`, `activityType`, `activityId` (null for push-to-start),
`subscriberId`, `deviceId`, `invalidReason`, `lastPushOutcome`,
`lastPushError`, `lastPushAt`, `endedAt`, `tokenPreview`, `lastSeenAt` and
`createdAt`. A token becomes `invalid` when APNs rejects it, when a newer
push-to-start token replaces it (`replaced`), or when the app signs out
(`unregistered`).

**nextCursor** `string | null`

Pass as `cursor` for the next page; `null` on the last page.

```json 200 theme={null}
{
  "success": true,
  "summary": {
    "pushToStartDevices": 1,
    "activeActivities": 1,
    "activityTypes": [
      { "activityType": "DeliveryAttributes", "pushToStartDevices": 1, "activeActivities": 1 }
    ]
  },
  "tokens": [
    {
      "id": "lat_2",
      "kind": "update",
      "status": "active",
      "activityType": "DeliveryAttributes",
      "activityId": "order-1234",
      "subscriberId": "sub_123",
      "deviceId": "dev_123",
      "invalidReason": null,
      "lastPushOutcome": "accepted",
      "lastPushError": null,
      "lastPushAt": "2026-10-20T14:05:00.000Z",
      "endedAt": null,
      "tokenPreview": "…9f3a2b1c",
      "lastSeenAt": "2026-10-20T14:00:00.000Z",
      "createdAt": "2026-10-20T14:00:00.000Z"
    }
  ],
  "nextCursor": null
}
```

```json 401 theme={null}
{
  "error": "Invalid API key"
}
```

```json 403 theme={null}
{
  "error": "API key is missing required scope: subscribers:read"
}
```

```json 404 theme={null}
{
  "error": "Subscriber not found."
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.