---
title: "List sequences"
method: GET
path: "/sequences"
tags: ["Sequences"]
---

# List sequences

`GET /sequences`

Returns filtered, paginated automation sequences for the authenticated company.

## Query parameters

- `status` 'draft' | 'active' | 'paused' | 'archived' — Stored lifecycle status. Do not read literally: a sequence can be active while enrollmentPaused blocks new subscribers. Branch on effectiveStatus instead.
- `search` string
- `labels` string
- `limit` integer
- `offset` integer

## Response `200`

Sequences retrieved successfully

- object
  - `success` boolean
  - `sequences` SequenceSummary[]
    - `id` string
    - `name` string
    - `description` string, nullable
    - `userCancellable` boolean
    - `labels` string[]
    - `labelIds` string[]
    - `status` 'draft' | 'active' | 'paused' | 'archived' — Stored lifecycle status. Do not read literally: a sequence can be active while enrollmentPaused blocks new subscribers. Branch on effectiveStatus instead.
    - `enrollmentPaused` boolean — Whether new enrollments are paused while current recipients continue.
    - `effectiveStatus` 'draft' | 'live' | 'enrollment_paused' | 'paused' | 'archived' — Resolved run state, and the single field to branch on. live accepts new subscribers and advances existing recipients; enrollment_paused advances existing recipients only; draft, paused, and archived do neither.
    - `acceptsNewEnrollments` boolean — Whether new subscribers can enter the sequence right now.
    - `processesExistingEnrollments` boolean — Whether subscribers already inside the sequence keep advancing and receiving steps.
    - `effectiveStatusSummary` string — One plain-language sentence describing the run state, safe to show a user verbatim.
    - `pauseReason` string, nullable
    - `pauseSource` string, nullable
    - `pausedByUserId` string, nullable
    - `pausedByUser` object, nullable
      - `id` string
      - `name` string
      - `email` string, email
    - `pausedAt` string, date-time, nullable
    - `trigger` string, nullable
    - `triggerConfig` object, nullable
    - `sendingWindow` SequenceSendingWindow — Optional local-time sending window applied to every email step in a sequence. Email steps that become due outside the window wait until the next allowed local time.
      - `enabled` boolean
      - `timezone` string — IANA timezone for the window.
      - `startTime` string — Earliest local send time in 24-hour HH:mm format.
      - `endTime` string — Latest local send cutoff in 24-hour HH:mm format. Must be later than startTime.
      - `days` string[] — Allowed local days. Omit days when creating or updating to allow every day.
    - `bccEmails` string[], nullable — Email addresses blind-copied on every email this sequence sends.
    - `senderProfileId` string, nullable
    - `fromName` string, nullable
    - `fromEmail` string, email, nullable
    - `replyProfileId` string, nullable
    - `replyToName` string, nullable
    - `replyToEmail` string, email, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `pagination` object
    - `limit` integer, nullable — Applied page size, or null when the unpaginated default returned every sequence.
    - `offset` integer
    - `count` integer
    - `total` integer
    - `hasMore` boolean

## Other responses

- `401` — Unauthorized
- `403` — No company selected

---

[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)
