v1
latestOpenAPI 3.1.02026-07-267154122.0 KBStop 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 columns to stop the whole table; a full-table stop also cancels active lead-source jobs.
- Pass columns (an array of column slugs from GET /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: true reports how much is active right now ({ dryRun, tableId, activeCells, activeLeadSourceJobs }) with zero writes — the "what's running?" probe. activeCells respects the columns scope; activeLeadSourceJobs is 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).
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).
Request body
Response
{ tableId, cancelledCells, cancelledLeadSourceJobs } — or the dryRun report.