Skip to main content
post/v2/workflows/dlq/resume/{dlqId}
Request example
Response
post/v2/workflows/dlq/resume/{dlqId}

When a workflow run fails, it’s automatically moved to the DLQ (Dead Letter Queue) where it can be analyzed and resumed. The resume feature allows you to continue a failed workflow run from exactly where it failed, without re-executing successfully completed steps.

This is particularly useful for long-running workflows where you don’t want to lose progress from successful steps when a single step fails.

When a workflow is resumed, it continues execution from the last failed step. A new workflow run ID is generated, but the workflow maintains the state and results from previously completed steps.

Note

You can make changes to the workflow code as long as these changes come after the failed steps. However, making changes before the failed step will break the code and is not allowed.

For more details, check out Handle workflow route code changes page.

Authorization

Authorizationstringheaderrequired#
QStash authentication token

1 alternative authorization method available — see the spec for details.

Path parameters

dlqIdstringrequired#
The DLQ ID of the workflow run to resume.

Headers

Upstash-Retriesinteger#
Override the number of retries for the workflow steps.
Upstash-Delaystring#
Override the delay before executing the workflow. Format is <value><unit> (for example, 10s or 5m).
Upstash-Retry-Delaystring#
Override the retry delay expression for the workflow steps.
Upstash-Flow-Control-Keystring#
Override the flow control key for the workflow.
Upstash-Flow-Control-Valuestring#
Override the flow control configuration in the format parallelism=<value>, rate=<value>, period=<value>.
Upstash-Labelstring#
Override the workflow labels. Use a comma-separated list for multiple labels, such as label_1,label_2.
Upstash-Failure-Callbackstring#
Override the failure callback URL for the workflow.

Responses

application/json
Workflow resumed successfully
workflowRunIdstring#
The ID of the resumed workflow run (a new ID is generated for the resumed run).
workflowCreatedAtinteger#
The timestamp when the resumed workflow run was created (Unix timestamp in milliseconds).