Skip to main content
err:unkey:authentication:missing
The endpoint didn’t find a credential it accepts, so it couldn’t tell who you are. You get HTTP 400.
Example response

Likely causes

  • You called a portal endpoint (portal.listKeys, portal.rerollKey, portal.getVerifications) with an Authorization header. Those endpoints only accept the portal_session cookie, and ignore it when an Authorization header is present. The message is You must provide a bearer credential in the Authorization header.
  • You put the root key in the body or a custom header instead of Authorization.
  • Rarely, an endpoint that needs a signed-in caller got a request without one. The message is You must authenticate before accessing this resource.
A request with no Authorization header at all returns err:unkey:application:invalid_input instead. A header that isn’t in the form Bearer <token> returns err:unkey:authentication:malformed.

How to fix

  1. Send your root key as a bearer token on every request:
    The key you’re verifying goes in the body. The root key goes in the header.
  2. On a portal endpoint, drop the Authorization header and send the portal_session cookie instead.
Create or rotate root keys under Root Keys in the dashboard sidebar. See Root keys.
Last modified on October 22, 2026