Enroll Leads
Bulk-enroll leads. Leads that can't be enrolled are listed in `skipped` with a reason: `not_found` (missing, deleted or another workspace's), `already_enrolled`, `missing_email` / `missing_phone` / `missing_linkedin_url` (first step's channel), or `contact_denied:<channel>:<reason>` when the consent ledger / suppression list forbids marketing contact (e.g. `contact_denied:email:suppressed:email:opt_out`).
API key access
sequences:write scope with an API key (ro_pat_...). A signed-in session uses the caller's role./api/v1/sequences/{sequence_id}/enrollmentsAccess token from /api/v1/auth/login, or an API key (ro_pat_..., RO-176) from /api/v1/workspaces/current/api-keys: the key implies its workspace and needs the route's scope. MCP connectors (/api/v1/mcp only) may use an OAuth access token (ro_oat_..., RO-284).
In: header
Path Parameters
uuidHeader Parameters
Id of the workspace to act on (must be a member).
1 <= items <= 1000Response Body
curl -X POST "http://localhost:8000/api/v1/sequences/497f6eca-6276-4993-bfeb-53cbbbba6f08/enrollments" \ -H "X-Workspace-Id: string" \ -H "Content-Type: application/json" \ -d '{ "lead_ids": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ] }'{
"enrolled": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sequence_id": "7cd84c09-94f4-486c-9c49-de3b9cf3f74f",
"lead_id": "9bddab70-98e6-43a9-8f32-c9788b9de0c0",
"state": "active",
"current_step": 0,
"next_run_at": "2019-08-24T14:15:22Z",
"last_step_at": "2019-08-24T14:15:22Z",
"stop_reason": "string",
"enrolled_by_id": "35cb1567-1670-45ae-aef9-039b6c19e8e8",
"finished_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"skipped": [
{
"lead_id": "9bddab70-98e6-43a9-8f32-c9788b9de0c0",
"reason": "not_found"
}
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Delete Step
Delete a step; later steps move up. 409 while leads are enrolled.
Get Sequence Mailboxes
The sequence's mailbox rotation pool (RO-271): `mode` `pool` (only `mailbox_ids` start new conversations) or `all` (every mailbox), with each live mailbox of the workspace and whether it sends for this sequence.