> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Sequence Enrollments

> List the individual contacts currently enrolled in a sequence

# List Sequence Enrollments

List the contacts enrolled in one sequence, with the node each one is currently sitting on. Use this when [sequence stats](/api-reference/sequences/stats) gives you `enrollmentCounts` and you need the actual subscribers behind a number - for example, everyone waiting at one step.

By default the response includes only `active` and `waiting` enrollments, which is every contact still moving through the sequence.

## Request

<ParamField path="sequenceId" type="string" required>
  Sequence ID.
</ParamField>

<ParamField query="status" type="string">
  Comma-separated enrollment statuses to include: `active`, `waiting`,
  `completed`, `failed`, or `cancelled`. Defaults to `active,waiting`.
</ParamField>

<ParamField query="currentNodeId" type="string">
  Comma-separated sequence node IDs. Only enrollments currently sitting on one
  of these nodes are returned. Node IDs come from
  [Get Sequence](/api-reference/sequences/get) or from
  `enrollmentCounts.byCurrentNode` in
  [sequence stats](/api-reference/sequences/stats).
</ParamField>

<ParamField query="subscriberId" type="string">
  Comma-separated subscriber IDs. Use this to check where specific contacts
  stand.
</ParamField>

<ParamField query="email" type="string">
  Exact email address to match, case-insensitive.
</ParamField>

<ParamField query="sort" type="string">
  Result order: `enrolled_at_desc` (default), `enrolled_at_asc`,
  `wait_until_asc`, or `wait_until_desc`. Use `wait_until_asc` to see which
  contacts resume next; enrollments with no scheduled resume sort last.
</ParamField>

<ParamField query="limit" type="number">
  Enrollments per page, 1-500. Defaults to 50. Values above 500 are capped.
</ParamField>

<ParamField query="offset" type="number">
  Number of enrollments to skip. Page until `pagination.hasMore` is `false`.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/sequences/seq_abc123/enrollments?currentNodeId=node_wave_1&status=waiting&sort=wait_until_asc&limit=500" \
  -H "Authorization: Bearer seq_live_xxx"
```

## Exporting the full list

Page with `limit` and `offset` until `pagination.hasMore` is `false`. The CLI does this loop for you and writes a CSV:

```bash theme={null}
sequenzy sequences enrollments seq_abc123 --node-id node_wave_1 --all --csv enrollments.csv
```

## Response fields

Each enrollment is one run through the sequence, identified by `enrollmentId`.

* `waitUntil` is when a waiting enrollment is scheduled to resume, or `null` when nothing is scheduled.
* `lastUpdatedAt` is the last change to the enrollment. For a waiting enrollment this is when it arrived at its current node; the platform does not separately track node entry time.
* `currentNodeMissing` is `true` when the node an enrollment sits on has been deleted from the sequence graph. `currentNodeType` and `currentNodeLabel` are omitted in that case.
* `email` falls back to the address captured at enrollment when the subscriber record no longer exists.

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "sequenceId": "seq_abc123",
    "sequenceName": "Onboarding",
    "statuses": ["waiting"],
    "enrollments": [
      {
        "enrollmentId": "tok_abc123",
        "sequenceId": "seq_abc123",
        "subscriberId": "sub_abc123",
        "email": "customer@example.com",
        "firstName": "Wanda",
        "lastName": "Waiter",
        "subscriberStatus": "active",
        "status": "waiting",
        "currentNodeId": "node_wave_1",
        "currentNodeType": "logic_delay",
        "currentNodeLabel": "Start at Wave 1",
        "currentNodeMissing": false,
        "enrollmentKey": "__default__",
        "enrollmentStartedAt": "2026-01-01T00:00:00.000Z",
        "waitUntil": "2026-01-04T00:00:00.000Z",
        "lastUpdatedAt": "2026-01-01T00:00:00.000Z"
      }
    ],
    "pagination": {
      "limit": 500,
      "offset": 0,
      "count": 1,
      "total": 1,
      "hasMore": false
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "Invalid status filter `paused`. Valid values: active, waiting, completed, failed, cancelled"
  }
  ```

  ```json 401 theme={null}
  {
    "error": "Invalid API key"
  }
  ```

  ```json 403 theme={null}
  {
    "error": "No companies found. Create a company first using the create_company tool."
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Sequence not found"
  }
  ```
</ResponseExample>
