---
title: "Change a team member’s role"
method: PATCH
path: "/api/v1/teams/{teamId}/members/{memberId}"
tags: ["TeamMembers"]
---

# Change a team member’s role

`PATCH /api/v1/teams/{teamId}/members/{memberId}`

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/api/v1/teams/{teamId}/members/{memberId}`
- Auth: API key in cookie `__Secure-better-auth.session_token`

Session cookie required. Personal access tokens are not accepted. Only an owner may grant the `owner` role; everything else is the Better Auth org plugin’s gate, relayed verbatim.

## Path parameters

- `teamId` string, required
- `memberId` string, required

## Request body

- object
  - `role` 'owner' | 'admin' | 'member', required

## Response `200`

Role changed.

- OkResponse: Minimal success acknowledgement. `ok: true` confirms the mutation landed.
  - `ok` true, required

## Other responses

- `400`: Invalid body or role.
- `401`: Sign-in required.
- `403`: Refused by the owner-mint guard or the plugin gate.

---

[API](https://skmtc.dev/charm/apis/charming-api.md) · [All operations](https://skmtc.dev/charm/apis/charming-api/llms.txt) · [OpenAPI document](https://skmtc.dev/charm/apis/charming-api/revisions/a9d06c419b3a?raw)
