API Reference
API Reference

/employees/orgchart

Returns org chart nodes for the account. Required scope: r_employees.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
🚧

This endpoint uses the r_employees scope, 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:

ParametersResponse
(none)Top-level employees (those with no manager) plus their first-level direct reports.
employee_idThe direct reports of employee_id.
employee_id, include_manager=trueThe employee referenced by employee_id, its manager and its direct reports.
legal_entity_ids and/or department_idsEvery 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:

keytypedescription
idstringSPI key of the employee
namestringFull name of the employee
avatar_urlstring | nullURL of the employee's avatar
parent_idstring | nullSPI key of the employee's manager, or null at the top of the tree
direct_reports_countinteger | nullNumber of direct reports. Returned only for nodes whose children are loaded at the requested level
contentobjectEmployee payload (see below)

Each content object has the following keys:

keytypedescription
idstringSPI key of the employee
namestringFull name of the employee
avatarstring | nullAvatar URL. Falls back to the CSV-import avatar when no primary avatar is set
initialsstringInitials derived from the employee's name
titlestringJob title
statestringEmployee state — draft, published or inactive
departmentstring | nullName of the department
entitystring | nullName of the legal entity
emailstring | nullWork email
employee_numberstring | nullEmployee number
hire_datestring | nullStart date (ISO 8601)
divisionstring | nullDivision label
managerstring | nullFull name of the employee's manager
filler_nodebooleanOnly 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

StatusCondition
400Invalid query parameters (e.g. include_manager=true without employee_id)
403Missing required scope r_employees, or the account does not have permission to view the org chart
Query Params
legal_entity_ids
array of strings
department_ids
array of strings

Filter by one or more department SPI keys.

department_ids
string

SPI key of the employee whose direct reports should be returned. Required when include_manager is true.

boolean

When true, the response also includes the employee referenced by employee_id and its manager. Requires employee_id.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json