List recruitments
Operation ID: recruitments
Group: People Management › Recruitments
Open in the interactive reference
GET /people/recruitments
Read-only: Reads and returns; changes nothing.
Lists recruitments.
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, likename— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecategory— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likestatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepublished— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenunsolicited— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweendeadline— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenvacancies— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweendepartmentId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepositionId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, liketeamId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelocationId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeemploymentCategoryId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likehiringManagerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeownerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, recruitmentNumber, name, category, status, published, unsolicited, deadline, vacancies, lastModifiedDate
- Selectable: id, recruitmentNumber, name, category, status, published, unsolicited, deadline, vacancies, departmentId, departmentName, positionId, positionName, teamId, teamName, locationId, locationName, entityId, entityName, employmentCategoryId, hiringManagerId, hiringManagerName, ownerId, ownerName, jobDescription, viabilityCriteria, website, relocationRequired, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of recruitmentsRow:
| 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 recruitment. |
recruitmentNumber |
string | null | no | no | yes | The system-generated recruitment number. Absent while none has been assigned. |
name |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The name of the opening. |
category |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | A free-text category of the opening, for example internal, external or student. |
status |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The status of the opening, derived from the deadline. 'inactive' once the deadline has passed, 'active' otherwise, including when no deadline is set. |
published |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Whether the opening is published externally. It is set by the external-publishing flow, not through this API. |
unsolicited |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Whether this is the catch-all opening that unsolicited applications are filed against. |
deadline |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The application deadline, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Absent when no deadline is set. |
vacancies |
number | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The number of vacant positions the opening covers. |
departmentId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the department the opening belongs to. Absent when not set. See id on GET people/departments/:id. |
departmentName |
string | null | no | no | no | The name of the department. Absent when not set. |
positionId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the position being recruited for. Absent when not set. See id on GET people/positions/:id. |
positionName |
string | null | no | no | no | The name of the position. Absent when not set. |
teamId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the team. Absent when none is assigned. See id on GET people/teams/:id. |
teamName |
string | null | no | no | no | The name of the team. Absent when none is assigned. |
locationId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the work location. Absent when none is assigned. There is no endpoint for it. |
locationName |
string | null | no | no | no | The name of the work location. Absent when none is assigned. |
entityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The legal entity that will employ the hire. Absent when none is assigned. |
entityName |
string | null | no | no | no | The name of the legal entity that will employ the hire. Absent when none is assigned. |
employmentCategoryId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the employment category. Absent when none is assigned. There is no endpoint for it. |
hiringManagerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the hiring manager. Absent when none is assigned. See id on GET people/person/:id. |
hiringManagerName |
string | null | no | no | no | The full name of the hiring manager. Absent when none is assigned. |
ownerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The identifier of the recruitment owner, the recruiter. Absent when none is assigned. See id on GET people/person/:id. |
ownerName |
string | null | no | no | no | The full name of the recruitment owner. Absent when none is assigned. |
jobDescription |
string | null | no | no | no | The job description, as plain text. |
viabilityCriteria |
string | null | no | no | no | The internal viability criteria used to screen applicants, as plain text. |
website |
string | null | no | no | no | The URL of the posting or the hiring team's page. |
relocationRequired |
string | null | no | no | no | Whether and how relocation is required. Free text, not a boolean. |
lastModifiedDate |
date-time | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the recruitment record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"recruitmentNumber": "<recruitmentNumber>",
"name": "<name>",
"category": "<category>",
"status": "<status>",
"published": true,
"unsolicited": true,
"deadline": "2026-01-15T09:30:00.000Z",
"vacancies": 0,
"departmentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"departmentName": "<departmentName>",
"positionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"positionName": "<positionName>",
"teamId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"teamName": "<teamName>",
"locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"locationName": "<locationName>",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityName": "<entityName>",
"employmentCategoryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"hiringManagerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"hiringManagerName": "<hiringManagerName>",
"ownerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ownerName": "<ownerName>",
"jobDescription": "<jobDescription>",
"viabilityCriteria": "<viabilityCriteria>",
"website": "<website>",
"relocationRequired": "<relocationRequired>",
"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