Skip to main content

Exit leads from sequences

Exit selected leads from active sequences, optionally limiting the target sequence set.

POST/api/leads/bulk-exit-sequences
HTTP referenceScope leads:read + leads:write + sequences:read + sequences:runUpdated October 15, 2026

This page documents the canonical HTTP contract for this endpoint.

The route accepts either a top-level ID array or shared bulk selection fields: lead_ids/selection, scope, source_table_id, source_table_scope, process_limit (1–10,000), and skip_previously_attempted. It applies local exit effects within the authenticated organization and durably admits provider pause work; response counts do not prove that the external provider pause has completed. leadStatus defaults to nurture and must be a valid Lead status; sequenceIds and bouncedEmails restrict/apply sequence effects. unqualifiedReason is recorded only for unqualified status. Set dryRun true to preview matched effects without applying them (default false). A selection matching no leads returns 404.

Body parameters

  • lead_ids · optional

    array<string>

    Explicit Lead IDs; use this or selection.

  • selection · optional

    object

    BulkSelectionModel: {mode: "ids", ids: [...]} or {mode: "descriptor", descriptor: {root: <FilterNode>}}. Descriptor root is a rule or group with kind, field/operator/value or logic/children.

  • scope · optional

    string

    Lead scope.

  • source_table_id · optional

    string

    Research table context.

  • source_table_scope · optional

    string

    Research table scope.

  • process_limit · optional

    integer

    Optional cap, 1-10,000.

  • sequenceIds · optional

    array<string>

    Optional sequence IDs to exit.

  • leadStatus · optional

    string

    Optional lead status to apply.

  • unqualifiedReason · optional

    string

    Optional unqualified reason.

  • bouncedEmails · optional

    array<string>

    Optional bounced email addresses.

  • dryRun · optional

    boolean

    Preview effects without applying them; default false.

  • skip_previously_attempted · optional

    boolean

    Accepted by the shared request adapter; not used by sequence exit.

Errors

StatusMeaning
400Provide a valid lead selection.
401Invalid API key or missing auth.
403Missing leads:read, leads:write, sequences:read, or sequences:run scope.

Docs