Skip to main content
HTTP 401 · type authentication. The Authorization header is missing, isn’t a bearer token, or the key doesn’t exist. (A key that existed and was revoked returns key_revoked instead.) Nothing ran and nothing was charged.

The shape

How to fix

  • Send the key as Authorization: Bearer fn_live_… (or fn_test_…). No other auth scheme is accepted.
  • Check for truncation or whitespace — keys are shown once at mint; if yours is lost, mint a new one at platform.fiveninelabs.com (minting is dashboard-only).
  • Confirm which environment your process actually loaded: a fn_test_ key where you expected fn_live_ authenticates fine but never spends — an unknown-key 401 usually means the env var is empty or stale.
  • Prove the fix with the $0 identity call: GET /v1/me.

Reproduce it