Appearance
Lists beta
Endpoints
GET /v1/directory/lists
GET /v1/directory/lists/:id
GET /v1/directory/lists/:list_id/peopleINFO
These endpoints are read-only and return People and Lists as they appear in the Directory. If your intent is to use the API as a sync source, use the Syncing endpoints to create, update, and delete synced contacts and lists.
List lists
GET /v1/directory/listsReturns a page of lists in reverse chronological order (newest created_at first).
Parameters
| Name | Optional | Default | Description | Options |
|---|---|---|---|---|
| Pagination parameters | See pagination for more information. | |||
| sort | optional | created_at | Sort field. | created_at |
| order | optional | desc | Sort order. | asc, desc |
| limit | optional | 50 | Number of lists per page. Must be between 1 and 100. |
Returns
A page of list objects. See Retrieve a list for more information on the list object.
Example responses
Success response (200)
json
{
"object": "array",
"has_more": true,
"next": "/v1/directory/lists?cursor=eyJzb3J0IjoiY3JlYXRlZF9hdCIsIm9yZGVyIjoiZGVzYyJ9",
"limit": 5,
"size": 5,
"data": [
{
"object": "list",
"id": "3d4e06a3-544b-4cc7-924e-e077ef133cf6",
"title": "All Employees",
"description": "All active employees across the company",
"email_address": "all-employees@example.com",
"source_type": "synced",
"category": "standard",
"memberships_count": 100,
"subdirectory_id": null,
"creator_id": "a8f7c92d-1234-4abc-9def-0123456789ab",
"creator": "olly@example.com",
"created_at": "2025-08-12T14:30:00.000Z",
"urls": {
"people": "/v1/directory/lists/3d4e06a3-544b-4cc7-924e-e077ef133cf6/people"
}
},
{...},
{...},
{...},
{...}
]
}Error response (422)
json
{
"error": {
"sort": ["must be one of: created_at"],
"order": ["must be one of: asc, desc"],
"limit": ["must be greater than 0"]
}
}Errors
| Code | Description |
|---|---|
| 422 | Invalid request, supplied parameters did not pass validation. |
Retrieve a list
GET /v1/directory/lists/:idGets the details of a single list.
Parameters
| Name | Optional | Type | Description |
|---|---|---|---|
| id | required | string | The ID of the list to retrieve. |
Returns
A list object.
| Name | Type | Description |
|---|---|---|
| source_type | string | How the list is populated. One of static, synced, automatic, or csv_import. |
| category | string | One of standard, location, department, or team. |
| memberships_count | number | The number of people on the list. |
| subdirectory_id | string | The ID of the subdirectory the list belongs to, or null. |
| creator_id | string | The ID of the user who created the list, or null. |
| creator | string | The email address of the user who created the list, or null. |
Example responses
Success response (200)
json
{
"object": "list",
"id": "3d4e06a3-544b-4cc7-924e-e077ef133cf6",
"title": "All Employees",
"description": "All active employees across the company",
"email_address": "all-employees@example.com",
"source_type": "synced",
"category": "standard",
"memberships_count": 100,
"subdirectory_id": null,
"creator_id": "a8f7c92d-1234-4abc-9def-0123456789ab",
"creator": "olly@example.com",
"created_at": "2025-08-12T14:30:00.000Z",
"urls": {
"people": "/v1/directory/lists/3d4e06a3-544b-4cc7-924e-e077ef133cf6/people"
}
}Error response (404)
json
{
"error": "List not found"
}Errors
| Code | Description |
|---|---|
| 404 | List with the given ID was not found. |
List people
List people on a list
GET /v1/directory/lists/:list_id/peopleReturns a page of people who are members of the list.
Parameters
| Name | Optional | Default | Description | Options |
|---|---|---|---|---|
| list_id | required | The ID of the list whose people to retrieve. | ||
| Pagination parameters | See pagination for more information. | |||
| sort | optional | id | Sort field. | id |
| order | optional | desc | Sort order. | asc, desc |
| limit | optional | 50 | Number of people per page. Must be between 1 and 100. |
Returns
A page of person summary objects. See Retrieve a person for more information on the person object.
Example responses
Success response (200)
json
{
"object": "array",
"has_more": true,
"next": "/v1/directory/lists/3d4e06a3-544b-4cc7-924e-e077ef133cf6/people?cursor=eyJzb3J0IjoiaWQiLCJvcmRlciI6ImRlc2MifQ",
"limit": 5,
"size": 5,
"data": [
{
"object": "person",
"id": "937ccbe2-4cb5-4c76-96bf-29510b514dfa",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe",
"phone_number": "+12345678910",
"time_zone": "America/Chicago",
"created_at": "2025-08-12T14:30:00.000Z",
"urls": {
"details": "/v1/directory/people/937ccbe2-4cb5-4c76-96bf-29510b514dfa"
}
},
{...},
{...},
{...},
{...}
]
}Error response (404)
json
{
"error": "List not found"
}Error response (422)
json
{
"error": {
"sort": ["must be one of: id"],
"order": ["must be one of: asc, desc"],
"limit": ["must be greater than 0"]
}
}Errors
| Code | Description |
|---|---|
| 404 | List with the given ID was not found. |
| 422 | Invalid request, supplied parameters did not pass validation. |