Bulk Resume Workflows from DLQ
When a workflow run fails, it's automatically moved to the DLQ (Dead Letter Queue) where it can be analyzed and resumed.
curl --request POST \
--url https://qstash-{region}.upstash.io/v2/workflows/dlq/resume \
--header 'Authorization: Bearer <token>'{
"workflowRuns": [
{
"workflowRunId": "<string>",
"workflowCreatedAt": 123
}
],
"cursor": "<string>"
}Authorization
Bearer authentication header of the form Bearer <token>.
Query parameters
List of specific DLQ IDs to resume. If provided, other filters are ignored.
Pagination cursor for resuming workflows in batches.
Maximum number of workflows to resume. If not provided, all matching workflows will be resumed.
Filter workflows by starting date, in milliseconds (Unix timestamp). This is inclusive.
Filter workflows by ending date, in milliseconds (Unix timestamp). This is inclusive.
Filter workflows by workflow URL. Supports multiple values.
Filter workflows by workflow run ID.
Filter workflows by creation timestamp in milliseconds (Unix timestamp).
Filter workflows by label. Supports multiple values. You can pass multiple values to match workflows with any of the given labels (OR logic).
Examples:
label=my_labellabel=label_1&label=label_2label=label_1,label_2
Filter workflows by failure function state. Supports multiple values.
| State | Description |
|---|---|
| CALLBACK_INPROGRESS | The failure function is in progress. |
| CALLBACK_SUCCESS | The failure function run successfully. |
| CALLBACK_FAIL | The failure function failed to run. |
| CALLBACK_CANCELED | The failure function was manually canceled |
Filter workflows by IP address of the publisher. Supports multiple values.
Filter workflows by Flow Control Key. Supports multiple values.
Header parameters
Override the number of retries for the remaining workflow steps.
Override the delay before executing the next workflow step. Format is <value><unit> (e.g., "10s", "5m").
Override the retry delay expression for the remaining workflow steps.
Override the flow control key for the remaining workflow steps.
Override the flow control configuration in the format parallelism=<value>, rate=<value>, period=<value>.
Override the label(s) for the remaining workflow steps.
You can assign multiple labels by providing a comma-separated list.
Example: label_1,label_2
Override the failure callback URL for the remaining workflow steps.
Response
200 — Workflows resumed successfully
Array of resumed workflow runs.
Pagination cursor to use in subsequent requests. If empty, all matching workflows have been processed.
400 — Bad Request
Error message
401 — Unauthorized
Error message
404 — Some DLQ messages were not found
Error message
500 — Internal Server Error
Error message