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

# Errors

> Standard error codes and response format.

## Error response format

```json theme={null}
{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable description",
    "details": []
  }
}
```

## HTTP status codes

| Code  | Meaning               | When it happens                              |
| ----- | --------------------- | -------------------------------------------- |
| `400` | Bad Request           | Invalid request body or parameters           |
| `401` | Unauthorized          | Missing or invalid authentication            |
| `403` | Forbidden             | Authenticated but insufficient permissions   |
| `404` | Not Found             | Resource doesn't exist or isn't accessible   |
| `409` | Conflict              | Resource already exists (e.g. duplicate SKU) |
| `413` | Payload Too Large     | File upload exceeds size limit               |
| `429` | Too Many Requests     | Rate limit exceeded                          |
| `500` | Internal Server Error | Unexpected server error                      |

## Common error codes

| Code                  | Description                    |
| --------------------- | ------------------------------ |
| `VALIDATION_ERROR`    | Request body failed validation |
| `UNAUTHORIZED`        | Invalid API key                |
| `FORBIDDEN`           | Insufficient role permissions  |
| `NOT_FOUND`           | Resource not found             |
| `CONFLICT`            | Duplicate resource             |
| `RATE_LIMITED`        | Too many requests              |
| `PLAN_LIMIT_EXCEEDED` | Workspace plan limit reached   |
| `INTERNAL_ERROR`      | Server error — contact support |
