コンテンツにスキップ

Poll-loop self-monitoring: last sweep time, jobs dispatched last round, total results consumed. The "stat strip" of the poller & collection-health widget.

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

Poll-loop counters since core started

Media typeapplication/json

A point-in-time view of [SchedulerStats] for the API.

object
assignment_mirror_writes_total
required

Redis assignment-mirror rewrites issued since start (S18). Flat across steady-state sweeps — an unchanged working set skips the rewrite — so growth tracks real assignment churn.

integer format: int64
deltas_published_total
required

Working-set deltas core has published to pollers since start (ADR-020).

integer format: int64
jobs_last_round
required

Jobs published in the most recent round (legacy per-job dispatch only).

integer format: int64
last_sweep_unix_ms

When the last poll round was dispatched (Unix ms), or None if none yet.

integer | null format: int64
pools_legacy
required

Pools served in legacy per-job mode in the most recent sweep (no live poller).

integer format: int64
pools_working_set
required

Pools served in working-set mode in the most recent sweep (a live poller owns them).

integer format: int64
results_total
required

Total poll results consumed since start.

integer format: int64
snapshots_published_total
required

Working-set snapshots core has published to pollers since start (ADR-020).

integer format: int64
Examplegenerated
{
"assignment_mirror_writes_total": 1,
"deltas_published_total": 1,
"jobs_last_round": 1,
"last_sweep_unix_ms": 1,
"pools_legacy": 1,
"pools_working_set": 1,
"results_total": 1,
"snapshots_published_total": 1
}

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 the View permission

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"
}
}

Skeleton mode: no write side to read the scheduler from

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"
}
}