List documents
Operation ID: documents
Group: People Management › Documents
Open in the interactive reference
GET /people/documents
Read-only: Reads and returns; changes nothing.
Lists documents. The list contains document details, not the files. To download a file, request a link with GET people/documents/:id/download.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeemployeeId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecategoryId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likestatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeexpiryDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, documentNumber, categoryId, status, expiryDate, lastModifiedDate
- Selectable: id, documentNumber, employeeId, categoryId, categoryLabel, fileName, status, expiryDate, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of documentsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the document. |
documentNumber |
string | null | no | no | yes | The system-generated document number. |
employeeId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the employee the document belongs to. Absent when the linked employee no longer resolves. See id on GET people/person/:id. |
categoryId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The identifier of the document category the document is filed under. Absent when the linked category no longer resolves. See id on GET people/document-categories. |
categoryLabel |
string | null | no | no | no | The display label of the document category the document is filed under. See label on GET people/document-categories. |
fileName |
string | null | no | no | no | The stored file name, generated on upload from the category label and the employee's name. |
status |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The current status of the document. Possible values: 'pending', 'approved', 'rejected', 'deprecated', 'readyToDownload', 'downloaded'. |
expiryDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The day the document expires, projected as UTC midnight of that day. Format YYYY-MM-DDTHH:mm:ss.sssZ. Absent when the document does not expire. |
lastModifiedDate |
date-time | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the document record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentNumber": "<documentNumber>",
"employeeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"categoryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"categoryLabel": "<categoryLabel>",
"fileName": "<fileName>",
"status": "<status>",
"expiryDate": "2026-01-15T09:30:00.000Z",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error