Read-only, cross-org run activity for the console's observability surface: list runs, inspect a single run's act DAG, pull a platform health snapshot, and inspect outbox delivery and Redis queue diagnostics.
Common responses
These responses apply across endpoints in this section unless an endpoint documents an additional response.
Status
Meaning
Body
200
Request succeeded.
Endpoint response object.
201
Resource created.
Created resource object.
400
Invalid request.
Error envelope.
401
Missing or invalid bearer token.
Error envelope.
404
Resource not found or not visible to the current organization.
Error envelope.
Runs
List runs
Cross-org run activity for the console's observability surface, paginated and sorted by `created_at` descending. Each row is enriched with the joined organization name, the display name (falling back to email) of the user who started the run, per-status act counts, and `prompt_summary` (the first 200 characters of the triggering message). `is_stuck` is true when the run's status is `running` and it hasn't been updated in 5 minutes — pass `stuck=true` to filter down to just those. `search` does a case-insensitive substring match against the organization name, the creating user's email, the prompt text, the run id, or the thread id.
GET/v1/admin/operations/runs
Query parameters
Name
Type
Required
Description
status
string
Optional
One of `running`, `awaiting`, `completed`, `cancelled`, `failed`. Repeatable (e.g. `status=running&status=awaiting`) to match any of the given statuses; omit to match all statuses.
organizationId
string
Optional
Restrict results to a single organization's UUID.
createdFrom
string
Optional
ISO 8601 datetime. Only include runs created at or after this instant.
createdTo
string
Optional
ISO 8601 datetime. Only include runs created at or before this instant.
stuck
boolean
Optional
`true` returns only stalled runs (`status=running` and no update for 5 minutes, i.e. `is_stuck: true`). `false` or omitted applies no stuck filter.
search
string
Optional
Case-insensitive substring match against organization name, creator email, prompt text, run id, or thread id.
cursor
string
Optional
Opaque pagination cursor returned in next_cursor of the previous response. Omit to start at the beginning.
limit
number
Optional
Maximum number of items to return. Default 20, max 100.
Return a single run with the same enriched fields as the list, plus its full act DAG (`acts`) and a `usage` placeholder. Acts carry their `key`, `status`, `depends_on` list, assignment (`assigned_to_type`/`assigned_to_id`), `attempts`, `error`, and timing fields (`started_at`, `completed_at`, `heartbeat_at`, `created_at`). `usage` is always `null` for now — per-run token/cost aggregation arrives in a later plan.
Point-in-time platform health snapshot for the console's observability surface, meant to be polled rather than streamed. `verdict` is a single overall read (`operational`, `degraded`, or `down`) with a human-readable `reason`. `golden_signals` carries success rate over the last 1 and 24 hours, run throughput per minute over the last hour, time-to-first-token p50/p95 in milliseconds over the last 24 hours, and a `failing_now` count of runs currently in a failed state; any rate or latency figure is `null` when there isn't enough data to compute it. `runs` and `approvals` are current counts (running, awaiting, completed/failed/cancelled in the last 24 hours, stuck runs, and pending approvals with the age in seconds of the oldest one). `pipeline` reports the outbox delivery state (`flowing`, `delayed`, or `stalled`) along with pending and poison message counts and the oldest pending message's age in seconds. `top_failure_reasons` ranks the most common failure reasons over the last 24 hours by count. `incidents` is an impact-first list of active issues, each with a `severity` (`warning` or `danger`), the user-facing `impact`, the underlying `cause`, the `affected_scope`, and an `action_href` deep link into the console.
Cross-org view of the `run_outbox` command-delivery table, for engineer-only diagnostics. Each row is enriched with the joined organization name. `status` is `pending` (not yet delivered) or `sent`. Use `minAttempts` to find poison messages — commands that have retried past the poison threshold, e.g. `minAttempts=5`.
GET/v1/admin/operations/outbox
Query parameters
Name
Type
Required
Description
status
string
Optional
One of `pending` or `sent`. Omit to match both.
stream
string
Optional
Exact match against the stream name.
minAttempts
number
Optional
Only include messages with at least this many delivery attempts. For example, `minAttempts=5` surfaces poison messages retrying past the poison threshold.
cursor
string
Optional
Opaque pagination cursor returned in next_cursor of the previous response. Omit to start at the beginning.
limit
number
Optional
Maximum number of items to return. Default 20, max 100.
Redis stream and consumer-group stats for the platform's message bus, for engineer-only diagnostics. `pending` and each consumer's `pending`/`idle_ms` (milliseconds since that consumer's last activity) are the live signals for spotting a stalled or stuck worker. `lag` is currently always `0` — a limitation of the installed Redis client version — and should not be relied on.