Skip to content

Saved runs, newest first, optionally narrowed. Empty in skeleton mode.

GET
/api/v1/reports/runs
curl --request GET \
--url https://example.com/api/v1/reports/runs \
--header 'Authorization: Bearer <token>'

Skeleton mode has no report store, so this answers an empty list rather than a 503 — the runs list is one tab of a page that otherwise works. The filter is validated before that early return, so a malformed one is a 400 on every deployment rather than an empty 200 on some.

limit
integer format: int64
definition_id
string format: uuid

Only runs generated from this report definition.

state
string

Only runs in this state: queued | running | succeeded | failed. Note succeeded, not done — an analysis run uses the other word.

since
string

Only runs created at or after this instant (RFC 3339).

Matching runs, newest first; empty in skeleton mode

Media typeapplication/json
Array<object>

A run row for the saved-reports list (without the heavy result_* payloads).

object
created_by
string | null
created_ms
required
integer format: int64
definition_id
string | null format: uuid
error
string | null
finished_ms
integer | null format: int64
id
required
string format: uuid
name
required
string
pct
required
integer format: int32
range_from_ms
integer | null format: int64
range_to_ms
integer | null format: int64
section_count
required
integer format: int32
started_ms
integer | null format: int64
state
required

Lifecycle of one report run.

string
Allowed values: queued running succeeded failed unknown
trigger
required

What started a run.

string
Allowed values: manual scheduled unknown
Example
[
{
"state": "queued",
"trigger": "manual"
}
]

The state is outside its vocabulary, or since is not RFC 3339

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

No valid bearer token

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Role lacks View

Media typeapplication/json

The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies undescribed — a client that has to guess the failure shape ends up parsing the success shape and reading undefined.

object
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}