# Regenerate Reply Draft

> Discard the draft, including edits, and have a new one written in the background.

<Note>
  **Beta.** This endpoint is not in production yet and may change before it ships.
</Note>

## Path Parameters

<ParamField path="reply_id" type="string" required>The thread (reply) ID.</ParamField>

## Response

<ResponseField name="data" type="object">
  <Expandable title="Result">
    <ResponseField name="id" type="string">Thread ID.</ResponseField>
    <ResponseField name="draftReplyStatus" type="string">`regenerating`. Poll [Get Reply Draft](/api-reference/inbox/get-draft) until it is `completed`.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
```bash cURL
curl -X POST "https://api.foxreach.io/api/v1/inbox/threads/rpl_abc123/draft/regenerate" \
  -H "X-API-Key: otr_your_key"
```
</RequestExample>

## Errors

| Status | Description |
|--------|-------------|
| `403` | Key does not have write scope |
| `404` | Thread not found |
| `409` | The draft is being sent |

## Rate Limit

- **100 requests per minute, shared by every `expensive` call in your workspace.** Fixed 60-second window.
- Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (unix epoch seconds) and `X-RateLimit-Bucket` (`expensive`).
- A `429` response includes a `Retry-After` header (seconds until the bucket resets).

For client-side patterns (`Retry-After`, exponential backoff, monitoring `X-RateLimit-Remaining`), see [Rate Limiting](/rate-limiting).
