Skip to main content

Scopes

Scopes define what an API key or OAuth bearer token can do. Session callers skip scope checks because the dashboard uses route-level organization and product authorization instead. Use the smallest scope set that can complete the workflow.

Catalog

ScopeDescription
content:readRead site pages, markdown content, and llms.txt files
content:writeCreate, update, and delete site pages and content
prompts:readRead prompts, topics, and prompt analysis results
prompts:writeCreate, update, archive prompts
simulations:readRead agent-simulation tasks, runs, environments, and analytics
simulations:writeCreate and trigger simulation runs
logs:readRead AI-traffic logs and request-level audit events
analytics:readRead analytics aggregates, including rankings, mentions, sources, and SOV
products:readRead product metadata and competitor data
products:writeUpdate product settings and competitor lists
This catalog is copied from apps/client/src/lib/api/scopes.ts. Update both places whenever scopes are added, renamed, or removed.

Minimum scope examples

TaskMinimum scopes
Read-only dashboard integrationcontent:read
Content sync pipeline that writes pagescontent:read, content:write
Analytics export jobanalytics:read
Prompt reporting jobprompts:read
Simulation runnersimulations:read, simulations:write
Support or compliance audit exportlogs:read

Denied requests

If a token-style caller lacks a required scope, TPC returns 403:
{
  "ok": false,
  "code": "FORBIDDEN",
  "message": "insufficient_scope",
  "details": {
    "requiredScopes": ["content:write"],
    "missingScopes": ["content:write"]
  }
}
Create a new key or rotate the existing integration key from:
https://app.promptingco.com/{orgSlug}/settings/api-keys
Do not add write scopes to a key used only for dashboards or reporting.