---
title: "Cancel sequence enrollments"
method: POST
path: "/sequences/{sequenceId}/enrollments/cancel"
tags: ["Sequences"]
---

# Cancel sequence enrollments

`POST /sequences/{sequenceId}/enrollments/cancel`

Cancels active or waiting enrollments in one sequence. Target every enrollment with cancelAll, a batch with subscriberIds, one contact with subscriberId, or matching stored entry event property values with fieldValues. Bulk cancellation is capped at 1000 enrollments per request; repeat the request while remainingCount is above zero.

## Path parameters

- `sequenceId` string, required

## Request body

- SequenceEnrollmentCancelRequest — Provide exactly one target: cancelAll, subscriberId, subscriberIds, or fieldValues.
  - `cancelAll` boolean — Cancel every active or waiting enrollment in the sequence, regardless of how contacts entered it. Use this when segment-triggered enrollments share no entry field value. Defaults to dry run unless dryRun is explicitly false.
  - `subscriberId` string — Subscriber ID to cancel in this sequence.
  - `subscriberIds` string[] — Up to 500 subscriber IDs to cancel in this sequence. IDs that do not resolve are returned in target.notFoundSubscriberIds. Defaults to dry run unless dryRun is explicitly false.
  - `fieldPath` string — Dot-path inside the token's stored entry event properties. If omitted, the sequence enrollmentFieldPath is used.
  - `fieldValues` string[] — Entry field values to match.
  - `dryRun` boolean — When true, returns matching enrollments without cancelling them. cancelAll, subscriberIds, and fieldValues default to dry run unless explicitly false; a single subscriberId cancels immediately.
  - `reason` string — Optional reason stored on cancelled enrollment tokens.

## Response `200`

Enrollment cancellation completed or dry-run matches returned

- SequenceEnrollmentCancelResponse
  - `success` boolean
  - `sequenceId` string
  - `dryRun` boolean
  - `target` object
  - `matchedCount` number — Active or waiting enrollments matching the target when the request started.
  - `cancelledCount` number — Enrollments cancelled by this request. Bulk cancellation is capped at 1000 per request.
  - `remainingCount` number — Enrollments still matching the target after this request. Repeat the same request while this is above zero.
  - `enrollments` object[]
    - `tokenId` string
    - `subscriberId` string
    - `subscriberEmail` string, nullable
    - `status` string
    - `enrollmentKey` string
  - `hasMore` boolean
  - `message` string

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `403` — No company selected
- `404` — Sequence or subscriber not found

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
