When it fires
TheX-API-Key header is well formed, but it does not match any key the API knows about.
Why it happens
- The key was deleted (not just revoked; see
API_KEY_REVOKEDfor that case). - A character was changed in transit or storage, for example a copy-paste that altered the value but kept its length.
- Wrong environment: a
kash_test_…key sent to production, or akash_live_…key sent to staging. Each environment accepts only its own keys.
How to fix
- Compare the value you are sending with the key prefix shown in the Kash web app (Settings → API Keys).
- If the prefix matches nothing in your account, the key has been deleted or was never yours. Issue a new one.
- If the prefix matches and authentication still fails, contact ZeroID support with the prefix and the
requestIdfrom a recent failed call.
RATE_LIMIT_EXCEEDED. Fix the key before retrying.
Related codes
API_KEY_MISSING,API_KEY_MALFORMED— earlier failure pointsAPI_KEY_REVOKED— the key existed but was revokedAPI_KEY_EXPIRED— the key existed but is past its expiry