Skip to main content
POST
Cancel a run
Stops a run for good.

Terminal, unlike pause

Cancel closes out the run’s un-dialled conversations and there is no way back — no resume, and attaching a contact to a cancelled run is a 422. If you want to stop temporarily, pause instead. A call that is already connected is left to finish. Its retry is refused rather than rescheduled, so the run stops growing without cutting somebody off mid-sentence.
affectedCalls is how many un-dialled calls were closed out.

What survives

The conversations the run already produced. They are separate resources: their transcripts, recordings and analysis stay readable at /conversations/{id}, with runId still populated. Cancelling stops future calls; it does not erase the ones that happened.

Cancel before you delete

A run must be inert before it can be deleted, and cancel is what makes an active run inert. See Delete Run.

Error Scenarios

  • 404 Not Found: the run does not exist, or belongs to another company
  • 422 Unprocessable Entity: the run is already cancelled or completed
  • 403 Forbidden: the API key does not hold write:runs

Pause Run

Stop reversibly instead

Delete Run

Remove it once it is inert

Authorizations

Authorization
string
header
required

API key for authentication using Bearer scheme

Path Parameters

id
string<uuid>
required

Query Parameters

companyId
string

Required for ATS API keys to specify which company to access. Ignored for standard company API keys.

Response

Transition applied

status
enum<string>
required

The run's status after the transition

Available options:
DRAFT,
SCHEDULED,
RUNNING,
PAUSED,
COMPLETED,
CANCELLED
Example:

"RUNNING"

affectedCalls
number
required

How many of the run's calls this request moved: queued by a launch, withdrawn by a pause, restored by a resume, closed out by a cancel. Not calls placed - a 2xx means queued, not dialled.

Example:

42