https://cloud.onyx.app/api or https://your-self-hosted-onyx.com/api
Onyx follows SemVer 2.0.0. Breaking changes will be indicated by major version increments.
This page applies to Onyx v4.7 and later, which replaced API key roles with group-based permissions.
For older versions, see Overview & Auth before v4.7.
Authentication
Every request authenticates with a Bearer token in theAuthorization header:
API Keys
API Keys are created by admins from the Admin Panel. Each key exists as a distinct service account user in Onyx, so you can trace activity, keep chat sessions private, and scope resources to a specific key. A service account has no permissions of its own. Its access comes from the groups you assign to it when you create the key.
Permissions add together. A key in several groups receives the union of their permissions.
Custom groups and configurable group permissions are an Enterprise Edition feature.
Personal Access Tokens
Personal Access Tokens (PATs) let a user authenticate API requests as themselves. To create a token, go to Settings > Accounts & Access and click Create New Token. Give it a name, choose an expiration (7 days, 30 days, 365 days, or never), and choose its permissions:
A limited token can pick from these scopes:
Scopes only narrow access. A limited token receives the scopes you selected and your own permissions,
never more than you can do yourself. A limited token is also rejected on any endpoint outside its scopes,
even one you can reach in the browser.
Creating a token requires the Create User Access Token permission, which an admin grants to a group.
Admins always have it.
Permissions
Every endpoint page in the API Reference states the permission it requires. Permissions come from the groups a user or service account belongs to:basic from the Basic group that every user joins, and admin from the Admin group, which passes every check.
This permission model applies to Onyx v4.7 and later. For how groups, group permissions, and Group Managers work,
see Understanding Permissions.
GET /me/permissions identify a permission by its value.
Each value maps to a permission an admin grants to a group in the Admin Panel:
A management permission also grants the reads it needs —
manage:connectors includes read:connectors —
so a caller resolves to more permissions than were granted.
Checking what a token can do
GET /me/permissions returns the caller’s resolved permissions:
403:
API Reference and Playground
In the API Reference, we have curated a subset of useful Onyx API endpoints. You can experiment with the endpoints on each page or follow one of our Guides. You can find all Onyx API endpoints in the built-in OpenAPI explorer:https://cloud.onyx.app/api/docs or https://your-onyx-domain.com/api/docs
Next Steps
Core Concepts
Learn the fundamental concepts and terminology for working with Onyx APIs
Guide: Send a Chat Message
Simple example of sending a message programmatically