Upstash Documentation

Bulk Retry DLQ messages

Retry delivery of multiple messages from the DLQ
1 min read
post/v2/dlq/retry
Request example
Response
post/v2/dlq/retry

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.

Note

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.

Info

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).

Authorization

Authorizationstringheaderrequired#
QStash authentication token

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

Query parameters

dlqIdsstring[]#
List of DLQ IDs to retry. If provided, other filters are ignored.
messageIdstring#
Filter DLQ messages by message ID
urlstring[]#
Filter DLQ messages by destination URL. Supports multiple values.
topicNamestring[]#
Filter DLQ messages by URL Group name. Supports multiple values.
scheduleIdstring[]#
Filter DLQ messages by schedule ID. Supports multiple values.
queueNamestring[]#
Filter DLQ messages by queue name. Supports multiple values.
fromDateinteger#
Filter DLQ messages by starting date, in milliseconds (Unix timestamp). This is inclusive.
toDateinteger#
Filter DLQ messages by ending date, in milliseconds (Unix timestamp). This is inclusive.
responseStatusinteger[]#
Filter DLQ messages by HTTP response status code of the last delivery attempt. Supports multiple values.
callerIpstring[]#
Filter DLQ messages by IP address of the publisher. Supports multiple values.
labelstring[]#

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
flowControlKeystring[]#
Filter DLQ messages by Flow Control Key. Supports multiple values.

Responses

application/json
Messages retry initiated successfully
cursorstring#

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.

responsesobject[]#
Show child attributes
messageIdstring#
Unique identifier for the published message or the old message ID if deduplicated
deduplicatedboolean#
Whether this message is a duplicate and was not sent to the destination.