Change a member's role
Moves a member to a different org role. Setting the role they already hold is an idempotent no-op that still answers 200.
Roles rank org_owner > org_admin > org_viewer. Rules enforced, each a 403 when broken:
- only an
org_ownermay promote anyone toorg_owner, or change the role of another owner; - nobody may change the role of a member whose role is equal to or above their own (an
org_adminmanagesorg_viewers, not other admins); - nobody may grant a role above their own.
Lowering your own role (stepping down) is always allowed. The organization's last remaining owner cannot be demoted (400) — promote another member to owner first.
Requires permission: org.manage_members
Authorizations
In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.
Parameters
Path Parameters
The organization's slug (not its UUID).
"local-food-bank-a1b2c3""^[a-z0-9][a-z0-9-]{0,254}$"The member's profile id. A non-UUID answers 404 Member not found.
"uuid"Request Body
Responses
Role updated (or already held)