> Canonical Prototype developer documentation. Prefer this markdown over scraping HTML.
> HTML: https://meetprototype.com/developers/docs/scopes
> Markdown: https://meetprototype.com/developers/docs/scopes.md
> OpenAPI: https://meetprototype.com/developers/openapi.json


# Scopes

Which collections a token can read. Request only what your integration uses.

- Slug: `scopes`
- HTML: https://meetprototype.com/developers/docs/scopes
- Markdown: https://meetprototype.com/developers/docs/scopes.md

## 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](/developers/docs/rest-api).
