API

An HRIS API for your directory, org chart, and people data

OrgOrg is an HRIS API as much as it is an app: every record the suite holds is readable and writable over REST at orgorg.com/api/v1, with a token that carries your own permissions, a command line that mirrors the endpoints, and an MCP server for AI clients. The directory and the org chart come first, and the other apps follow.

GET /api/v1/profiles

curl https://orgorg.com/api/v1/profiles \
  -H "Authorization: Bearer $TOKEN"

{
  "items": [
    {
      "name": "Devon K.",
      "title": "Engineering manager",
      "department": "Engineering",
      "location": "Austin",
      "startDate": "2024-03-04",
      "managerId": "p_3hk2"
    }
  ],
  "nextCursor": "eyJhZnRlciI6..."
}

What the API serves

One token, one base URL, every resource of the suite

Profiles: the directory and the org chart

Names, titles, departments, teams, locations, employment start dates, and manager relationships, with cursor pagination and incremental sync. Active people by default, so a count is a true headcount.

Users: accounts and attrition

Account type, lifecycle status, and the invite, join, and last-seen timestamps of your billable users. Not filtered to active people, which is what makes attrition analysis possible. Administrators only.

Groups, go links, on-call, thanks

The groups a rule keeps current and their sync to Slack channels; go links to list, search, and save; on-call to page and to read rotations; thanks to send recognition.

CRM, goals, tasks, documents, email

Contacts, companies, deals, and customers with their lifecycle stages; goals and key results with check-ins; tasks and projects; document templates sent for signature; email templates sent from your own mailbox.

The orgorg CLI

npm install -g orgorg, then orgorg auth login. The endpoint catalog becomes grouped subcommands: orgorg goals list is one request to /api/v1/goals/list.

An MCP server for AI clients

Claude Desktop and claude.ai connect over OAuth, with no token. Claude Code, Cursor, ChatGPT, and the rest use a personal access token, which acts as its owner.

An employee directory API that stays true

The Profiles resource is the same directory your team edits in the app and the same org chart the Org Chart app draws. Managers sync from Google Workspace, Microsoft Entra ID, and Gusto, so the manager relationship the API returns is the one your identity provider holds. Pagination is by cursor, and incremental sync returns only what changed since your last read, so a nightly job stays small.

A directory read counts active people only. Someone invited but not yet joined does not inflate a headcount. Pass a status filter when you want the invited too. Account state, with the dates a person was invited, joined, and last seen, lives on the Users resource, which only an administrator can grant, because members cannot see it in the app either.

Tokens, scopes, and the record of a change

A token is minted by a person, on the API credentials page, and inherits that person's permissions in the organization. Each resource has a read scope and a write scope, and a token holds only the scopes it was given. When a member leaves, their tokens stop. A change made through a token records the token: the CRM's activity log shows a stage change made by a script as made via the API, with the token named.

From a terminal, or from an agent

The orgorg CLI wraps the catalog: install it from npm, sign in from the browser with a one-time code, and each endpoint is a command. The MCP server gives an AI client the same reach with the owner's permissions, over OAuth for Claude Desktop and claude.ai and with a personal token elsewhere. An agent that reads the instructions file gets every endpoint with a sample call.

Frequently asked questions

What is an HRIS API?
An interface that gives your own software the people data an HR system holds: who works here, their titles and teams, who reports to whom, and when each person started. The OrgOrg API serves that from the Profiles resource, by REST, with cursor pagination and incremental sync.
How do I get an API token?
Mint one on the API credentials page inside your OrgOrg account. Tokens are issued per user and inherit that user's permissions, and a token works only while its owner is a member. Scopes come in read and write pairs per resource, such as profile:read and goals:write.
What is the difference between Profiles and Users?
Profiles is the directory and the org chart, which every member can already see in the app, so profile:read is a scope any member can hold. Users is account state, with the invite, join, and last-seen dates, which only an administrator can read. Profiles defaults to active people; Users does not, so you can analyze attrition.
Can an AI assistant use it?
Yes. The OrgOrg MCP server connects Claude Desktop and claude.ai over OAuth, and Claude Code, Cursor, ChatGPT, and other clients with a personal access token. Agents also read the instructions file at /docs/api/v1/agents.md, which describes each endpoint with a sample call.
Is there a command line?
Yes. The orgorg CLI on npm turns the endpoint catalog into commands, signs in through the browser with a one-time code, and runs on Node.js 22 or newer.
Is the API free?
The API is part of the OrgOrg suite, which is free for teams of up to 5 members, every app included. A larger team pays one price per member for the whole suite; the pricing page has the current numbers.

Ready to read your directory by API?

Sign in, mint a token on the credentials page, and make your first call in a minute.