---
title: "Create a new member"
method: POST
path: "/v1/people"
tags: ["People"]
---

# Create a new member

`POST /v1/people`

Adds a new member to the authenticated organization. The user must already exist in the system.

## Request body

- CreatePeopleDto
  - `userId` string, required — User ID to associate with this member
  - `role` string, required — 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 member is active
  - `fleetDmLabelId` number — FleetDM label ID for member devices
  - `jobTitle` string — Job title for the member

## Response `201`

Member created 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)
  - `backgroundCheckRequests` BackgroundCheckSummaryDto[] — Background check requests for this member
    - `id` string, required — Background check request ID
    - `status` 'invited' | 'in_progress' | 'in_review' | 'completed' | 'completed_with_flags' | 'failed' | 'cancelled', required — Background check status

## Other responses

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

---

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