---
title: "Resume Workflow from DLQ"
method: POST
path: "/v2/workflows/dlq/resume/{dlqId}"
tags: ["DLQ"]
---

# Resume Workflow from DLQ

`POST /v2/workflows/dlq/resume/{dlqId}`

## Request

- Base URL: `https://qstash-eu-central-1.upstash.io`
- URL: `https://qstash-eu-central-1.upstash.io/v2/workflows/dlq/resume/{dlqId}`
- Auth: one of:
  - HTTP bearer
  - API key in query parameter `qstash_token`
- TypeScript: <https://skmtc.dev/upstash/apis/upstash-workflow-rest-api/docs/v2/workflows/dlq/resume/:dlqId/post.ts> (a function with typed inputs; its response is checked against the schema)

Resume a failed workflow run from the DLQ at the step where it failed, without re-running completed steps.

## Path parameters

- `dlqId` string, required

## Headers

- `Upstash-Retries` integer
- `Upstash-Delay` string
- `Upstash-Retry-Delay` string
- `Upstash-Flow-Control-Key` string
- `Upstash-Flow-Control-Value` string
- `Upstash-Label` string
- `Upstash-Failure-Callback` string

## Response `200`

Workflow resumed successfully

- object
  - `workflowRunId` string: The ID of the resumed workflow run (a new ID is generated for the resumed run).
  - `workflowCreatedAt` integer: The timestamp when the resumed workflow run was created (Unix timestamp in milliseconds).

## Other responses

- `400`: Bad Request - Invalid DLQ ID, not a workflow message, or workflow doesn't support resume
- `401`: Unauthorized
- `404`: DLQ message not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/upstash/apis/upstash-workflow-rest-api.md) - [All operations](https://skmtc.dev/upstash/apis/upstash-workflow-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/upstash/apis/upstash-workflow-rest-api/revisions/251bee05a7ec?raw)
