---
title: "Update member"
method: PATCH
path: "/v1/people/{id}"
tags: ["People"]
---

# Update member

`PATCH /v1/people/{id}`

Partially updates a member. Only provided fields will be updated. Supports both API key authentication (X-API-Key header) and session authentication (Bearer token or cookies).

## Path parameters

- `id` string, required

## Request body

- UpdatePeopleDto
  - `userId` string — User ID to associate with this member
  - `role` string — Role for the member (built-in role name or custom role ID)
  - `department` 'none' | 'admin' | 'gov' | 'hr' | 'it' | 'itsm' | 'qms' — Member department
  - `isActive` boolean — Whether to deactivate this member (soft delete)
  - `fleetDmLabelId` number — FleetDM label ID for member devices
  - `jobTitle` string — Job title for the member
  - `name` string — Name of the associated user
  - `email` string — Email of the associated user
  - `createdAt` string — Member join date (createdAt override)

## Response `200`

Member updated successfully

- PeopleResponseDto
  - `id` string, required — Member ID
  - `organizationId` string, required — Organization ID this member belongs to
  - `userId` string, required — User ID associated with member
  - `role` string, required — Member role
  - `createdAt` string, date-time, required — When the member was created
  - `department` 'none' | 'admin' | 'gov' | 'hr' | 'it' | 'itsm' | 'qms', required — Member department
  - `jobTitle` object, nullable, required — Job title for the member
  - `isActive` boolean, required — Whether member is active
  - `deactivated` boolean, required — Whether member is deactivated
  - `fleetDmLabelId` object, nullable, required — FleetDM label ID for member devices
  - `user` UserResponseDto, required
    - `id` string, required — User ID
    - `name` string, required — User name
    - `email` string, required — User email
    - `emailVerified` boolean, required — Whether email is verified
    - `image` object, nullable, required — User profile image URL
    - `createdAt` string, date-time, required — When the user was created
    - `updatedAt` string, date-time, required — When the user was last updated
    - `lastLogin` object, nullable, required — Last login time
    - `role` object, nullable, required — Platform role of the user (managed by Better Auth admin plugin)

## Other responses

- `400` — Bad Request - Invalid update data or user conflict
- `401` — Unauthorized - Invalid authentication or insufficient permissions
- `404` — Organization, member, or user not found
- `500` — Internal server error

## Changes

- **2026-04-03** `805d5411bc33` — 1 info
  - added the required property `deactivated` to the response with the `200` status

[Change history](https://skmtc.dev/trycompai/apis/comp-ai-api/changes/v1/people/:id/patch.md)

---

[API](https://skmtc.dev/trycompai/apis/comp-ai-api.md) · [All operations](https://skmtc.dev/trycompai/apis/comp-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycompai/comp-ai-api/revisions/267b1aa90d52/schema)
