Change a team member's role
curl -X PATCH https://api.subscriby.net/v1/teams/$TEAM_ID/members/$USER_ID/role \
-H "Authorization: Bearer $SUBSCRIBY_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"role": "manager"}'
Moves a collaborator onto another of the team's roles. The team owner cannot be re-roled: ownership is not a membership row and carries everything unconditionally. Answers 200 with the membership and emits team.member.role_changed.
Changing a member's role has no dashboard equivalent: the settings page offers invite, remove and cancel-invitation only, so this endpoint is the only way to move someone between roles without removing and re-inviting them.
Request
- Base URL: https://api.subscriby.net
- URL: https://api.subscriby.net/v1/teams/{team}/members/{member}/role
- Auth: HTTP bearer
Path parameters
The team, resolved by the route binder.
The membership, resolved by the route binder.
Headers
A key unique to this operation, such as a fresh UUID. The same key replays the original 2xx response for 24 hours (with Idempotent-Replay: true), so a retry after a timeout never repeats the write; the same key with a different body is refused with 409.
Request body
Response
The membership after the change.
Example response
{
"data": {
"id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
"team_id": "a83f0d51-4c92-4b7e-8615-2fd9e70a3c86",
"name": "Priya Patel",
"email": "priya@example.com",
"role_id": "d05e1a83-7c46-4f29-b613-8ae407c9d251",
"joined_at": "2026-04-02T14:15:00Z"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.