# Get cover letter status

GET /cover-letter/{cover_letter_id} - status and PDF URL for a cover letter

Source: https://docs.rezzy.dev/cover-letter/get-status
Documentation index: https://docs.rezzy.dev/llms.txt



## Example

  

  
```bash
curl -X GET "https://api.rezzy.dev/v1/cover-letter/3de8fcc3-a913-413d-acdb-382701542cb9" \
  -H "Authorization: Bearer YOUR_API_KEY"
```
  

  
```python
import requests

cover_letter_id = "3de8fcc3-a913-413d-acdb-382701542cb9"
response = requests.get(
f"https://api.rezzy.dev/v1/cover-letter/{cover_letter_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
print(response.json())

```
  

  
```typescript
const coverLetterId = "3de8fcc3-a913-413d-acdb-382701542cb9";
const response = await fetch(
  `https://api.rezzy.dev/v1/cover-letter/${coverLetterId}`,
  {
    method: "GET",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  },
);
const data = await response.json();
console.log(data);
```
  

**Sample response (while processing):**

```json
{
  "success": true,
  "message": "Cover letter status retrieved successfully",
  "data": {
    "id": "3de8fcc3-a913-413d-acdb-382701542cb9",
    "title": "Software Engineer at Acme Corp",
    "status": "IN_PROGRESS",
    "stage": "Drafting your cover letter...",
    "pdf_url": null,
    "dashboard_url": "https://rezzy.dev/dashboard/cover-letters"
  }
}
```

**Sample response (completed):**

```json
{
  "success": true,
  "message": "Cover letter status retrieved successfully",
  "data": {
    "id": "3de8fcc3-a913-413d-acdb-382701542cb9",
    "title": "Software Engineer at Acme Corp",
    "status": "SUCCESS",
    "stage": null,
    "pdf_url": "https://storage.example.com/cover-letters/3de8fcc3.pdf",
    "dashboard_url": "https://rezzy.dev/dashboard/cover-letters"
  }
}
```

## Path parameters

| Parameter         | Type | Required | Description                          | Example                                |
| ----------------- | ---- | -------- | ------------------------------------ | -------------------------------------- |
| `cover_letter_id` | UUID | Yes      | Cover letter ID from create response | `660e8400-e29b-41d4-a716-446655440001` |

## Success response (200 OK)

`data`:

| Field           | Type           | Description                                                  |
| --------------- | -------------- | ------------------------------------------------------------ |
| `id`            | UUID           | Cover letter resource ID                                     |
| `title`         | string         | Cover letter title                                           |
| `status`        | string         | `QUEUED` \| `IN_PROGRESS` \| `SUCCESS` \| `FAILED`           |
| `stage`         | string \| null | Processing stage while queued or in progress; otherwise null |
| `pdf_url`       | string \| null | Signed PDF URL when successful and available; otherwise null |
| `dashboard_url` | string         | URL to view in the dashboard                                 |

Poll no faster than every five seconds and back off. Stop polling on `SUCCESS` or `FAILED`. Both `stage` and `pdf_url` are always included and may be `null`.

PDF URLs expire after one hour. Read status again to get a fresh URL. Status reads do not consume generation credits. You can only retrieve documents belonging to the account that owns your API key.

## Error responses

| Status | Condition                                        |
| ------ | ------------------------------------------------ |
| 400    | Malformed document UUID                          |
| 401    | Missing or invalid API key                       |
| 404    | Document not found or belongs to another account |
| 429    | Request limit exceeded                           |
| 500    | Internal server error                            |
