Skip to content

Scopes

A scope says what a token may be used for. Ask only for the scopes your app needs: the consent screen lists each one in plain words.

Effective access is always the token’s scopes ∩ what the caller may do now. A scope never lifts a role, and a role never lifts a scope. For a person, that is their current role, checked on every request. For a machine client, it is the client’s acting role (never admin) and its library restriction, if any.

A call without the scope it needs answers 403 INSUFFICIENT_SCOPE with error.scope and WWW-Authenticate: Bearer error="insufficient_scope", scope="…". A call your role does not allow answers 403 FORBIDDEN.

ScopeWhat the consent screen saysLowest roleMachine clients
assessments:readRead questionnaires and their answersUserYes
assessments:writeUpload questionnaires and start AI drafting (uses your organization's AI budget)UserYes
questions:writeEdit answers during reviewReviewerYes
assessments:reviewSend questionnaires to Finalize on your behalfReviewerNo (people only)
assessments:finalizeFinalize questionnaires on your behalf — their answers become approved knowledgeApproverNo (people only)
knowledge:readRead approved answers and their sourcesUserYes
knowledge:askAsk questions — answers may be composed by AI from approved answers and use your organization's AI budgetUserYes
knowledge:gapsSee questions without approved answersUserYes
knowledge:proposePropose answers for review — nothing becomes an approved answer until an approver accepts itUserYes
review:readSee the knowledge review queueReviewerYes
library:writeAdd documents to your knowledge librariesReviewerYes
documents:downloadDownload your organization's source documentsUserYes
audit:readRead your organization's audit logAdminOnly with an admin's explicit grant

GET /v1/me works with any valid token, and GET /v1/openapi.json needs none. These lists and the reference are generated from the same OpenAPI description.

  • knowledge:propose also needs the role permission Propose answers from apps and AI tools; proposing an edit to an existing answer needs a reviewer. Whatever the role, proposals always wait for an approver.
  • assessments:review and assessments:finalize are for people only. A machine client cannot hold them.
  • assessments:finalize and audit:read are sensitive: the consent screen warns about them and needs a sign-in in the last 12 hours.
  • audit:read is the one admin-level scope. A machine client gets it only when an admin ticks it explicitly for that client.
  • Operations that use AI (POST /v1/ask, Process, regenerate) spend your organization’s AI budget.
  • When a person’s role is lowered, their connections keep only the scopes the new role allows.

Four scopes are shared with AI tools (MCP): knowledge:read, knowledge:ask, knowledge:gaps and knowledge:propose. A token is issued for either the API or MCP, never both.

Scopes are never removed from /v1. New scopes can be added (see Versioning).

Privacy preference center

When you visit tradecrafthub.ai, we store or read a small number of cookies in your browser. Strictly necessary cookies make the website and the Tradecraft app work. Analytics cookies are used only if you allow them. Open a category to learn more, and see our privacy policy for how we handle the information you enter on this site.

Manage consent preferences

  • Always active