List departments
Operation ID: departments
Group: People Management › Departments
Open in the interactive reference
GET /people/departments
Read-only: Reads and returns; changes nothing.
Lists departments. GET people/departments/:id also returns managerId, parentName, startDate, endDate, and externalIdentifiers.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedepartmentNumber— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedepartmentCode— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeparentId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likename— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likestatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, departmentNumber, departmentCode, name, managerName, status, employeeCount, lastModifiedDate
- Selectable: id, departmentNumber, departmentCode, parentId, name, description, managerName, status, employeeCount, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of departmentsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the department. |
departmentNumber |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The system-generated department number, for example '100010'. Absent while none has been assigned. |
departmentCode |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The short code for the department, for example 'IT', 'HR' or 'FIN'. |
parentId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the parent department. Absent for a top-level department. See id on GET people/departments/:id. |
name |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The display name of the department. |
description |
string | null | no | no | no | A free-form description of the department's purpose and responsibilities. |
managerName |
string | null | no | no | yes | The full name of the department's managing employee. Absent when no manager is assigned. |
status |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The timeline status of the department. Possible values: 'planned', 'inactive', 'active', 'canceled'. |
employeeCount |
number | null | no | no | yes | The number of employees in the department. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the department record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"departmentNumber": "<departmentNumber>",
"departmentCode": "<departmentCode>",
"parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "<name>",
"description": "<description>",
"managerName": "<managerName>",
"status": "<status>",
"employeeCount": 0,
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error