Problem reference · HTTP 401

unauthorized

The request lacked valid credentials: no credential was sent, or the one sent is invalid, expired or revoked.

Example response

HTTP/1.1 401 Unauthorized
Content-Type: application/problem+json
X-Request-ID: 7d1e9c2a-3b4f-4c5d-8e6f-9a0b1c2d3e4f

{
  "type": "https://docs.talero.dk/problems/unauthorized",
  "title": "Authentication required",
  "status": 401,
  "detail": "Invalid or revoked API key.",
  "code": "unauthorized"
}

Common causes

  • No X-API-Key or Authorization: Bearer header on the request.
  • The API key was revoked — for example during the August 2026 credential-storage upgrade, which re-issued all keys (see the changelog).
  • The OAuth access token has expired — access tokens live for 1 hour.
  • The credential is malformed: truncated, wrapped in quotes, or with surrounding whitespace from a copy-paste.
  • The key was sent in the wrong header (API keys go in X-API-Key, OAuth tokens in Authorization: Bearer).

How to fix it

  • Verify the header name and that the full credential was sent (API keys are tlr_live_ plus 48 hex characters).
  • For OAuth, refresh the access token with your refresh token, and re-authorize the user if the refresh token is invalid — see Authentication.
  • If the key was revoked, have the company owner create a new key under Indstillinger → API-nøgler (Settings → API keys).

If the problem persists, contact [email protected] and quote the X-Request-ID header from the failing response.