Team Members

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.

patch/v1/teams/{team}/members/{member}/role

Request

  • Base URL: https://api.subscriby.net
  • URL: https://api.subscriby.net/v1/teams/{team}/members/{member}/role
  • Auth: HTTP bearer

Path parameters

teamstring uuid required

The team, resolved by the route binder.

memberstring required

The membership, resolved by the route binder.

Headers

Idempotency-Keystring uuid required

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

rolestring required

A role code on the team, such as manager, not a role id. An unknown code is refused.

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.