> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-partnerstash.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List workflow runs in the DLQ

> List and paginate through all failed workflow runs currently inside the DLQ

List all failed workflow runs currently inside the Dead Letter Queue.

## Request

<ParamField query="cursor" type="string">
  By providing a cursor you can paginate through all of the workflow runs in the DLQ
</ParamField>

<ParamField query="workflowRunId" type="string">
  Filter DLQ workflow runs by workflow run id.
</ParamField>

<ParamField query="workflowUrl" type="string">
  Filter DLQ workflow runs by workflow url.
</ParamField>

<ParamField query="fromDate" type="number">
  Filter DLQ workflow runs by starting date, in milliseconds (Unix timestamp). This is inclusive.
</ParamField>

<ParamField query="toDate" type="number">
  Filter DLQ workflow runs by ending date, in milliseconds (Unix timestamp). This is inclusive.
</ParamField>

<ParamField query="responseStatus" type="number">
  Filter DLQ workflow runs by HTTP response status code.
</ParamField>

<ParamField query="callerIP" type="string">
  Filter DLQ workflow runs by IP address of the publisher.
</ParamField>

<ParamField query="failureCallbackState" type="string">
  Filter DLQ workflow runs by the state of failure callback (failure function or failure URL)
</ParamField>

<ParamField query="count" type="number">
  The number of workflow runs to return. Default and maximum is 100.
</ParamField>

<ResponseField name="label" type="string">
  Filter workflow run by the label assigned by the user.
</ResponseField>

## Response

<ResponseField name="cursor" type="string">
  A cursor which you can use in subsequent requests to paginate through all
  workflow runs. If no cursor is returned, you have reached the end of the workflow runs.
</ResponseField>

<ResponseField name="messages" type="Array">
  <Expandable defaultOpen title="message">
    <Snippet file="workflow/workflow-dlq-message-type.mdx" />
  </Expandable>
</ResponseField>

<RequestExample>
  ```sh theme={null}
  curl https://qstash.upstash.io/v2/workflows/dlq \
    -H "Authorization: Bearer <token>"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
     "cursor":"1752570296426-0",
     "messages":[
        {
           "messageId":"msg_26hZCxZCuWyyTWPmSVBrNC1RADwpgWxPcak2rQD51EMjFMuzcW7qYXpPiDyw8Gd",
           "url":"https://my.app/workflow",
           "method":"POST",
           "header":{
              "Content-Type":[
                 "application/json"
              ]
           },
           "maxRetries":10,
           "notBefore":1752829294505,
           "createdAt":1752829294505,
           "failureCallback":"https://my.app/workflow",
           "callerIP":"88.240.188.2",
           "workflowRunId":"wfr_5XAx4IJergqkGK1v23VzR",
           "workflowCreatedAt":1752829293531,
           "workflowUrl":"https://my.app/workflow",
           "responseStatus":489,
           "responseHeader":{
              "Content-Type":[
                 "text/plain;charset=UTF-8"
              ]
           },
           "responseBody":"{\"error\":\"WorkflowNonRetryableError\",\"message\":\"this workflow has stopped\"}",
           "failureCallbackInfo":{
              "state":"CALLBACK_SUCCESS",
              "responseStatus":200,
              "responseBody":"{\"workflowRunId\":\"wfr_Q_khHG-a414M-xKRh2kNI\"}",
              "responseHeaders":{
                 "Content-Type":[
                    "text/plain;charset=UTF-8"
                 ]
              }
           },
           "dlqId":"1752829295505-0"
        }
     ]
  }
  ```
</ResponseExample>
