Skip to content

Account and team

Common errors and how to fix them

CodeWhen it happensWhat to do
401
INVALID_CREDENTIALSThe key doesn’t exist, was copied wrong, or is revoked — the message is the same generic one (“Invalid API key”) in all three cases, to avoid giving hints to anyone trying to guess keys.Check that you copied the full key with no spaces. If you revoked it yourself, create a new key (section 4/5).
401
TOKEN_EXPIREDThe key passed its expiration date (section 8).Create a new key; if you need it to never expire, choose “Never” when creating it.
401
INVALID_CREDENTIALS (“Origin not allowed”)The key has restricted origins (section 6) and the request arrives from a browser on a domain that isn’t on the list.Add that domain to the key’s allowed-origins list, or use an unrestricted key for server-to-server calls.
403
PERMISSION_DENIEDThe key is attempting an action its sealed role doesn’t cover — for example, a personal key belonging to an editor or viewer role calling an admin-only route, or requesting to create/list company keys without being admin (“Only admins can create/list tenant-owned API keys”).Use a key with sufficient permissions (a company key, or an admin’s personal one) for that specific action.
429
RATE_LIMIT_EXCEEDEDThe key’s quota has been exceeded (120 requests/minute by default, section 11) or some other quota that applies to the request.Wait for the next minute and reduce your call frequency; if your integration needs more quota on a sustained basis, contact your provider.