Skip to main content
POST
Stop, pause, resume, retry or send now for many contacts

Authorizations

X-API-Key
string
header
required

Path Parameters

sequence_id
string<uuid>
required

Body

application/json

One journey action applied to a selection of contacts.

The selection is exactly what the person ticked: some rows, or the header checkbox, which is every contact the filter matches less any unticked since. A scope='ids' request still has to name at least one contact.

action
enum<string>
required
Available options:
stop,
pause,
resume,
retry,
send_now
created_from
string<date-time> | null

Only remove contacts added on or after this instant. The grid's date range, which a scope='all' removal has to honour or it reaches past what the person was looking at.

created_to
string<date-time> | null
enrolment_ids
string<uuid>[]
Maximum array length: 1000
exclude
boolean
default:false

Read 'statuses' and 'stop_reasons' as 'everything but', matching the Contacts tab's one Include/Exclude toggle.

excluded_ids
string<uuid>[]

With scope='all', contacts to leave out: the rows unticked after ticking the header checkbox.

Maximum array length: 1000
scope
enum<string>
default:ids
Available options:
ids,
all
search
string | null
Maximum string length: 255
statuses
enum<string>[] | null

Where one contact stands in one sequence.

ACTIVE rows carry a due_at and are what the tick claims; CLAIMED is the in-flight guard between claim and outcome. PAUSED (SEQ-30) is a deliberate per-contact hold: unclaimable because the tick claims strictly on ACTIVE, yet still LIVE — it keeps its step and its one-live-sequence slot, and a compliance stop (reply, unsubscribe) reaches it. Everything else is settled: COMPLETED walked off the end; STOPPED was halted (reply, unsubscribe, bounce, manual, company pause); FAILED is terminal per the phase-1 ruling; SUPPRESSED was on the do-not-contact list; SKIPPED_DUPLICATE lost the one-live-sequence-per-contact rule, with the reason visible in the grid.

A contact the workspace's recontact rule refuses is STOPPED with StopReason.COOLDOWN. There is deliberately no held state: a cooldown settles a contact rather than parking them, so nothing here waits on a date and nothing lets itself out later.

AWAITING_ACTION (F-25) is a contact parked behind a task that needs a person or a channel, modelled on PAUSED: live, keeps its step and its one-live-sequence slot, unclaimable because the tick claims strictly on ACTIVE, and a compliance stop reaches it. Unlike PAUSED nobody wakes it by hand — only the outreach-task sweep does, once the task it waits on is decided or delivered. Deliberately not "awaiting approval": an AUTO-mode LinkedIn park is waiting for a browser rather than for anyone's approval, and this value is the word the Contacts tab shows for both.

Available options:
active,
claimed,
paused,
awaiting_action,
completed,
stopped,
failed,
suppressed,
skipped_duplicate
stop_reasons
enum<string>[] | null
Available options:
reply,
unsubscribe,
bounce,
manual,
company_reply,
row_left_audience,
step_removed,
removed,
cooldown,
rejected

Response

Successful Response

changed
integer
required

How many contacts actually took the action. A selection is rarely uniform, so rows the action cannot apply to are skipped, not failed.