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

# Errors

> Status codes and error bodies.

Errors have a JSON body with an `error` field:

```json theme={null}
{ "error": "event not found" }
```

## Status codes

| Status | Meaning                                                                                                    | What to do                                              |
| ------ | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| `400`  | The request is not valid. For example, the event ID is not a number, or a Free project has no destination. | Fix the request.                                        |
| `401`  | No API key, a wrong key, or a wrong source signature.                                                      | Check the key or the signature.                         |
| `402`  | No credits, an unpaid plan, or a source over the plan limit.                                               | Add credits or change the plan.                         |
| `403`  | The workspace is suspended, or the key's creator has no verified email.                                    | Contact the workspace owner.                            |
| `404`  | Not found, or not in this workspace.                                                                       | Check the IDs.                                          |
| `409`  | Nothing to do. For example, a retry on an event with no `dead` delivery.                                   | No action needed.                                       |
| `423`  | The source is paused.                                                                                      | Resume the source.                                      |
| `429`  | Too many requests.                                                                                         | Wait. For ingest, wait for `Retry-After`.               |
| `5xx`  | A problem on our side.                                                                                     | Retry with backoff. For ingest, wait for `Retry-After`. |

## Rate limits

| What                               | Limit                                              |
| ---------------------------------- | -------------------------------------------------- |
| Ingest, for each source            | 1,000 a minute by default. Up to 1,000,000 on Pro. |
| REST API, for each key             | 600 a minute                                       |
| Retries and replays, for each user | 60 a minute                                        |
