sequences

Stop, pause, resume, retry or send now for many contacts

The Audience tab's bulk actions, over the contacts a person ticked: listed ids, or scope='all' for every contact the given filters match, less any excluded_ids. Each contact is judged on its own and one the action cannot apply to is skipped rather than failing the batch, because a selection is rarely uniform: 'changed' reports how many actually took it. 'resume' covers both waking a paused contact and undoing a reply stop; neither ever restarts a contact at step 1, and either finishes a wait the contact was in. 'send_now' makes a waiting contact's next step due now instead of when its wait ends; pacing, the daily cap and approvals still apply.

post/sequences/{sequence_id}/contacts/bulk-journey/

Request

  • Base URL: https://api.getoneprofile.ai (the document declares no server; this is the origin it was published from)
  • URL: https://api.getoneprofile.ai/sequences/{sequence_id}/contacts/bulk-journey/
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Path parameters

sequence_idstring uuid required

Request body

action'stop' | 'pause' | 'resume' | 'retry' | 'send_now' required
created_fromstring date-time nullable

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_tostring date-time nullable
enrolment_idsstring[]
excludeboolean

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

excluded_idsstring[]

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

group'in_progress' | 'needs_approval' | 'paused' | 'done' | 'blocked'

The Audience tab's tab a contact sits under; every contact is under one.

The tabs used to be counts that overlapped (a bounced contact was both "reachable" and "blocked", so the counts added up past the roster) and opened a list of names over the roster they repeated (Natsuki, 2026-10-02). They partition the roster now and filter it in place, so a tab's count is exactly the rows it shows, and each row's own status chip names the state that put it there.

Derived at read time from the status, the stop reason, the contact's current-step task and whether an address reaches them, never stored.

scope'ids' | 'all'
searchstring nullable
sort'created_desc' | 'created_asc' | 'status' | 'status_desc' | 'next_due'

The orders the Audience tab can list a sequence's contacts in.

statusesEnrolmentStatus[] nullable
stop_reasonsStopReason[] nullable

Response

Successful Response

changedinteger required

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

in_other_sequenceinteger

Of the skipped, the failed contacts a retry left failed because another live sequence has taken them since. They stay on the step that broke, for a retry once that sequence is done with them.

Changes

No recorded changes to this operation across all 1 revision of this API.