---
title: "Retry items"
method: POST
path: "/v1/queue.retry"
tags: ["Querator V1"]
---

# Retry items

`POST /v1/queue.retry`

Retry an item to be processed again at a later date/time. Once the `retry_at` time is reached, querator will enqueue this item into the specified queue and the `attempted` counter for this item will increment by 1. 

If the item should not be retried, but failed immediately. Set `dead: true` and the item will be placed in the dead letter queue regardless of the number of attempts left on the items.

If you wish to fail a items such that it is deleted from the queue and never offered to another consumer, nor placed into the dead letter queue, then call `/queue.complete` instead.

## Request body

- QueueRetryRequest
  - `queue_name` string, required — The queue name provided when the item was leased. If the `queue_name` does not match the original `queue_name` provided when the item was leased, then the retry request will return a non 200 status code.
  - `partition` integer, required — The partition provided when the item was leased. If the `partition` does not match the original `partition` provided when the item was leased, then the retry request will return a non 200 status code.
  - `items` QueueRetryItem[], required
    - `id` string, required — The item id provided when the item was leased. If the item id provided does not match an item id already in `lease` status, then the retry request will return a non 200 status code.
    - `retry_at` string, date-time, required — The timestamp after which the item will be queued to the queue/partition specified. If `retry_at` is empty the item will be immediately re-added to the queue and the attempts counter incremented.
    - `dead` boolean, required — Indicates the item is dead, will not be retried regardless of the number of attempts remaining. If set to `true` the retry will place the item in the dead letter queue for the specified queue.

## Response `200`

- QueueRetryResponse
  - `code` integer, required — The response code
  - `code_text` string — The text explanation of the code
  - `message` string — The message that contains details explaining the reason for the code

## Changes

- **2025-06-05** `db1e2b747f3c` — 1 breaking, 1 warning
  - added the new required request property `items/items/retry_at`
  - removed the request property `items/items/enqueue_at`
- **2025-06-04** `bb89e27f2276` — 1 info
  - the request property `items/items/enqueue_at` became optional
- **2025-04-21** `3de0078c9268` — 1 info
  - endpoint added
- **2024-09-15** `ba3240950bb2` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/kapetan-io/apis/querator-api/changes/v1/queue.retry/post.md)

---

[API](https://skmtc.dev/kapetan-io/apis/querator-api.md) · [All operations](https://skmtc.dev/kapetan-io/apis/querator-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kapetan-io/querator-api/revisions/00a535961201/schema)
