Returns org chart nodes for the account. Required scope: r_employees.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
This endpoint uses ther_employeesscope, which must be enabled through the Integrations section found within the Settings menu.
Returns the account's org chart as a flat array of nodes. Each node carries the employee's content, a parent_id pointing to its manager and a direct_reports_count for the nodes whose children have been loaded at the requested level.
Navigation modes
The shape of the response depends on which query parameters are supplied:
| Parameters | Response |
|---|---|
| (none) | Top-level employees (those with no manager) plus their first-level direct reports. |
employee_id | The direct reports of employee_id. |
employee_id, include_manager=true | The employee referenced by employee_id, its manager and its direct reports. |
legal_entity_ids and/or department_ids | Every employee that matches the filters across the whole chart. content.filler_node is true for ancestors that are included only to preserve the hierarchy path to a matching descendant. |
include_manager=true requires employee_id.
Employee visibility
Published employees are always included. Draft employees appear only when they have a manager; top-level drafts (no manager) are hidden. When a published employee's direct and indirect managers are all in draft, the employee is reattached to the root of the chart — its parent_id becomes null in the response.
Results
[
{
"id": "2fce",
"name": "Jane Boss",
"avatar_url": "https://officedroid-hris.s3.amazonaws.com/avatars/jane.jpeg",
"content": {
"id": "2fce",
"name": "Jane Boss",
"avatar": "https://officedroid-hris.s3.amazonaws.com/avatars/jane.jpeg",
"initials": "JB",
"title": "VP Engineering",
"state": "published",
"department": "Engineering",
"entity": "Acme Corp",
"email": "[email protected]",
"employee_number": "EMP001",
"hire_date": "2021-10-08T00:00:00.000Z",
"division": "Product",
"manager": "John CEO"
},
"parent_id": "2fbc",
"direct_reports_count": 3
},
{
"id": "2fb6",
"name": "Bob Lead",
"avatar_url": "https://officedroid-hris.s3.amazonaws.com/avatars/bob.jpeg",
"content": {
"id": "2fb6",
"name": "Bob Lead",
"avatar": "https://officedroid-hris.s3.amazonaws.com/avatars/bob.jpeg",
"initials": "BL",
"title": "Tech Lead",
"state": "published",
"department": "Engineering",
"entity": "Acme Corp",
"email": "[email protected]",
"employee_number": "EMP042",
"hire_date": "2022-06-17T00:00:00.000Z",
"division": "Product",
"manager": "Jane Boss"
},
"parent_id": "2fce",
"direct_reports_count": 0
}
]Each node has the following keys:
| key | type | description |
|---|---|---|
| id | string | SPI key of the employee |
| name | string | Full name of the employee |
| avatar_url | string | null | URL of the employee's avatar |
| parent_id | string | null | SPI key of the employee's manager, or null at the top of the tree |
| direct_reports_count | integer | null | Number of direct reports. Returned only for nodes whose children are loaded at the requested level |
| content | object | Employee payload (see below) |
Each content object has the following keys:
| key | type | description |
|---|---|---|
| id | string | SPI key of the employee |
| name | string | Full name of the employee |
| avatar | string | null | Avatar URL. Falls back to the CSV-import avatar when no primary avatar is set |
| initials | string | Initials derived from the employee's name |
| title | string | Job title |
| state | string | Employee state — draft, published or inactive |
| department | string | null | Name of the department |
| entity | string | null | Name of the legal entity |
string | null | Work email | |
| employee_number | string | null | Employee number |
| hire_date | string | null | Start date (ISO 8601) |
| division | string | null | Division label |
| manager | string | null | Full name of the employee's manager |
| filler_node | boolean | Only present when legal_entity_ids or department_ids filters are applied. true when the node is included only to preserve the hierarchy path to a matching descendant |
Error responses
| Status | Condition |
|---|---|
| 400 | Invalid query parameters (e.g. include_manager=true without employee_id) |
| 403 | Missing required scope r_employees, or the account does not have permission to view the org chart |
