---
title: "Start a Live Activity"
method: POST
path: "/push/live-activities/start"
tags: ["Push"]
---

# Start a Live Activity

`POST /push/live-activities/start`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/push/live-activities/start`
- Auth: HTTP bearer

Starts an iOS Live Activity remotely (push-to-start, iOS 17.2+) on every device of one contact that reported a push-to-start token for activityType. Sequenzy adds sequenzy.activityId to the attributes so the SDK can report the new activity's update token under your id. Returns 202 with tokenCount 0, sending nothing, when no device can start it. Calling it again starts another copy. Requires the transactional:send scope.

## Request body

- object
  - `email` string: Contact whose devices start the activity. Provide email or subscriberId.
  - `subscriberId` string
  - `activityType` string, required: The Swift ActivityAttributes type name, sent to APNs as attributes-type.
  - `activityId` string, required: Your id for the activity, chosen when it starts.
  - `attributes` object: Static attributes as JSON. A sequenzy key you send is replaced.
  - `contentState` object, required: Your Swift ContentState as JSON. Date fields decode as seconds since 2001-01-01 unless your struct decodes them differently.
  - `alert` LiveActivityAlert, required: Alert shown with the push. Provide a title, a body, or both.
    - `title` string
    - `body` string
    - `sound` string: Sound name, such as `default`. Omit for a silent alert.
  - `staleDate` union: Unix seconds, or an ISO 8601 date. A string of digits is read as Unix seconds.
    - integer
    - string
  - `relevanceScore` number: Orders a person's concurrent activities; higher shows first.

## Response `202`

Queued (or nothing to send when tokenCount is 0)

- LiveActivityDispatch
  - `success` boolean
  - `event` 'start' | 'update' | 'end'
  - `activityId` string
  - `tokenCount` integer: Devices the push was queued for. 0 means nothing was sent.
  - `jobIds` string[]: Queued delivery jobs, one per batch of 100 devices.
  - `message` string

## Other responses

- `400`: Missing contact, invalid ids or dates, APNs not configured, payload over 4 KB, or more than 1000 matching devices
- `401`: Unauthorized
- `403`: Missing transactional:send scope
- `404`: Contact not found
- `422`: Malformed body (a required field missing or of the wrong type)
- `500`: Server error

## Changes

- **2026-10-21** `62f1bc53cfd2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/push/live-activities/start/post.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) - [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequenzy/apis/sequenzy-api/revisions/8156dc12d8b4?raw)
