Error codes
Stable error codes you can branch on.
Errors return a stable code you can branch on:
| Code | Meaning |
|---|---|
API_KEY_MISSING / API_KEY_INVALID | no / bad x-api-key |
API_KEY_EXPIRED | key past its expiry (e.g. after a rotation overlap) |
API_KEY_TENANT_INACTIVE | the tenant is suspended |
API_KEY_IP_BLOCKED / API_KEY_ORIGIN_BLOCKED | request IP/Origin not on the key's allowlist |
PROVIDER_KEY_MISSING / _INVALID / _EXPIRED / _IP_BLOCKED / PROVIDER_INACTIVE | provider-key problems |
PARTICIPANT_TOKEN_MISSING / _INVALID | no / bad participant bearer token |
PARTICIPANT_ROOM_NOT_FOUND / PARTICIPANT_NOT_IN_ROOM | token doesn't map to a joinable room |
PUBLIC_JOIN_DISABLED | public join is not enabled for that room |
PLAN_FEATURE_REQUIRED | the feature is not included in the tenant's plan |
TEST_MODE_MEDIA_DISABLED | billable media attempted on a test-mode tenant |
Rate limiting returns plain HTTP 429 — see Plans, limits & rate limiting.