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

# Errors and limits

> Handle validation, account-wide quotas, throttling, and upstream failures.

## HTTP errors

FastAPI errors generally return a JSON `detail` value. Validation errors can contain a list of field errors; do not assume `detail` is always a string.

| Status | Meaning | Action |
| - | - | - |
| `401` | Missing, invalid, revoked key, or inactive account | Check your key and account status |
| `404` | Vehicle or requested manufacturer not found | Verify the identifier or catalog value |
| `422` | Invalid range, enum, parameter, or filter granularity | Correct the request before retrying |
| `429` | Per-minute limit or monthly allowance reached | Inspect the message and any `Retry-After` header |
| `502` | Listing/report source unavailable without a usable fallback | Retry with bounded backoff |
| `503` | A required service, such as throttling or exchange-rate lookup, is unavailable | Honor `Retry-After` when present and retry later |

## Plan allowances

These are the current default allowances displayed by XAPI China. Check your [dashboard](https://xapichina.com/dashboard) and `GET /v1/me` for the active account allowance.

| Plan | Monthly data requests | Requests per minute |
| - | - | - |
| Free | 500 | 5 |
| Starter | 10,000 | 15 |
| Pro | 100,000 | 30 |
| Enterprise | No monthly cap | 1,000 |

Every plan exposes the same public data endpoints. Quotas and throttling are shared across all of an account's keys; creating more keys does not increase the allowance.

Each successful authenticated data call counts once, including search pages, count, models, details, images, similar listings, inspection, and insurance-event evidence. Public makes/filters and `GET /v1/me` do not consume data quota. Cached successful data requests still count.

## Handle throttling

A per-minute `429` includes `Retry-After`. Delay according to the header instead of retrying immediately. A monthly-quota `429` requires quota renewal or a plan change; rapid retries will not resolve it.

Use a shared request queue if multiple jobs or services use the same account. In the [production guide](/production-guide), combine pacing with caching and bounded retries.


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