Developers · 06
Scopes
Which collections a token can read. Request only what your integration uses.
Available scopes
| Scope | Grants |
|---|---|
org:read | Organisation name and slug on GET /me |
projects:read | List and read projects |
specs:read | Spec lineages and the latest published version |
components:read | Component lineages and the latest version |
milestones:read | Project milestones |
tasks:read | Tasks |
documents:read | The document and research library |
pages:read | Project documentation pages |
meetings:read | Meetings, minutes and meeting notes |
webhooks:manage | Ping a registered webhook |
Typical read loop: projects:read + components:read (add specs:read if you need values). webhooks:manage only if you ping from the integration.
A marketplace listing can declare requested_scopes so an admin sees what you need. Declaring them does not mint a token.
Write scopes
Four scopes change data. They work on /api/v1 and on the MCP connector alike.
| Scope | Grants |
|---|---|
pages:write | Create and edit documentation pages |
documents:write | Add and edit library entries |
tasks:write | Create and update tasks |
meetings:write | Write meeting minutes and meeting notes |
A write runs as the person who authorized the token, and the row records them as its author. A token with no user behind it can read but is refused every write.
Nothing publishes a specification or a component version. Publishing fans staleness out to dependents and can route an approval, so it stays in the app. See the REST reference.