---
title: "Add or update project member"
method: PUT
path: "/projects/{project_id}/members/{user_id}"
tags: ["projects"]
---

# Add or update project member

`PUT /projects/{project_id}/members/{user_id}`

## Request

- Base URL: `https://api.cogram.com/v1`
- URL: `https://api.cogram.com/v1/projects/{project_id}/members/{user_id}`
- Auth: HTTP bearer

Add or update a project member.

If the user is not a member, they will be added with the specified role.
If the user is already a member, their role will be updated.
The user must exist in the same organization as the API key.

## Path parameters

- `project_id` string, required
- `user_id` string, uuid, required

## Request body

- ProjectMemberUpdateV1: Add/update project member request.
  - `role` 'MEMBER' | 'OWNER' | 'LEAD' | 'VIEWER', required: Per-project role: OWNER manages membership, LEAD manages the project but not membership, MEMBER read/write, VIEWER read-only.

## Response `204`

Successful Response

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

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