OAuth Scope Builder
Interactively build ATProtocol OAuth scope strings for your application
Scope Format Reference
| Type | Format | Example |
|---|---|---|
| Base | atproto |
Required for all atproto OAuth sessions |
| Permission Set | include:nsid[?aud=...] |
include:app.bsky.permissions.read |
| Repository | repo[:collection][?action=...] orrepo?collection=...&collection=...[&action=...] |
repo:app.bsky.feed.post?action=create&action=deleterepo?collection=foo.bar&collection=foo.bazNote: Omitting actions grants full access (any action) |
| RPC | rpc[:lxm][?aud=...] orrpc?lxm=...&lxm=...[&aud=...] |
rpc:app.bsky.feed.getTimeline?aud=did:web:api.bsky.apprpc?lxm=foo.bar&lxm=baz.qux |
| Blob | blob[:accept] |
blob:image/* |
| Account | account[:attr][?action=...] |
account:email, account:repo?action=manage |
| Handle | identity[:attr] |
identity:handle, identity:* |
| Transition | transition:generic, transition:chat.bsky, transition:email |
Legacy app password equivalent access |
Note: Partial wildcards are NOT supported (e.g., app.bsky.* is invalid).
Scopes are space-separated in the final string. See the
ATProtocol Permission Spec for full details.