admin-users

Replace a user's manageable roles. Rejects paid/unknown roles, refuses self-demotion out of admin, and (in the DB tx) refuses to remove the last admin. On success, the target's sessions are invalidated so the change takes effect on their next request.

Changed on
put/api/admin/users/{id}/roles

Request

  • The document declares no server URL.
  • Auth: none declared

Path parameters

idstring required

User ID

Request body

rolesstring[] required

The full desired set of manageable roles for the user (see MANAGEABLE_ROLES). Paid tiers and the default user role are left untouched; passing a non-manageable role is rejected.

Response

Roles updated

created_atstring required
display_namestring required
emailstring required
email_verifiedboolean required
handlestring nullable
idstring required
rolesstring[] required

All roles the user holds, including the default user role and any paid (Stripe-managed) tiers. The UI renders paid roles read-only.

Changes