Authentication methods
JWT token authentication
The primary authentication method uses JSON Web Tokens (JWT).Sign in
Using the token
Include the JWT token in the Authorization header:Token refresh
Tokens expire after a set period. Use the refresh token to obtain a new access token:Cookie-based authentication
For web applications, cookie-based authentication is available:OAuth and SSO
OpenID Connect (OIDC)
Okta SAML
Microsoft Dynamics
Power Apps authentication
For Power Apps integrations, use Entra ID (Azure AD) authentication:GraphQL authentication
For GraphQL requests, include the token in the Authorization header:Admin authentication
Admin endpoints require admin-level authentication:Token expiration
- Access tokens: Expire after 24 hours
- Refresh tokens: Expire after 30 days
- Session cookies: Expire after 7 days of inactivity
Security best practices
Store tokens securely
- Never store tokens in localStorage for production applications
- Use httpOnly cookies when possible
- Store tokens in secure, encrypted storage
Token rotation
Implement token rotation to minimize security risks:Handle token expiration
Implement automatic token refresh:Logout
Always implement proper logout:Permissions and roles
Users have different permission levels based on their roles:- Admin - Full system access
- User Admin - User management within organization
- Author - Create and edit templates
- Operator - Execute jobs and record data
- Approver - Approve template versions
- Publisher - Publish templates
- Viewer - Read-only access
Multi-tenancy
The API supports multi-tenant architecture. Each request is scoped to the authenticated user’s client:On-premise deployments
For on-premise deployments, license key validation is required:Error responses
Invalid credentials
Expired token
Insufficient permissions
Next steps
- GraphQL API - GraphQL endpoint documentation
- REST API - REST endpoint documentation
