x-cpod-domain: people
People
Human identities and the groups they belong to.
Try in explorer
client.peoplePerson
A human identity in the enterprise.
REST path
/api/v1/people/personsOperations
listgetcreateupdatedeactivatedeleteSDK
// list — returns only your records; add filters/search:
await client.people.persons.list()
// create:
await client.people.persons.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| external_id | string | External system identifier, such as an Active Directory Object GUID or HR system employee record ID. |
| Primary work email address. Must be unique across all active Persons in the tenant. | ||
| display_name | string | Full display name as shown in the UI and API responses. |
| first_name | string | Given (first) name. |
| last_name | string | Family (last) name. |
| employee_id | string | HR system employee identifier (e.g. Workday, BambooHR). Null for contractors, vendors, and service accounts. |
| type | string | Classification of the person's relationship to the enterprise. 'service_account' represents a non-human identity whose owner is tracked here. |
| status | string | Current employment or engagement status. 'terminated' and 'suspended' persons must have their access entitlements reviewed. |
| department | string | Organizational department or business unit name, as sourced from the HR system or directory. |
| title | string | Job title. |
| location | json | Primary work location for this person. |
| manager_id | uuid | UUID of the Person who is this person's direct manager. Null for top-level executives or service accounts. |
| identities | json | Linked external identity provider records for this person (e.g. Active Directory, Okta, Google Workspace). One person may have identities across multiple provid |
| start_date | date-time | Date on which this person started their engagement with the enterprise (hire date, contract start date, etc.). |
| end_date | date-time | Date on which this person's engagement ended or is scheduled to end. Null if still active. |
| timezone | string | IANA timezone identifier for this person's primary working location (e.g. 'America/New_York'). |
| working_hours | json | Typical working hours for this person in their local timezone. |
| cost_center_id | uuid | UUID of the CostCenter to which this person's headcount cost is attributed. |
Group
A set of Persons or Groups. Self-referential.
REST path
/api/v1/groupsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.people.groups.list()
// create:
await client.people.groups.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name | string | Canonical name of the group. For AD-sourced groups, this is the sAMAccountName or distinguished name. Should be unique within a given source. |
| type | string | Classification of the group's purpose. 'ad_group' groups are typically synced from Active Directory or Azure AD. 'custom' groups are manually created in cPod. |
| description | string | Human-readable description of the group's purpose. |
| owner_id | uuid | UUID of the Person responsible for this group. The owner is the authoritative approver for membership changes. |
| members | json | Current membership list for this group. Each entry links a Person to this group with an optional role. |
| parent_group_id | uuid | UUID of the parent Group, enabling group hierarchies (e.g. a team nested inside a department group). Null for top-level groups. |
| display_name | string | Human-friendly name shown in cPod (SCIM owns the canonical name). |
| kind | enum | Classification of the group's purpose.departmentteamcohortsquadcommitteead_groupdistribution_listcustom |
| source | enum | System of record the group was sourced from.manualactive_directoryazure_adoktascim |
| tags | json | Free-form labels applied to the group (e.g. 'engineering', 'on-call'). |