Skip to main content
A run is a single execution of a strategy — either a backtest or a paper-trading deployment. Runs are created by agents (backtests) and promoted by humans (paper trading).

List runs

Response

Get a run

Returns the full run record plus a shaped trace — the trace events for this run, ordered by seq, ready for the web UI to render.

Response

Get paper positions

Returns the current paper-trading positions for a promoted run. Only valid for runs with kind: "paper".

Response

Create a backtest run

Response

Requires the runs:write scope.

Cancel a run

Cancels a run that is queued or running. Emits a run_transition event to cancelled. Requires the runs:cancel scope.

Response

Promote a run

Promotion is human-only. An API key (agent) calling this endpoint is rejected with 403. The endpoint checks actor_kind === "human".
Promotion creates an approval record in the pending state and emits an approval_requested trace event. The actual deployment happens only after a human approves via Approval endpoints. See Approval workflow.

Response

Run state machine

For paper runs after approval:
Every transition emits a run_transition trace event. See Trace events.