---
title: "Update a team member"
method: PATCH
path: "/api/v2/teams/{slug}/members/{member_id}/"
tags: ["Teams"]
---

# Update a team member

`PATCH /api/v2/teams/{slug}/members/{member_id}/`

## Request

- Base URL: `https://app.biel.ai`
- URL: `https://app.biel.ai/api/v2/teams/{slug}/members/{member_id}/`
- Auth: API key in header `Authorization`

Change a member's role. The `id` is the membership id returned by [`GET /api/v2/teams/{slug}/members/`](/api/list-team-members).

**Required permission:** `teams_update`

## Path parameters

- `slug` string, required
- `member_id` integer, required

## Request body

- TeamMemberUpdate: Mutable fields on a team membership.
  - `role` 'admin' | 'maintainer' | 'editor' | 'viewer', required: New role for the member.

## Response `200`

Member updated successfully

- TeamMember: A user who belongs to a team.
  - `id` integer, required: Membership id (not the user id).
  - `user_id` integer, required: Underlying user id.
  - `first_name` string, nullable: Member first name.
  - `last_name` string, nullable: Member last name.
  - `display_name` string, required: Display name (full name when available, otherwise email).
  - `role` 'admin' | 'maintainer' | 'editor' | 'viewer', required: Member role in the team.

## Other responses

- `400`: Validation error. Field-level errors keyed by field name.
- `403`: Forbidden. Missing permissions.
- `404`: Resource not found.

---

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