Scope list
For now, read scopes only control which events your app receives. Apps have no read endpoints.
Some things need no scope:
- Rendering your own blocks and running their actions when a member clicks.
- Resolving and searching your own references.
- Reading, querying and revalidating your own blocks.
- Updating the block an action runs on with its interaction token, within 15 minutes.
- The
app.installed,app.uninstalled,app.reconsentRequired,block.createdandblock.removedevents.
Declaring scopes
Declare scopes on the piece whose code uses them:replies:write from its options and decisions:read from the event it
handles. Blocks contribute the scopes of their actions. Routes contribute none and may only use
scopes that other pieces declare.
Calling a method the piece’s scopes don’t cover is a type error: the method’s type becomes
RequiresScope<"blocks:write">, which names the scope to add. An unknown scope name is also a type
error.
At runtime
Reintersect checks scopes on every API request. A request without the scope fails with403 and
ReintersectAppScopeMissingError: