Org Chart

The organizational chart is curated by admins in the CMS: people are placed by hand (with an optional title such as "CEO"), and whole departments can be dropped in as sections that list their members automatically. The endpoint returns the chart exactly as employees see it — one nested tree where each box is either a person or a department, with reports under children.

Deactivated or terminated people and unpublished departments are left out and their reports move up one level. A person's title is their job title from the user profile, falling back to the label typed on the box and then to their profession. Department boxes carry a members_count of active members who are not placed elsewhere in the chart — list the people themselves with GET /users?group_id=. Person boxes embed the same user object as the users endpoints.

Required scope: read:org_chart. The org chart feature must be enabled for the company, see feature-gated endpoints.

Endpoints

GET
/api/open/v1/org-chart

Get the organizational chart as a nested tree

Get the chart

curl "https://customer.monotree.com/api/open/v1/org-chart" \
  -H "Authorization: Bearer mono_your_token_here"

Response:

{
  "data": [
    {
      "id": 1,
      "type": "person",
      "title": "CEO",
      "custom_title": "CEO",
      "headcount": 13,
      "user": {
        "id": 11,
        "name": "John Doe",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john@example.com",
        "type": "default",
        "avatar_url": "https://...",
        "is_manager": true,
        "groups": [ { "id": 41, "name": "Kitchen", "type": "department", "is_manager": true } ],
        "hired_at": "2020-03-01"
      },
      "department": null,
      "children": [
        {
          "id": 2,
          "type": "department",
          "title": "Kitchen",
          "custom_title": null,
          "headcount": 12,
          "user": null,
          "department": { "id": 41, "name": "Kitchen", "members_count": 12 },
          "children": []
        }
      ]
    }
  ],
  "meta": { "is_published": true, "published_at": "2026-08-28T10:00:00+00:00" }
}
FieldNotes
typeperson or department.
titlePerson: the job title from the user profile, else the label typed on the box, else the profession name. Department: the group name.
custom_titleThe title typed in the CMS for a person, null otherwise.
headcountEveryone below the box — reports (and their reports) plus department members. A department's own members are included in its headcount.
userSet on person boxes: the same user object as the users endpoints — its groups carry the person's departments and professions.
departmentSet on department boxes: the group id, name and members_count.
childrenDirect reports, in the order set in the CMS.
meta.is_publishedWhether employees can see the chart in the app.