Pause an orchestration run
POST/api/v1/orchestration-runs/:orchestration_run_id/pause
Parks a run in flight as awaiting_input at its next checkpoint, with a required_action of type paused naming the pause as operator-initiated rather than a node's. Unlike cancel, the run keeps its last checkpoint and resume-orchestration-run re-drives it from there — so work already done is deferred rather than discarded.
A queued or sleeping run is parked immediately (a sleeping run keeps the wake it was due, and resuming hands it back to the scheduler at that instant). A running run keeps running until the round in flight reaches its checkpoint, so the response may still read running while pause_requested_at is set. A run already parked on a human, webhook or approval node keeps that node's required_action; the pause is still recorded, which is what makes submit-human-input refuse until the run is resumed.
The pause fans out to the run's loop / sub_orchestration descendants — each parks at its own next checkpoint — because otherwise a parent's pause would bound nothing. Resuming does not fan out: each parked descendant is resumed by its own id.
Idempotent: pausing an already-paused run answers with it unchanged.
Request
Responses
- 200
- 401
- 403
- 404
- 409
Paused run
Unauthorized
Forbidden
Not found
Run has already settled