Skip to content

Errors and rate limits

Every error carries a stable machine-readable code, a human-readable message, and a request id. Include the request id in any support message — it is how we find your call in the logs.

Code Meaning What to do
plan_upgrade_required Credential is valid; the account’s plan does not include the API Tell the customer to upgrade to Business. Do not show a permission error.
insufficient_scope The credential lacks a granted scope Re-authorise with the scope.
booking_conflict The slot lost arbitration at commit time Re-read availability and offer an alternative. Never retry blindly.

Writes accept an Idempotency-Key. Replaying a key returns the original response rather than performing the write twice.