# Get Failed Workflow Run

> Get details of a specific failed workflow run from the DLQ.

## Endpoint

`GET https://qstash-{region}.upstash.io/v2/workflows/dlq/{dlqId}`

Get details of a specific failed workflow run from the DLQ.


## Parameters

- `dlqId` (path, string, required): The DLQ ID of the failed workflow run.

## Responses

### 200 - Failed workflow run details

- `dlqId` (string): The DLQ ID of the failed workflow message.
- `workflowUrl` (string): The URL of the workflow.
- `workflowRunId` (string): The ID of the workflow run.
- `workflowCreatedAt` (integer): The timestamp when the workflow run was created (Unix timestamp in milliseconds).
- `url` (string): The URL of the failed workflow step.
- `method` (string): The HTTP method used for the workflow step.
- `header` (object): The HTTP headers sent to the workflow step.
- `body` (string): The body of the message if it is composed of utf8 chars only, empty otherwise.
- `bodyBase64` (string): The base64 encoded body if the body contains a non-utf8 char only, empty otherwise.
- `maxRetries` (integer): The number of retries that should be attempted in case of delivery failure.
- `createdAt` (integer): The unix timestamp in milliseconds when the message was created.
- `failureCallback` (string): The url where we send a callback to after the workflow fails.
- `callerIP` (string): IP address of the publisher of this workflow.
- `label` (string): The label assigned to the workflow run. Deprecated in favor of `labels`.
- `labels` (string[]): The list of labels assigned to the workflow run.
- `flowControlKey` (string): The flow control key used for rate limiting.
- `failureFunctionState` (string): The state of the failure function if applicable.
- `responseStatus` (integer): The HTTP status code received from the destination API.
- `responseHeader` (object): The HTTP response headers received from the destination API.
- `responseBody` (string): The body of the response if it is composed of utf8 chars only, empty otherwise.
- `responseBodyBase64` (string): The base64 encoded body of the response if the body contains a non-utf8 char only, empty otherwise.

### 400 - Bad Request - Invalid DLQ ID

- `error` (string, required): Error message

### 401 - Unauthorized

- `error` (string, required): Error message

### 404 - DLQ message not found

- `error` (string, required): Error message

### 500 - Internal Server Error

- `error` (string, required): Error message

## cURL

```bash
curl --request GET \
  --url https://qstash-{region}.upstash.io/v2/workflows/dlq/{dlqId} \
  --header 'Authorization: Bearer <token>'
```
