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

# Error Handling

> Standard JSON error format, common HTTP status codes, and example error responses from the API.

## Error format

All errors return JSON with an `error` field:

```json theme={null}
{ "error": "Description of what went wrong" }
```

## Status codes

| Code    | Meaning           | When                                                |
| ------- | ----------------- | --------------------------------------------------- |
| **400** | Bad Request       | Missing required field, invalid format, bad JSON    |
| **401** | Unauthorized      | Missing or invalid API token                        |
| **403** | Forbidden         | Wrong plan, not the project owner, feature disabled |
| **404** | Not Found         | Project, key, version, or webhook doesn't exist     |
| **429** | Too Many Requests | Rate limit exceeded                                 |
| **500** | Server Error      | Something broke on our end                          |

## Examples

**Bad request** — missing a required field:

```bash theme={null}
curl -X POST https://developer.sirius.menu/v1/projects/abc123/keys/revoke \
  -H "Authorization: Bearer sdt_..." \
  -H "Content-Type: application/json" \
  -d '{}'
```

```json theme={null}
{ "error": "key_id is required" }
```

**Not found** — project doesn't exist or you don't own it:

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

**Rate limited:**

```json theme={null}
{ "error": "Rate limit exceeded. Maximum 100 requests per minute." }
```
