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

# Errors

> HTTP status codes and error responses.

Errors use standard HTTP status codes and a JSON body with a stable `code` and a human-readable `message`:

```json theme={null}
{
  "error": {
    "code": "invalid_request",
    "message": "`limit` must be a whole number from 1 to 100."
  }
}
```

Branch on `code`, not `message`. Messages may be reworded.

| Status | Code | Meaning |
| - | - | - |
| 400 | `invalid_request` | A query parameter or body field is unknown or malformed, or the body isn't JSON. |
| 401 | `invalid_api_key` | The API key is missing, invalid, or disabled, or API access is turned off. |
| 404 | `not_found` | The resource doesn't exist or isn't on your host profile. |
| 409 | `conflict` | The resource can't be changed right now, for example a listing that syncs from Airbnb. |
| 422 | `validation_failed` | The request is well-formed but breaks a rule, such as overlapping availability windows. |
| 429 | `rate_limited` | Too many requests. Wait `Retry-After` seconds. See [Rate limits](https://docs.liveohana.ai/rate-limits.md). |
| 500 | `internal_error` | Something went wrong on our side. Retry with backoff. |

A `400` means the request needs fixing before it can succeed. A `409` or `422` message explains which rule the request broke, in words you can show to the person who made the change.

> [!NOTE]
>
> A booking or listing on another host profile returns `404`, not `403`, so the API never reveals whether an ID exists.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.