--- title: "Scopes | distribution.tech" description: "The nine API key scopes, what each one lets a key read or change, and which two need a spending mandate." canonical: https://distribution.tech/docs/api/scopes generator: md-live-route generated: 2026-10-19T11:02:47.844Z --- # Scopes | distribution.tech - [Getting started](https://distribution.tech/docs) - [API reference](https://distribution.tech/docs/api) - [MCP and agents](https://distribution.tech/docs/agents) - [Changelog](https://distribution.tech/docs/changelog) Docs - Using the API › - [API reference](https://distribution.tech/docs/api) - [Authentication](https://distribution.tech/docs/api/authentication) - [Scopes](https://distribution.tech/docs/api/scopes) - [Errors](https://distribution.tech/docs/api/errors) - Inventory and audience › - [GET /audience](https://distribution.tech/docs/api/get-audience) - [GET /inventory](https://distribution.tech/docs/api/get-inventory) - Creators › - [GET /creators](https://distribution.tech/docs/api/get-creators) - [GET /creators/{id}](https://distribution.tech/docs/api/get-creators-id) - [POST /creators/{id}/price-request](https://distribution.tech/docs/api/post-creators-id-price-request) - Campaigns › - [GET /campaigns](https://distribution.tech/docs/api/get-campaigns) - [POST /campaigns](https://distribution.tech/docs/api/post-campaigns) - [GET /campaigns/{id}](https://distribution.tech/docs/api/get-campaigns-id) - [PATCH /campaigns/{id}](https://distribution.tech/docs/api/patch-campaigns-id) - [DELETE /campaigns/{id}](https://distribution.tech/docs/api/delete-campaigns-id) - [POST /campaigns/{id}/archive](https://distribution.tech/docs/api/post-campaigns-id-archive) - [POST /campaigns/{id}/creator-guidelines](https://distribution.tech/docs/api/post-campaigns-id-creator-guidelines) - Plans › - [POST /plans/{id}/approve](https://distribution.tech/docs/api/post-plans-id-approve) - [POST /plans/{id}/dates](https://distribution.tech/docs/api/post-plans-id-dates) - [POST /plans/{id}/lines](https://distribution.tech/docs/api/post-plans-id-lines) - [GET /plans/{id}/quote](https://distribution.tech/docs/api/get-plans-id-quote) - [DELETE /plans/{id}/lines/{line\_id}](https://distribution.tech/docs/api/delete-plans-id-lines-line-id) - [POST /plans/{id}/lines/{line\_id}/swap](https://distribution.tech/docs/api/post-plans-id-lines-line-id-swap) - Proof and results › - [GET /evidence](https://distribution.tech/docs/api/get-evidence) - [GET /results](https://distribution.tech/docs/api/get-results) - Company context › - [GET /brain](https://distribution.tech/docs/api/get-brain) - Feedback › - [GET /feedback](https://distribution.tech/docs/api/get-feedback) - [POST /feedback](https://distribution.tech/docs/api/post-feedback) 1. [distribution](https://distribution.tech/) 2. / [Docs](https://distribution.tech/docs) 3. / [API reference](https://distribution.tech/docs/api) 4. / Scopes Using the API # Scopes The nine API key scopes, what each one lets a key read or change, and which two need a spending mandate. Last updated October 19, 2026 Copy page as markdown [View .md](https://distribution.tech/docs/api/scopes.md) ## The scopes A key carries one or more scopes, picked when it is created in **Developers**. Each read has its own scope, and two scopes spend or commit (`campaigns:write`, `plans:approve`). One smaller write rides on a read scope: asking a creator for a price needs `creators:read`. | Scope | What it allows | Writes | | --- | --- | --- | | `inventory:read` | Network coverage for your audience | No | | `audience:read` | Audience fit for a campaign or a profile | No | | `campaigns:read` | Campaigns and where each stands | No | | `evidence:read` | Proof of each paid post | No | | `results:read` | Results of each paid post | No | | `brain:read` | Your company context | No | | `creators:read` | Approved creators on sale, by name, with price per format, and asking a creator for a price | No spend | | `campaigns:write` | Start campaigns and change the creators on a plan, within its mandate | Yes | | `plans:approve` | Sign a plan and get its payment link, within its mandate | Yes | ## Writes need a mandate A key with `campaigns:write` or `plans:approve` acts only inside the mandate the brand sets on it: the most a plan may total, a monthly cap, the channels, whether it may sign, an expiry, and the brand terms a person accepted for it. A write outside it is refused with `403 mandate_refused` before anything is spent. See [Authentication](https://distribution.tech/docs/api/authentication). ## A missing scope A REST call outside the key's scopes answers `403 forbidden` and names the scope it needs. Over MCP, a tool whose scope the key lacks is not listed for that key, so an agent never sees a tool it cannot call. ## Choosing scopes Give each agent the fewest scopes it needs. A reporting agent needs `campaigns:read`, `evidence:read` and `results:read`. An agent that plans campaigns adds `campaigns:write` and the reads it searches with. Keep `plans:approve` on the key of the agent you trust to sign, with a mandate that caps what it may spend. A key comes from Developers once your brand is approved. [Connect an agent](https://distribution.tech/distribution#access) to ask for access, then make your first call from the [quickstart](https://distribution.tech/docs/quickstart). On this page - [The scopes](#the-scopes) - [Writes need a mandate](#writes-need-a-mandate) - [A missing scope](#a-missing-scope) - [Choosing scopes](#choosing-scopes) [![distribution.tech](https://distribution.tech/brand/wordmark-light.svg)![distribution.tech](https://distribution.tech/brand/wordmark.svg)](https://distribution.tech/) Your agent buys your distribution. Distribution we run for - ClickUp - Gushwork - Tab Platform - [How it works](https://distribution.tech/how-it-works) - [Network](https://distribution.tech/network) - [Workspace](https://app.distribution.tech/login) - [For your agents](https://distribution.tech/distribution) Solutions - [Product launch](https://distribution.tech/solutions/product-launch) - [Funding announcement](https://distribution.tech/solutions/funding-announcement) - [Feature release](https://distribution.tech/solutions/feature-release) - [For brands](https://distribution.tech/for-brands) - [For creators](https://distribution.tech/for-creators) Resources - [Blog](https://distribution.tech/blog) - [Launch playbook](https://distribution.tech/playbook) - [X creator rates](https://distribution.tech/rates/x-creators) Company - [Customers](https://distribution.tech/customers) - [Pricing](https://distribution.tech/pricing) - [Changelog](https://distribution.tech/changelog) - [Build a distribution plan](https://app.distribution.tech/login) - [Join the creator network](https://distribution.tech/for-creators#apply) - [Log in](https://app.distribution.tech/login) Legal - [Privacy](https://distribution.tech/privacy) - [Terms](https://distribution.tech/terms) © 2026 distribution.tech [Contact: team@distribution.tech](mailto:team@distribution.tech)Cookie settings Light Dark System