Retrieve a recruitment
Operation ID: getRecruitment
Group: People Management › Recruitments
Open in the interactive reference
GET /people/recruitments/{id}
Read-only: Reads and returns; changes nothing.
Retrieves a recruitment. Use the recruitment's id, not its recruitmentNumber.
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. |
id |
path | string | yes | The unique identifier of the recruitment you want to retrieve. |
Response
200 Success
Under data (getRecruitmentOutput):
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | The unique identifier for the recruitment. |
recruitmentNumber |
string | no | The system-generated recruitment number. Absent while none has been assigned. |
name |
string | no | The name of the opening. |
category |
string | no | A free-text category of the opening, for example internal, external or student. |
status |
any | no | The status of the opening, derived from the deadline. 'inactive' once the deadline has passed, 'active' otherwise, including when no deadline is set. One of: "active", "inactive". |
published |
boolean | no | Whether the opening is published externally. It is set by the external-publishing flow, not through this API. |
unsolicited |
boolean | no | Whether this is the catch-all opening that unsolicited applications are filed against. |
deadline |
string | no | The application deadline. Format YYYY-MM-DD. Absent when no deadline is set. |
vacancies |
number | no | The number of vacant positions the opening covers. |
departmentId |
string | no | The identifier of the department the opening belongs to. Absent when not set. See id on GET people/departments/:id. |
departmentName |
string | no | The name of the department. Absent when not set. |
positionId |
string | no | The identifier of the position being recruited for. Absent when not set. See id on GET people/positions/:id. |
positionName |
string | no | The name of the position. Absent when not set. |
teamId |
string | no | The identifier of the team. Absent when none is assigned. See id on GET people/teams/:id. |
teamName |
string | no | The name of the team. Absent when none is assigned. |
locationId |
string | no | The identifier of the work location. Absent when none is assigned. There is no endpoint for it. |
locationName |
string | no | The name of the work location. Absent when none is assigned. |
entityId |
string | no | The legal entity that will employ the hire. Absent when none is assigned. |
entityName |
string | no | The name of the legal entity that will employ the hire. Absent when none is assigned. |
employmentCategoryId |
string | no | The identifier of the employment category. Absent when none is assigned. There is no endpoint for it. |
hiringManagerId |
string | no | The identifier of the hiring manager. Absent when none is assigned. See id on GET people/person/:id. |
hiringManagerName |
string | no | The full name of the hiring manager. Absent when none is assigned. |
ownerId |
string | no | The identifier of the recruitment owner, the recruiter. Absent when none is assigned. See id on GET people/person/:id. |
ownerName |
string | no | The full name of the recruitment owner. Absent when none is assigned. |
jobDescription |
string | no | The job description, as plain text. |
viabilityCriteria |
string | no | The internal viability criteria used to screen applicants, as plain text. |
website |
string | no | The URL of the posting or the hiring team's page. |
relocationRequired |
string | no | Whether and how relocation is required. Free text, not a boolean. |
lastModifiedDate |
date-time | 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": "active",
"published": true,
"unsolicited": true,
"deadline": "<deadline>",
"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"
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Errors
| Code | Status |
|---|---|
NOT_FOUND |
400 |
Statuses
400— Invalid request or business failure. Codes: NOT_FOUND401— 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