---
title: "Update project member"
method: PUT
path: "/v1/projects/{projectId}/members/{id}"
tags: ["Project"]
---

# Update project member

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

Updates an existing project member's information, including permission level and salary settings. Only project owners can change permissions to owner level.

## Path parameters

- `projectId` string, required
- `id` string, required

## Request body

- ProjectMemberUpdateDto
  - `permission` ProjectPermissionDto
    - `role` string
    - `manager` boolean
    - `owner` boolean
    - `member` boolean
    - `managerOrOwner` boolean

## Response `200`

Updated project member details

- ProjectMemberDto
  - `id` string
  - `projectId` string
  - `teamId` string
  - `user` string
  - `email` string
  - `firstname` string
  - `lastname` string
  - `imageUrl` string
  - `deleted` boolean
  - `permission` ProjectPermissionDto
    - `role` string
    - `manager` boolean
    - `owner` boolean
    - `member` boolean
    - `managerOrOwner` boolean
  - `lastUpdate` integer
  - `created` integer
  - `displayName` string
  - `initials` string

## Other responses

- `400` — Invalid request - missing required fields or validation errors
- `401` — Authentication required
- `403` — Insufficient permissions to update this project member
- `404` — Project or project member not found

---

[API](https://skmtc.net/timesheet/apis/timesheet-api.md) · [All operations](https://skmtc.net/timesheet/apis/timesheet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/timesheet/timesheet-api/versions/fbe59bacb638/schema)
