---
title: "Pause subscribers in a sequence"
method: POST
path: "/sequences/{sequenceId}/enrollments/pause"
tags: ["Sequences"]
---

# Pause subscribers in a sequence

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

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enrollments/pause`
- Auth: HTTP bearer

Holds specific contacts on the sequence step they are on. A paused enrollment gets no further steps, keeps its entry event properties and stop-condition snapshots, and still counts as enrolled, so the same contact cannot enter this sequence again while paused. Unsubscribes, bounces, and enrollment cancellation still end it. A wait-for-event step does not react while paused; an event that arrived meanwhile is picked up on resume. Applies immediately with no dry run. An enrollment whose current step is running at that moment is left alone with outcome in_progress; repeat the request shortly. To stop new contacts entering the whole sequence instead, use POST /sequences/{sequenceId}/pause-enrollments.

## Path parameters

- `sequenceId` string, required

## Request body

- SequenceEnrollmentPauseRequest: Provide subscriberIds, emails, or both. Up to 500 combined.
  - `subscriberIds` string[]: Subscriber IDs to pause. IDs that match no contact come back in notFound.subscriberIds.
  - `emails` string[]: Subscriber emails to pause, matched case-insensitively. Emails that match no contact come back in notFound.emails.
  - `reason` string: Note stored on each paused enrollment and returned as pauseReason by list enrollments.

## Response `200`

Request applied; each targeted enrollment reports its outcome

- SequenceEnrollmentPauseResponse
  - `success` boolean, required
  - `sequenceId` string, required
  - `enrollments` SequenceEnrollmentPauseItem[], required: Every active, waiting, or paused enrollment of the targeted contacts in this sequence, with its outcome.
    - `enrollmentId` string, required
    - `subscriberId` string, required
    - `subscriberEmail` string, nullable, required
    - `currentNodeId` string, required: Step the enrollment is on. Pausing and resuming never change it.
    - `status` 'active' | 'waiting' | 'paused', required: Status after this request.
    - `waitUntil` string, date-time, nullable, required: When a waiting enrollment next runs its step, or null.
    - `pausedAt` string, date-time, nullable, required: When the current pause began; null unless status is paused.
    - `outcome` 'paused' | 'already_paused' | 'in_progress' | 'resumed' | 'not_paused', required: paused, already_paused, or in_progress (a step was running at that moment; repeat the request shortly) for pause. resumed or not_paused for resume.
  - `notEnrolled` object[], required: Targeted contacts that exist but have no active, waiting, or paused enrollment in this sequence.
    - `subscriberId` string
    - `email` string, nullable
  - `notFound` object, required
    - `subscriberIds` string[]
    - `emails` string[]
  - `message` string, required
  - `pausedCount` integer, required: Enrollments paused by this request.
  - `alreadyPausedCount` integer, required: Enrollments that were already paused and were left as they were.
  - `inProgressCount` integer, required: Enrollments not paused because their current step was running. Repeat the request shortly.

## Other responses

- `400`: Validation error, such as no subscriberIds or emails, or more than 500 combined
- `401`: Unauthorized
- `403`: No company selected or missing the sequences:enroll scope
- `404`: Sequence not found

## Changes

- **2026-10-23** `0cab06a3593a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/sequences/:sequenceId/enrollments/pause/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)
