Update a member's role
PATCH
/api/organizations/{organizationId}/members/{id}
Changes a member's role within the organization. Only the "role" field is mutable; the user and organization associations cannot be changed. Constraints and side effects: you cannot edit your own membership (rejected with 409 - have another OWNER change your role); only an existing OWNER may promote a member to OWNER; and the organization must always retain at least one OWNER, so demoting the last OWNER is rejected.
Authorizations
ApiToken
Long-lived API token created via POST /api/api-tokens (returned once in plaintext).
Type
API Key (header: X-API-TOKEN)
or
JWT
JWT access token obtained via POST /api/auth/login. Send as: Authorization: Bearer
Type
HTTP (bearer)
Parameters
Path Parameters
organizationId*
Organization identifier
Type
Requiredstring
id*
member identifier
Type
Requiredstring
Request Body
application/merge-patch+json
JSON "role": "MANAGER"
{
}
Responses
member resource updated
JSON "@context": "string", "@id": "string", "@type": "string", "id": "5c2e1f9a-3b7d-4c6e-8a1f-0b2d3e4f5a6b", "user": { "@context": "string", "@id": "string", "@type": "string", "id": "9f1b6c2e-1e4a-4c3a-9c8b-1d2e3f4a5b6c", "email": "jane.doe@example.com", "firstName": "Jane", "lastName": "Doe" }, "organization": "https://example.com/", "role": "MANAGER", "invitedBy": { "@context": "string", "@id": "string", "@type": "string", "id": "9f1b6c2e-1e4a-4c3a-9c8b-1d2e3f4a5b6c", "email": "jane.doe@example.com", "firstName": "Jane", "lastName": "Doe" }, "joinedAt": "2025-06-15T10:30:00+00:00"
{
}
