GET /api/v1/sequences/{sequenceId}/enrollments
Each enrolment answers three questions:
| Field | What it tells you |
|---|---|
contactId | Who is walking. Read the contact itself through the Audience API |
currentNodeId | Where they stand — a node of versionId, with nextStepDueAt as their next due date |
versionId | Which version they are pinned to. A contact finishes the journey it entered, whatever you publish afterwards |
status is in_progress, completed or stopped, and the list returns all three. A
contact that reached the end is not gone: it is completed, and it still counts against the
sequence's history. Reading only what is in flight would show a list that empties itself.
This endpoint reads. There is no way to enrol a contact through it, and no
PATCH to move
someone to another node — enrolment happens through the trigger, and progress belongs to the
engine.Authorization
| Role in the organization | This endpoint |
|---|---|
OWNER | Allowed |
ADMIN | Allowed |
MEMBER | Allowed |
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | number | Defaults to 1 |
limit | number | Defaults to 20, capped at 100 |
Example
bash
curl -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/sequences/$SEQUENCE_ID/enrollments?page=1&limit=50"Response
200 OK— the call succeeded.401 Unauthorized— missing or invalid key, or its owner left the organization.404 Not Found— no such resource, or it belongs to another organization. The API never confirms that an id exists to a caller who has no right to it.429 Too Many Requests— over 120 requests in a minute for this key.
Response fields
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates if the operation was successful |
data[].id | string | Identifier of the enrollment |
data[].contactId | string | Who is walking — read the contact through the Audience API |
data[].status | string | in_progress, completed or stopped |
data[].currentNodeId | string | null |
data[].enrolledAt | string | ISO date they entered |
data[].completedAt | string | null |
pagination | object | {total, page, limit, totalPages} |
Example response
json
{
"success": true,
"data": [
{
"id": "4d19c0a2",
"contactId": "4d19c0a2",
"status": "subscribed",
"currentNodeId": "d77b0913",
"enrolledAt": "2026-08-23T10:22:05.000Z",
"completedAt": "2026-08-23T10:22:05.000Z"
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}
}