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

# Errors

Happy Uptime returns a consistent JSON error structure with a code, message, and HTTP status.

# Errors

Errors return a consistent JSON structure with a code, message, and HTTP status.

```json
{
  "error": {
    "code": "not_found",
    "message": "Monitor not found",
    "status": 404
  }
}
```

## HTTP status codes

| Code | Meaning |
| --- | --- |
| `200` | Success |
| `201` | Created |
| `400` | Validation error |
| `401` | Unauthorized — missing or invalid API key |
| `403` | Forbidden — insufficient scope |
| `404` | Not found |
| `409` | Conflict — duplicate resource |
| `429` | Rate limit exceeded |

Inspect `error.code` for programmatic handling — it's stable across releases, while `message` may change. Common codes include `unauthorized`, `forbidden`, `not_found`, `validation_failed`, `duplicate`, and `rate_limited`.