Bulk Retry Failed Outbox Events
POST/api/ledger/outbox/retry
Re-queue failed outbox rows for another generation pass: their status resets to pending with a fresh retry budget and the drain worker is kicked. Only unresolved failures are re-queued — rows in other statuses, and failures already superseded by a newer event for the same source, are skipped silently, and the response reports how many rows were actually re-queued.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token with the accounting sync permission.
Body — one of two shapes:
{ "ids": [1, 2, 3] }— retry an explicit selection (required withoutapply_to_all).{ "apply_to_all": true, "filters": { ... } }— retry every failed row matching the given filter set.filtersaccepts the same columns as List Outbox Events (bare column keys, e.g.{"source_type": "..."}), plus afilter_groupstree.
Note: unlike Retry Outbox Failures, an empty selection retries nothing.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.