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

# Change a team member's role

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

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/teams/{teamId}/members/{memberId}`
- Auth: HTTP bearer

Changes a member's role by member id or user email. Only an owner can grant the owner role, and the last owner's role cannot be changed until another owner exists.

## Path parameters

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

## Request body

- object
  - `role` 'owner' | 'admin' | 'member', required: The role to grant this member.

## Response `200`

Response for status 200

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` object, required
    - `id` string, required: The membership id, stable for the life of the membership.
    - `teamId` string, required: The team this membership belongs to.
    - `userId` string, required: The member's user id.
    - `role` 'owner' | 'admin' | 'member', required: The member's role on the team.
    - `createdAt` string, date-time, required: Instant the member joined the team.
    - `user` object, nullable, required: The member's user record; null when the user row is unavailable.
      - `id` string, required: The member's user id.
      - `name` string, required: The member's display name.
      - `email` string, email, required: The member's email address.
      - `image` string, nullable, required: Avatar URL, or null when the user has none.

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

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