---
title: "Add a user to a project or update their project role"
method: POST
path: "/projects/{project_id}/members"
---

# Add a user to a project or update their project role

`POST /projects/{project_id}/members`

Upsert (insert or update) a user's role for a project.

The caller must have ``project:manage_members`` on the project's
organization — enforced by RLS on the user-scoped client. The target
user must already belong to the caller's organization.

## Path parameters

- `project_id` string, required

## Request body

- UpsertProjectMemberBody
  - `user_id` string, required — ID of the user whose project role to set.
  - `project_role_id` string, required — ID of the project role to assign.

## Response `204`

Successful Response

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
