# People directory (https://developers.asip.io/docs/queries/people-directory)

Name, job titles and stations of the people at your stations. No contact details and no restricted workforce data.

> **Status: Available on request.** API keys, the read-only Data API, the MCP server (with an API key) and signed webhooks are live on app.asip.io. Developer access is off by default for every company: ask ASIP to enable it for yours (https://developers.asip.io/docs/how-to-get-access). One-click OAuth sign-in for AI connectors (claude.ai, ChatGPT, Copilot) is not available yet; use an API key. The changelog at https://developers.asip.io/docs/changelog says when each part becomes available.

|           |                                                                                                                                               |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Data API  | `GET /api/v1/data/people-directory` and `GET /api/v1/data/people-directory/feed` ([endpoint reference](/docs/api-reference/people-directory)) |
| MCP query | `query://asip/people_directory`                                                                                                               |
| Scope     | `people:read`                                                                                                                                 |
| Module    | Workforce                                                                                                                                     |
| Filters   | `cursor`, `limit`, `updatedSince`, `stationId` (list only)                                                                                    |
| Order     | `updatedAt` of the workforce record, then `id` (see the [feed limit](#feed-limit))                                                            |

## Who can read it

People who hold the **View the workforce directory** permission themselves. An oversight role is not
needed. Anyone else gets `403 restricted`. A Company Super Admin who does not hold the permission
explicitly cannot give it to a key.

Each record is a person at one of the stations in the key owner's scope (the whole company when the
owner's scope is enterprise-wide). A `stationId` filter must be one of those stations.

## What each record carries

That is all there is: name, job titles and stations.

| Field                 | Meaning                                                                                    |
| --------------------- | ------------------------------------------------------------------------------------------ |
| `id`, `module`, `url` | The person's workforce record id, `workforce`, and a link to their directory page in ASIP. |
| `fullName`            | The person's name.                                                                         |
| `jobTitles`           | Job titles of the postings in force today.                                                 |
| `stationIds`          | The stations the person is posted at, within your own station scope.                       |
| `updatedAt`           | When the workforce record itself last changed.                                             |

Only open workforce records are listed.

## What is left out, and why

The directory exists so that records elsewhere can be matched to a name, a role and a place. Nothing
more crosses:

* **No contact details**: no email address, and none of the personal contact fields.
* **None of the restricted workforce classes**: identity documents, pay, tax and home location are
  never returned by any query, key, export or webhook. See
  [The Rulebook](/docs/rulebook#restricted-workforce-data).
* No worker reference, engagement kind or departments.

## Feed limit

The list and the feed are ordered by the workforce record's own `updatedAt`. A change to a person's
**name, job title or posting alone does not change that time**, so the feed does **not** deliver the
person again after such a change.

Use the feed to pick up people who are new to the directory. **For a current roster, re-read the list
endpoint** (not the feed) on a schedule, and replace your copy.
