API Reference
The platform provides a REST API for all operations. API documentation is available directly from the platform:
- Swagger UI -- Endpoint documentation with request/response schemas
- ReDoc -- Alternative API reference
Both are read-only references generated automatically from the API's OpenAPI specification and are always up to date with the running platform version.
Authentication
All API endpoints require authentication. To use the API:
-
Obtain an API key from a Jaxon platform administrator. The administrator creates a service account in Authentik and provides the API key (token).
-
Exchange the API key for an access token using OAuth 2.0 Client Credentials Grant:
curl -X POST https://<host>/application/o/token/ \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=jaxon-client" \ -d "username=<service-account-username>" \ -d "password=<api-key>" \ -d "scope=openid profile email"The response includes an
access_token(JWT). -
Decode the groups claim from the access token JWT. The
groupsclaim contains the list of Authentik groups the service account belongs to. Select one of these groups to use as the active group context for API requests. -
Include both headers on every API request:
curl https://<host>/api/v1/projects \ -H "Authorization: Bearer <access_token>" \ -H "X-Jaxon-Active-Group: <group-name>"
Required Headers
| Header | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer token (the JWT access token from step 2) |
X-Jaxon-Active-Group |
Yes | One of the groups from the access token's groups claim. Determines which group context is active for the request. |
Token Refresh
Access tokens expire after 1 hour. Repeat the Client Credentials Grant request with the API key to obtain a new token.