Skip to main content
The Holos API uses token-based authentication. Every request must include a session token in the Authorization header. Tokens are obtained through a passwordless magic link flow.

Obtaining a token

Authentication is a three-step flow: 1. Request a magic link
2. Authenticate the token from the link The user receives an email containing a magic link. Extract the token from the link and exchange it:
This returns an intermediate_session_token along with a list of organizations the user belongs to. 3. Exchange for an org-scoped session
The response contains a session.jwt. This is the token you’ll use for all subsequent requests.

Making authenticated requests

Pass the session JWT as a bearer token:
Requests without a valid token receive a 401 Unauthorized response.

Token expiry

Session tokens expire after a configurable period. When a token expires, re-authenticate using the magic link flow above. The Holos dashboard and apps handle refresh automatically.

Organization context

Most API endpoints are scoped to an organization, identified by its slug or ID in the URL path:
A user may belong to multiple organizations. The session token is valid across all orgs the user is a member of, but authorization is enforced per-org based on the user’s role.

Roles