Sequences
Move Sequence Enrollments
Release a bounded batch of enrolled contacts from one sequence step onto another
POST
Move Sequence Enrollments
Move Sequence Enrollments
Release a bounded batch of contacts off one sequence step and onto another, keeping their enrollment intact. Use this when you want the next N contacts waiting on a delay to continue early: pace a launch, drain a hold step, or push one wave past a wait without touching the graph. You could approximate this by cancelling the enrollments and re-enrolling them at the target step, but that throws away the enrollment’s entry event properties, its stop-condition entry snapshots, and its original start date, and it is refused outright while the sequence has new enrollment paused. Moving does none of those things. Moved contacts becomeactive on the target step right away, so the sequence emails them as soon as a worker picks them up. Every bulk target defaults to a dry run: pass dryRun: false to actually move them.
Request
string
required
Sequence ID.
string
required
Node ID the contacts are currently sitting on. Read it from
currentNodeId on
list enrollments.string
Node ID to move them onto. Defaults to the source step’s only next step, and
is required when that step branches or is terminal. Cannot be the trigger
node.
number
Maximum enrollments to move in this call. Defaults to
100, maximum 500.string
Which enrollments to take first:
wait_until_asc (default),
wait_until_desc, enrolled_at_asc, or enrolled_at_desc. The default takes
the contacts that have been waiting longest for their next step.array
Optional narrowing filter: only move these subscribers, up to 500.
number
Guardrail. Refuses to move more than this many enrollments onto
targetNodeId
in a rolling 24 hours, counting the moves recorded by earlier calls. The
response reports movedInWindow and dailyRemaining so a paced release can
resume the next day.array
Tag names applied to the moved contacts so the released wave stays
identifiable. The tags must already exist, and this requires the
subscribers:tag scope. Applying them never enrolls contacts in tag_added
sequences.string
Note stored on every moved enrollment and returned as
moveReason by list
enrollments.boolean
When
true (the default), reports which enrollments would move without moving
them. Pass false to apply.Pacing a release
Each call is bounded on purpose, so it is never drained automatically. When the response reportsremainingCount above zero, send the same request again to release the next batch. Combine limit with dailyLimit to spread a large backlog over several days without tracking the running total yourself.
Active enrollments, enrollments a worker is currently mid-step on, and enrollments parked awaiting double opt-in are never moved. Active tokens may still have older queue work, so only safely parked waiting tokens can be repositioned. Excluded enrollments are reported in skippedCount and omitted from matchedCount.
Responses
Move Sequence Enrollments