Skip to main content

Authentication

Authorization: Bearer zea-<secret>

The gateway strips Bearer , hashes the token with SHA-256, and looks it up. Only the digest is stored — rotating ZEALLM_ENCRYPTION_KEY never invalidates virtual keys.

Health endpoints do not require auth.

Failures

CodeHTTPWhen
missing_api_key401No header, or empty token
invalid_api_key401Hash not found
key_revoked401Status REVOKED
key_expired401Status EXPIRED or ExpiresAt in the past
key_inactive401Any other non-active status
key_blocked403Status BLOCKED
internal_error500Key lookup failed

type is authentication_error for 401 and permission_error for 403.

There is no master API key on the gateway. Admin actions happen in the portal behind Entra ID and RBAC.