Authentication & scopes

A key belongs to exactly one organization and may only do what its scopes allow.

API keys

Header: Authorization: Bearer capi_… The key identifies organization and access; the organization is inside the key, never in the call. Keys can expire and be restricted to IP addresses.

Scopes

Pattern resource:read and resource:write (write includes read), e.g. contacts:read, invoices:write. A missing scope yields 403 naming the required scopes.

http
HTTP/1.1 403 Forbidden
Content-Type: application/problem+json

{
  "type": "https://www.claritos.io/developers/errors#insufficient-scope",
  "title": "Insufficient scope",
  "status": 403,
  "code": "insufficient-scope",
  "requiredScopes": ["contacts:write"],
  "instance": "6f1c…"
}

Rotation

Rotating creates a new key with the same rights; the old one keeps working for 24 hours. Revocation is immediate.

Security

We store only a sha256 fingerprint. Never put keys into client code, repositories or logs. On suspicion, rotate or revoke immediately.