run_id, or a group of runs by a shared cancellation token. Courier cancels only active runs. Canceling is idempotent, so a run that has already finished or errored is left untouched.
To cancel from your own code, call the cancel endpoint with either key. See for the request and its response statuses.
Cancel a group with a cancellation token
A cancellation token is an addressing key you attach to runs. Cancel a whole set by a business identifier, without tracking individual run IDs. How you build the token decides what it covers:order-{{data.order_id}}cancels the runs for one orderuser-{{profile.id}}cancels every run for a user, even across different journeysblack-friday-2026cancels an entire campaign
{{data.…}}, {{profile.…}}, or {{recipient}}. Use a dynamic value so the token maps to the runs you mean, not every run of the journey.
A token that references a missing variable is dropped, not rejected. The run is created without one, so it is uncancelable by token while still looking correctly configured. Cancel it by run ID instead.
Once runs are tagged, cancel the token two ways:
- From your code: . The field is
cancelation_token, spelled with one L. - From a Cancel node: add a Cancel node and set its Cancelation Token. When a run reaches the node, Courier cancels every active run sharing that token. This is how one path cancels another: an “invoice paid” branch routes to a Cancel node set to
invoice-{{data.invoice_id}}, stopping that invoice’s remaining reminders.