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

# API Error Codes

> Complete reference of Poof API error codes

Below is a comprehensive list of all possible error codes you might encounter when using the Poof API. Each error includes a description, HTTP status code, and a link to detailed documentation about how to handle it.

## Error Reference Table

| Error Code                                               | Description                                 | HTTP Status |
| -------------------------------------------------------- | ------------------------------------------- | ----------- |
| [authentication\_error](/errors/authentication-error)    | Invalid or missing API key                  | 401         |
| [permission\_denied](/errors/permission-denied)          | Access to this resource is forbidden        | 403         |
| [payment\_required](/errors/payment-required)            | Insufficient credits or plan upgrade needed | 402         |
| [rate\_limit\_exceeded](/errors/rate-limit-exceeded)     | Too many requests                           | 429         |
| [validation\_error](/errors/validation-error)            | Invalid request parameters                  | 400         |
| [missing\_image](/errors/missing-image)                  | No image file in request                    | 400         |
| [image\_too\_large](/errors/image-too-large)             | Image exceeds size limit                    | 400         |
| [upstream\_error](/errors/upstream-error)                | Processing service failed                   | 502         |
| [internal\_server\_error](/errors/internal-server-error) | Server error                                | 500         |

## Error Response Format

All errors follow a consistent JSON response format:

```json theme={null}
{
  "code": "error_code",
  "message": "Human-readable description",
  "details": "Additional context or troubleshooting steps",
  "request_id": "req_abc123xyz"
}
```

The `request_id` is useful for support — include it when contacting us about an issue.
