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

# Error Codes

> HTTP status codes and error codes returned by the API.

## HTTP Status Codes

| Status | Meaning                                  |
| ------ | ---------------------------------------- |
| `202`  | Job accepted (create video)              |
| `200`  | OK                                       |
| `400`  | Bad request — invalid parameters         |
| `401`  | Missing or invalid Bearer token          |
| `404`  | Job not found or belongs to another team |
| `429`  | Monthly quota exceeded                   |
| `504`  | Timeout (sync endpoint only)             |

## Error Response Format

All errors follow this structure:

```json theme={null}
{
  "error": {
    "code": "invalid_parameters",
    "fields": [
      { "path": "model", "message": "model not allowed" }
    ]
  }
}
```

## Error Codes

| Code                 | Trigger                                                      |
| -------------------- | ------------------------------------------------------------ |
| `unauthorized`       | Missing or invalid token                                     |
| `invalid_parameters` | Bad request body — see `error.fields` for which field failed |
| `not_found`          | Job ID doesn't exist or belongs to another team              |
| `quota_exceeded`     | Monthly budget limit reached                                 |
| `generation_failed`  | AI provider failed to generate the video                     |
| `timeout`            | Job exceeded the maximum processing time                     |

## Handling `generation_failed`

This means the AI provider rejected or failed the job — the error is not billable. Common causes:

* The prompt violated content policy
* The reference image URL was inaccessible
* Temporary provider outage

Retry with a modified prompt or a different image URL.
