Talent Pool Sequences
Use /v1/sequences for candidate nurture tied to a talent pool. Use the Outreach guide for the Outreach campaign builder. The old /v1/email-sequence controller does not provide these operations.
Create a sequence
Use a live talent pool in the caller’s organization. The authenticated caller is the default sender; enrollment validates the sender’s connected account.
POST /v1/sequences
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Senior engineering pool follow-up",
"talentPoolId": "<existing-pool-id>",
"autoEnroll": false,
"steps": [
{
"channel": "email",
"subject": "An update on engineering roles",
"body": "We have new roles to discuss. Would you like an update?",
"delayDays": 0
}
]
}
Provide 1 to 10 ordered steps. The supported channel values are email, linkedin_message, linkedin_connect and linkedin_engage; required message content differs by channel. Use the current API schema for those requirements. A template snapshots its content at authoring time.
A zero-day delay makes a step eligible; sending still depends on the sequence’s active state, sending window, timezone, minimum spacing and account limits. Review the returned sequence before enrolling people. autoEnroll: true can enroll new pool members while the sequence is active.
Enroll or remove candidates
POST /v1/sequences/<sequence-id>/enroll
Authorization: Bearer <token>
Content-Type: application/json
{ "candidateIds": ["<candidate-id>"] }
Omitting candidateIds enrolls the pool’s live members. An explicit list accepts 1 to 500 candidate IDs. There is no arbitrary variables object in this enrollment contract.
POST /v1/sequences/<sequence-id>/unenroll
Authorization: Bearer <token>
Content-Type: application/json
{ "candidateIds": ["<candidate-id>"] }
Unenrollment requires the candidate ID list. Review detected replies and the enrollment state; provider synchronization must remain healthy for reply handling.
Inspect and edit
GET /v1/sequenceslists sequence summaries.GET /v1/sequences/<sequence-id>returns authoring details, including steps and active enrollment count.GET /v1/sequences/<sequence-id>/reportreturns delivery results.GET /v1/sequences/<sequence-id>/enrollmentsreturns enrollments.PATCH /v1/sequences/<sequence-id>changes supported settings. For example,{"isActive": false}pauses the sequence.
Step replacement is rejected while active enrollments exist. A report is a delivery view, not the authoring payload for editing a sequence. These examples use placeholder IDs and must be adapted to an isolated workspace before execution.