> ## Documentation index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Ask it with GET https://upstash.com/docs/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.
> Page rating: `GET https://upstash.com/docs/feedback?path=/docs/qstash/features/dlq&helpful=true` (or `false`) records whether this page helped. An optional `comment` (URL-encoded, at most 500 characters) says what was missing or wrong. It is anonymous and needs no key. Comments hold no code, secrets or personal data.

# Dead Letter Queues

At times, your API may fail to process a request. This could be due to a bug in your code, a temporary issue with a third-party service, or even network issues.
QStash automatically retries messages that fail due to a temporary issue but eventually stops and moves the message to a dead letter queue to be handled manually.

Read more about retries [here](/qstash/features/retry).

## How to Use the Dead Letter Queue

You can manually republish messages from the dead letter queue in the console.

<Frame>
  <img src="/img/qstash-dlq/dlq.png" alt="Dead Letter Queue entries in the Upstash Console" />
</Frame>

1. **Retry** - Republish the message and remove it from the dead letter queue. Republished messages are just like any other message and will be retried automatically if they fail.
2. **Delete** - Delete the message from the dead letter queue.

## Bulk actions

To act on every DLQ message matching a filter, use the dedicated [Retry Async Bulk](/qstash/api-reference/dlq/retry/retry-bulk-action) or [Delete Async Bulk](/qstash/api-reference/dlq/delete/delete-bulk-action) `POST` endpoint. Each returns an action ID you can use to [check progress](/qstash/api-reference/bulk-actions/get-a-bulk-action).

To act on specific DLQ entries, use [Retry Multiple IDs](/qstash/api-reference/dlq/retry/retry-list-of-ids) or [Delete Multiple IDs](/qstash/api-reference/dlq/delete/delete-list-of-ids).

## Limitations

Dead letter queues are subject only to a retention period that depends on your plan. Messages are deleted when their retention period expires. See the “Max DLQ Retention” row on the [QStash Pricing](https://upstash.com/pricing/qstash) page.
