# Get Reply Draft

> Get the AI draft on a thread and what happened to it.

<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="Draft">
    <ResponseField name="id" type="string">Thread (reply) ID.</ResponseField>
    <ResponseField name="draftReply" type="string">Draft text.</ResponseField>
    <ResponseField name="draftReplyStatus" type="string">`pending`, `completed`, `failed` or `regenerating`.</ResponseField>
    <ResponseField name="draftReplyAction" type="string">`null` while awaiting a decision, otherwise `sending`, `sent`, `dismissed` or `answered` (the thread was replied to by hand).</ResponseField>
    <ResponseField name="draftReplyError" type="string">A short message when generation failed.</ResponseField>
    <ResponseField name="draftReplySentMessageId" type="string">SMTP message ID once the draft was sent.</ResponseField>
    <ResponseField name="fromEmail" type="string">The lead who replied.</ResponseField>
    <ResponseField name="subject" type="string">Subject of the reply.</ResponseField>
  </Expandable>
</ResponseField>

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

## Errors

| Status | Description |
|--------|-------------|
| `404` | Thread not found |

## Rate Limit

- **300 requests per minute, shared by every `read` 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` (`read`).
- 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).
