Stop active cell work for a table (the API "stop" button)
Cancel every active (waiting / queued / running) cell_run for the
table — the API equivalent of the in-app “stop” button. Running cells
finish their in-flight execution but skip further work once they observe
the cancelled status; sent history is never touched.
- Omit
columnsto stop the whole table; a full-table stop also cancels active lead-source jobs. - Pass
columns(an array of column slugs fromGET /tables/{tableId}/columns→columns[].slug) to scope the stop to those columns only. A column scope deliberately leaves lead-source jobs running (they are table-wide, not per-column). An unknown slug →UNKNOWN_COLUMN; an empty array →VALIDATION_ERROR. dryRun: truereports how much is active right now ({ dryRun, tableId, activeCells, activeLeadSourceJobs }) with zero writes — the “what’s running?” probe.activeCellsrespects thecolumnsscope;activeLeadSourceJobsis always the table-wide count (lead-source jobs aren’t per-column), so a scoped dry-run still tells you the truth about table activity.
This stops enrichment/score/sequence-drafting cell runs. To halt an
already-launched outreach use POST /sequences/{sequenceId}/stop (one
recipient) or POST /campaigns/{campaignId}/pause (the whole
campaign).
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Transport-level replay protection — any v2 POST may send it
(1–255 printable ASCII characters; UUIDs recommended). The first
response for a key is recorded and replayed verbatim for retries
with the same key + method/path/body for 24 hours; replayed
responses carry the Idempotency-Replay: true response header.
Reusing a key with a different request — or retrying while the
original is still in flight — returns 409 IDEMPOTENCY_ERROR.
5xx responses are never recorded (the retry re-executes).
1 - 255^[\x21-\x7e]{1,255}$Path Parameters
Body
Response
{ tableId, cancelledCells, cancelledLeadSourceJobs } — or the dryRun report.