Skip to main content
POST
/
v2
/
dlq
/
retry
Bulk Retry DLQ messages
curl --request POST \
  --url https://qstash-{region}.upstash.io/v2/dlq/retry \
  --header 'Authorization: Bearer <token>'
{
  "cursor": "<string>",
  "responses": [
    {
      "messageId": "<string>",
      "deduplicated": true
    }
  ]
}
When DLQ messages are retried, new messages with the same body and headers are created and scheduled for delivery. The original DLQ messages are then removed from the DLQ.
You can pass all configuration headers to override the configuration of the original messages.For example, if the retry count of the original messages is 5, you can set it to 0 for the retried messages by passing Upstash-Retries: 0 header to this request. Check out publish documentation for complete list of configuration options you can pass.
For multi-value filters, a message matches if its value equals any of the given values (OR logic), and multiple filters are combined with AND logic.Multiple values can be passed either by repeating the query parameter (label=label_1&label=label_2) or as a single comma-separated value (label=label_1,label_2).

Authorizations

Authorization
string
header
required

QStash authentication token

Query Parameters

dlqIds
string[]

List of DLQ IDs to retry. If provided, other filters are ignored.

messageId
string

Filter DLQ messages by message ID

url
string[]

Filter DLQ messages by destination URL. Supports multiple values.

topicName
string[]

Filter DLQ messages by URL Group name. Supports multiple values.

scheduleId
string[]

Filter DLQ messages by schedule ID. Supports multiple values.

queueName
string[]

Filter DLQ messages by queue name. Supports multiple values.

fromDate
integer<int64>

Filter DLQ messages by starting date, in milliseconds (Unix timestamp). This is inclusive.

toDate
integer<int64>

Filter DLQ messages by ending date, in milliseconds (Unix timestamp). This is inclusive.

responseStatus
integer[]

Filter DLQ messages by HTTP response status code of the last delivery attempt. Supports multiple values.

callerIp
string[]

Filter DLQ messages by IP address of the publisher. Supports multiple values.

label
string[]

Filter DLQ messages by label. Supports multiple values. You can pass multiple values to match messages with any of the given labels (OR logic).

Examples:

  • label=my_label
  • label=label_1&label=label_2
  • label=label_1,label_2
flowControlKey
string[]

Filter DLQ messages by Flow Control Key. Supports multiple values.

Response

Messages retry initiated successfully

cursor
string

A cursor which you can use in subsequent requests to paginate through all messages. If no cursor is returned, you have reached the end of the messages.

responses
object[]