---
title: "Replace a pending draft by drafting its turn again"
method: POST
path: "/api/review-queue/{id}/regenerate"
tags: ["Review queue"]
---

# Replace a pending draft by drafting its turn again

`POST /api/review-queue/{id}/regenerate`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/review-queue/{id}/regenerate`
- Auth: one of:
  - API key in cookie `luca.session_token`
  - API key in header `x-api-key`
  - HTTP bearer

Supersedes the pending draft and restarts the inbound turn it came from as the next attempt. An optional hint tells Luca what to change in the new draft. An approved or sent draft cannot be replaced. Regenerate and retry share a limit of 3 restarts per turn; after that the call fails with 409 drafting_retry_limit.

**API key scopes:** `review_queue:write`. You also need an `Idempotency-Key` header.

## Path parameters

- `id` string, uuid, required

## Headers

- `Luca-API-Version` '1'

## Request body

- ReviewRegenerateRequest
  - `hint` string

## Response `202`

accepted

- ReviewRegenerateResponse
  - `supersededReviewQueueId` string, uuid, required
  - `turnId` string, uuid, required
  - `attempt` integer, required

## Other responses

- `400`: validation failed
- `401`: unauthorized
- `404`: not found
- `409`: conflict
- `422`: unprocessable
- `429`: rate limited
- `500`: internal error

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
