---
title: "Update Project Member Role"
method: PUT
path: "/v1/projects/{projectId}/members/{userId}"
tags: ["Project Members"]
---

# Update Project Member Role

`PUT /v1/projects/{projectId}/members/{userId}`

## Request

- Base URL: `https://api.confident-ai.com`
- URL: `https://api.confident-ai.com/v1/projects/{projectId}/members/{userId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/docs/v1/projects/:projectId/members/:userId/put.ts> (a function with typed inputs; its response is checked against the schema)

Changes a member's project role. Assigning the `Owner` role to another member transfers ownership, demoting the current Owner to `Manager`.

## Path parameters

- `projectId` string, required
- `userId` string, required

## Request body

- UpdateMemberRole
  - `roleId` string, required: The id of the role to assign to the member.

## Response `200`

- ProjectMemberResponse
  - `success` boolean, required: Indicates if the request was successful
  - `data` object, required
    - `member` ProjectMember
      - `id` string, required: Unique identifier for the member
      - `email` string, required: The member's email address
      - `name` string, nullable: The member's display name
      - `image` string, nullable: URL of the member's avatar image
      - `projectRole` NamedRef
        - `id` string, required: Unique identifier
        - `name` string, required: Name

## Changes

> 54 revisions in range; 3 not diffed.

- **2026-05-31** `173563ada468`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/changes/v1/projects/:projectId/members/:userId/put.md)

---

[API](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api.md) - [All operations](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/revisions/95cdde71b65e?raw)
