List a user's explicit grants + revokes (admin)
GET /admin/users/{ref}/capabilities
Returns the per-user GRANT and REVOKE override lists. Role-derived capabilities are not included (they’re already returned by GET /auth/me/capabilities and the role editor surface). This list is the additive/subtractive delta admins manage by hand.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”Per-user grant + revoke override lists.
Per-user explicit GRANT + REVOKE override lists. Role-derived capabilities are NOT included — admins manage those through the role editor; this surface only exposes the additive / subtractive deltas attached directly to the user.
object
One row from either user_capability_grants or
user_capability_revokes. team_id is null for global
overrides, set for team-scoped ones. note is the
admin-supplied justification recorded at grant/revoke time.
expires_at is the optional time-bound
expiry. NULL means permanent (the existing default behavior);
non-null rows get reaped by the background capability
sweeper once NOW() passes the expiry.
object
Free-text justification — empty when none was supplied.
Acting admin’s user_ref at time of grant/revoke. Null when the row predates actor recording or was inserted by seed migration.
Optional auto-expiry timestamp. Null means permanent. Reaped by the background sweeper.
One row from either user_capability_grants or
user_capability_revokes. team_id is null for global
overrides, set for team-scoped ones. note is the
admin-supplied justification recorded at grant/revoke time.
expires_at is the optional time-bound
expiry. NULL means permanent (the existing default behavior);
non-null rows get reaped by the background capability
sweeper once NOW() passes the expiry.
object
Free-text justification — empty when none was supplied.
Acting admin’s user_ref at time of grant/revoke. Null when the row predates actor recording or was inserted by seed migration.
Optional auto-expiry timestamp. Null means permanent. Reaped by the background sweeper.
Authentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Authenticated but missing required capabilities
object
Human-readable error summary
Example
the request could not be completedResource not found
object
Human-readable error summary
Example
the request could not be completed