- Browser session
- Bearer token
Browser clients authenticate automatically via session cookies set at login. No additional configuration is needed — the browser sends the session cookie on every request.Session lifetimes:
Cookies are set with
| Session type | Duration |
|---|---|
| Web browser (active) | 2 hours |
| Web browser (idle) | 30 minutes |
| Remember Me | 30 days |
HttpOnly, Secure (HTTPS only), and SameSite=Lax flags to prevent JavaScript access and cross-site request forgery.CSRF tokens
State-changing requests — POST, PUT, and DELETE — require a valid CSRF token in addition to your session or Bearer token. This protects against cross-site request forgery attacks.Get a token
Response
Send the token
Pass the CSRF token in any one of these locations:| Location | Key |
|---|---|
| JSON request body | csrf_token |
| Form field or POST parameter | csrf_token |
| HTTP request header | X-CSRF-Token |
CSRF tokens are single-use and session-scoped. Fetch a fresh token for each state-changing operation or at the start of each user session.
Permissions
Access to each endpoint is controlled by a granular permission key in dot-notation, for exampleapi.jobs.manage.manage. Your account inherits permissions from the role your administrator assigns to you.
If you call an endpoint your role does not have permission for, you receive 403 Forbidden: