## List sequence enrollments

**get** `/v1/sequences/{id}/enrollments`

Returns a paginated list of a sequence’s enrollments, including completed and cancelled ones. Results are sorted by when the contact was enrolled (`enrolledAt`), newest first. Test-run enrollments are not included. Use `offset` and `limit` to paginate through results, and bracketed filters to narrow the list. See <u>[List endpoints](/using-the-api/list-endpoints/)</u> for more information about pagination.

Supported filters: `status[equal]` (ACTIVE, AWAITING_REVIEW, NEEDS_ATTENTION, REPLIED, COMPLETED, PAUSED, CANCELLED, FAILED), `contactId[equal]`, `currentStepId[equal]`, and `enrolledAt`, `lastActivityAt` or `repliedAt` with `[greaterThanOrEqual]` or `[lessThanOrEqual]` (ISO 8601 timestamps with a timezone). Filters are combined with AND.

**[Required scope](/using-the-api/scopes/):** `sequences:read`

**[Rate limit category](/using-the-api/rate-limits/):** Search

### Path Parameters

- `id: string`

  Unique identifier of the sequence.

### Query Parameters

- `limit: optional number`

  Maximum number of records to return. Defaults to 25, maximum 25.

- `offset: optional number`

  Number of records to skip for pagination. Defaults to 0.

### Returns

- `SequenceListEnrollmentsResponse object { data, object, totalCount }`

  - `data: array of object { id, cancelledAt, completedAt, 10 more }`

    - `id: string`

      Unique identifier of the enrollment.

    - `cancelledAt: string`

      When the enrollment was cancelled, or null if it was not.

    - `completedAt: string`

      When the enrollment completed, or null if it has not.

    - `contactId: string`

      ID of the enrolled contact.

    - `currentStepId: string`

      ID of the step the contact is on, matching `definition.steps`; null when the contact has no current step the API returns.

    - `enrolledAt: string`

      When the contact was enrolled.

    - `enrolledBy: string`

      Member ID of whoever enrolled the contact; null when they are no longer a member or the enrollment was automatic.

    - `lastActivityAt: string`

      When `lastActivityKind` happened; null when there has been no activity.

    - `lastActivityKind: "SENT" or "OPENED" or "REPLIED" or 4 more`

      The latest activity on the enrollment. A reply or bounce that ended the enrollment is reported over a later open.

      - `"SENT"`

      - `"OPENED"`

      - `"REPLIED"`

      - `"BOUNCED"`

      - `"INVITED"`

      - `"CONNECTED"`

      - `"SEEN"`

    - `nextSendAt: string`

      Estimated time of the next send, from the cadence, send window, pacing and sender; queue order and random gaps can push it later. Null while a message awaits review or is sending, while paused, or when it cannot be estimated.

    - `remainingSends: number`

      Email and LinkedIn steps not yet sent, connection requests included.

    - `repliedAt: string`

      When the contact first replied, on email or LinkedIn; null if they have not.

    - `status: "ACTIVE" or "AWAITING_REVIEW" or "NEEDS_ATTENTION" or 5 more`

      `ACTIVE` is progressing; `AWAITING_REVIEW` has a message waiting for approval; `NEEDS_ATTENTION` is held by a failed step, a held draft or an unavailable sender; `PAUSED` is stopped because the sequence is deactivated or it was paused in Lightfield. `REPLIED`, `COMPLETED`, `CANCELLED` and `FAILED` are final.

      - `"ACTIVE"`

      - `"AWAITING_REVIEW"`

      - `"NEEDS_ATTENTION"`

      - `"REPLIED"`

      - `"COMPLETED"`

      - `"PAUSED"`

      - `"CANCELLED"`

      - `"FAILED"`

  - `object: "list"`

    - `"list"`

  - `totalCount: number`

### Example

```http
curl https://api.lightfield.app/v1/sequences/$ID/enrollments \
    -H 'Lightfield-Version: 2026-03-01' \
    -H "Authorization: Bearer $API_KEY"
```

#### Response

```json
{
  "data": [
    {
      "id": "id",
      "cancelledAt": "cancelledAt",
      "completedAt": "completedAt",
      "contactId": "contactId",
      "currentStepId": "currentStepId",
      "enrolledAt": "enrolledAt",
      "enrolledBy": "enrolledBy",
      "lastActivityAt": "lastActivityAt",
      "lastActivityKind": "SENT",
      "nextSendAt": "nextSendAt",
      "remainingSends": -9007199254740991,
      "repliedAt": "repliedAt",
      "status": "ACTIVE"
    }
  ],
  "object": "list",
  "totalCount": -9007199254740991
}
```
