---
title: "Sync a sequence's enrolments now"
method: POST
path: "/sequences/{sequence_id}/sync/"
tags: ["sequences"]
---

# Sync a sequence's enrolments now

`POST /sequences/{sequence_id}/sync/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/sequences/{sequence_id}/sync/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Run the audience diff now and report what changed.

Enrolment is event-driven: a table announces rows arriving, finishing or being deleted, and live audiences react to it. Nothing polls, and the dashboard offers no button for this. It survives as the recovery path (an audience bound while the sequence was paused, or one that missed an announcement) and for callers driving a sequence over the API.

## Path parameters

- `sequence_id` string, uuid, required

## Query parameters

- `expected_table_id` string, uuid, nullable
- `continuous_only` boolean

## Response `200`

Successful Response

- SyncSequenceResponseSchema: The manual "Sync now" result: what just happened, and when it happened.
  - `enrolled` integer, required: Contacts newly enrolled by this sync run.
  - `last_synced_at` string, date-time, nullable, required: When the diff completed. None if the sequence has no audience yet.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
