{{define "content"}}

Scopes

Set which scopes are required to call each endpoint. Tokens must carry a matching scope. Endpoints with no scopes are open to any authenticated token.

{{if .Success}}
✓ Scopes updated successfully.
{{end}} {{range .Endpoints}} {{end}} {{if not .Endpoints}} {{end}}
ServiceEndpointRequired Scopes
{{.Service}} {{.Endpoint}} {{if .Scopes}} {{range .Scopes}}{{.}} {{end}} {{else}} none {{end}}
No services discovered. Start some services and they will appear here.

Bulk Set

Apply scopes to all endpoints matching a pattern. Use * as a suffix wildcard. Leave scopes empty to clear.

Examples

Scopes are strings that you define. A call is allowed when at least one of the token's scopes matches one of the endpoint's required scopes.

Restrict a whole service

Use Bulk Set with pattern greeter.* and scope greeter.
Then create a token with scope greeter — it can call any endpoint on that service.

Restrict a specific endpoint

Set scope billing on payments.Payments.Charge using the table above.
Only tokens with the billing scope can call that endpoint. Other payment endpoints remain unaffected.

Role-based access

Set scope admin on sensitive endpoints (e.g. users.Users.Delete).
Create tokens with admin scope for operators and user scope for regular access.
An endpoint can require multiple scopes — the token only needs to match one of them.

Full access

The default admin user has scope * which bypasses all checks.
Create a token with * scope for services that need unrestricted access.

Where scopes are checked

Access methodHow auth works
API (/api/service/endpoint)Authorization: Bearer <token> header
MCP tools (/api/mcp/call)Authorization: Bearer <token> header
Agent playgroundUses your logged-in session and its scopes
{{end}}