Sequences
Move sequence enrollments
Releases a bounded batch of contacts off one sequence step and onto another, keeping their existing enrollment, entry event properties, and stop-condition snapshots. Moved contacts become active on the target step immediately. Defaults to a dry run; each call is capped at 500 and is never drained automatically, so repeat the request while remainingCount is above zero. Works while new enrollment is paused, because the contacts are already enrolled.
post/sequences/{sequenceId}/enrollments/move
Path parameters
sequenceIdstring required
Sequence ID
Request body
Example request
{
"fromNodeId": "node_delay_2",
"targetNodeId": "node_email_3",
"limit": 180,
"sort": "wait_until_asc",
"subscriberIds": [
"sub_abc123",
"sub_def456"
],
"dailyLimit": 500,
"tags": [
"wave-3-released"
],
"reason": "Wave 3"
}Response
Enrollments moved, or dry-run matches returned
Example response
{
"success": true,
"sequenceId": "seq_abc123",
"fromNodeId": "node_delay_2",
"targetNodeId": "node_email_3",
"sort": "wait_until_asc",
"requestedLimit": 180,
"effectiveLimit": 180,
"matchedCount": 4320,
"movedCount": 180,
"remainingCount": 4140,
"dailyLimit": 500,
"dailyRemaining": 320,
"enqueuedCount": 180,
"enqueueErrors": [
{
"tokenId": "tok_abc123",
"error": "Redis connection lost"
}
],
"enrollments": [
{
"tokenId": "tok_abc123",
"subscriberId": "sub_abc123",
"subscriberEmail": "customer@example.com",
"status": "waiting",
"enrollmentKey": "__default__"
}
],
"hasMore": true,
"message": "Moved 180 enrollments. 4140 still wait on the source step; repeat this request to release more."
}