Appearance
Recover a failed message
POST /spools/{spool}/recover
Returns the failed message to its queue with its retries reset — the handle names the queue; Spooler-Delay-Seconds postpones its visibility.
Sample
sh
curl -X POST "$SPOOLER_API/spools/<spool>/recover" \
-H "Authorization: Bearer $SPOOLER_KEY" \
-H "Spooler-Handle: <handle>"Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
spool | path | IdentName, 1–63 chars, ^[A-Za-z0-9_:-]+$ | yes | The spool name. |
Spooler-Handle | header | Handle, 16–256 chars, ^[A-Za-z0-9_-]+$ | yes | The handle from a failed-state listing, presented back. |
Spooler-Delay-Seconds | header | integer, 0–604,800 | no | Seconds until the recovered message becomes visible, at most a week. Omitted or 0 means immediately visible. |
Responses
| Status | Description |
|---|---|
204 | Recovered. |
400 | The request is malformed; the kind names the problem. |
401 | The API key is missing or not recognized. |
402 | The account is suspended. |
403 | A plan limit refuses the operation; the kind names it. A 403 without a kind, on any operation, means the API key is blocked. |
404 | The spool or queue does not exist; the kind says which. |
409 | Concurrent state refuses the operation; the kind names it. |
410 | The lease no longer settles anything: expired, already settled, or predates a primary change. |
429 | The per-account request rate cap is exceeded. The body names the kind (rate_limited); the wait is the Retry-After header and is not repeated in the body. Headers are as structured as the body, and this one is the header HTTP defines for a wait. |
500 | The server failed; kind operation_unconfirmed means the write was accepted but its durability is unknown. |
503 | The spool is momentarily unavailable. |
429 headers
| Header | Description |
|---|---|
Retry-After | Seconds until the next request is admitted, whole and at least 1; always the delay-seconds form, never an HTTP-date. |