For the complete documentation index, see llms.txt. This page is also available as Markdown.

Errors & Rate Limits

Error format

All API errors return a JSON body with a single error field describing what went wrong:

{
  "error": "missing or invalid API key"
}

The HTTP status code tells you the category of error; the error string gives the specifics.

HTTP status codes

Status code
Meaning

200

Request succeeded.

201

Resource created (e.g. webhook subscription).

202

Request accepted for asynchronous processing (e.g. sync job triggered).

204

Resource deleted — no response body.

400

Bad request — the request body is missing required fields or malformed.

401

Missing or invalid X-API-Key header.

404

The requested resource does not exist.

500

Internal server error — something went wrong on AOH Sync's side.

Common error scenarios

401 — Missing or invalid API key

This is returned whenever the X-API-Key header is absent or the key is not recognised. The /v1/health endpoint is the only route that does not require a key.

400 — Bad request

Returned when a required field is missing from a request body or a value is invalid. For example, calling POST /v1/webhooks without a callback_url or events array returns 400.

404 — Not found

Returned when you reference an ID that does not exist in your tenant, or that belongs to a different tenant.

500 — Internal error

These are unexpected server-side failures. If you receive repeated 500 responses, contact AOH Sync support with the request details and timestamp.

Rate limits

Last updated