---
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
- **2026-03-16** `9b8ae4b8ab67` — 1 breaking, 1 info
  - removed the required property `user/allOf[#/components/schemas/UserResponseDto]/isPlatformAdmin` from the response with the `200` status
  - added the required property `user/allOf[#/components/schemas/UserResponseDto]/role` to the response with the `200` status
- **2026-03-05** `946edaa856a9` — 1 warning, 4 info
  - deleted the `header` request parameter `X-Organization-Id`
  - added the new optional request property `createdAt`
  - added the new optional request property `email`
  - added the new optional request property `name`
  - …1 more

[Change history](https://skmtc.dev/om-network/apis/betayum-api/changes/v1/people/:id/patch.md)

---

[API](https://skmtc.dev/om-network/apis/betayum-api.md) · [All operations](https://skmtc.dev/om-network/apis/betayum-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/om-network/betayum-api/revisions/ac8d1e4e2e79/schema)
