> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tidyhire.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> How rate limits work and how to handle 429 responses

## Limits

| Endpoint | Limit |
| - | - |
| `POST /ai/parse-jd` | 5 requests / minute / workspace |
| `POST /ai/generate-questions` | 5 requests / minute / workspace |
| `POST /ai/generate-script` | 5 requests / minute / workspace |
| All other endpoints | No limit (besides fair use) |

The limit is per workspace, counted across all API keys in the workspace.

## Rate Limit Responses

When you exceed a limit, the request fails with `429`:

```json theme={null}
{
  "success": false,
  "message": "Too many requests, please try again later"
}
```

## Handling 429s

<Info>
  The parse-jd, generate-questions, and generate-script endpoints are AI-powered and cost significantly more to run — that's why they're rate limited. Cache results where you can: a parsed job description or a generated question set rarely changes once created.
</Info>

* **Cache aggressively** — reuse parsed JDs and generated questions instead of re-requesting
* **Back off and retry** — wait at least 60 seconds before retrying after a 429
* **Batch your calls** — e.g. generate questions once per job, not once per candidate


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.