Documentation menu
These are pre-release docs from the main branch.

API reference

5 operations in dead_work. Raw spec: openapi.json.

GET/api/v1/admin/dead-work

GET /api/admin/dead-work — every ledger's abandoned work, newest first.

Parameters

NameInTypeRequiredDescription
sourcequery—NoRestrict to one ledger: `job`, `email`, `webhook` or `event`.
include_cancelledquery—NoInclude rows an operator already cancelled. Off by default: the list exists to show what still needs a decision.
limitquery—NoPage size, clamped to 1..=200.
offsetquery—NoRows to skip, from a previous page's `next_offset`.

Responses

StatusDescription
200

Security: bearer

GET/api/v1/admin/dead-work/destinations

GET /api/admin/dead-work/destinations — webhook destinations and their failure counters.

Paused first, then the ones closest to pausing: the operator question is "what is suppressed, and what is about to be".

Parameters

NameInTypeRequiredDescription
paused_onlyquery—NoOnly destinations that are currently paused.

Responses

StatusDescription
200

Security: bearer

POST/api/v1/admin/dead-work/destinations/{id}/resume

POST /api/admin/dead-work/destinations/{id}/resume — clear a pause.

Also resets the counter, so the destination gets a full budget of failures before it pauses again rather than pausing on the next one. The operator fixed something; the evidence that it was broken is history, not a debt.

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
204

Security: bearer

POST/api/v1/admin/dead-work/{source}/{id}/cancel

POST /api/admin/dead-work/{source}/{id}/cancel — record that this work is not wanted.

For a job (including a webhook delivery job) the row also moves to `failed`, so the dead depth an alert reads actually falls. For email and dead events the ledger state stays and the decision is this table's row: see `core_db::dead_work::cancel` for why that asymmetry is deliberate.

Parameters

NameInTypeRequiredDescription
sourcepathstringYes
idpathstringYes

Request body

CancelDeadWorkRequest

Responses

StatusDescription
200

Security: bearer

POST/api/v1/admin/dead-work/{source}/{id}/redrive

POST /api/admin/dead-work/{source}/{id}/redrive — requeue one item.

The row is requeued in place: a webhook job keeps its dedupe key, so the replay cannot deliver the same `(webhook, event)` twice, and the attempt budget restarts so the retry is real. A repeat call is `not_dead` and writes no second audit row.

Parameters

NameInTypeRequiredDescription
sourcepathstringYes
idpathstringYes

Responses

StatusDescription
200

Security: bearer