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.
Codes worth handling explicitly
Section titled “Codes worth handling explicitly”| 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. |
Idempotency
Section titled “Idempotency”Writes accept an Idempotency-Key. Replaying a key returns the original
response rather than performing the write twice.
