Retrieve a person
Operation ID: getPerson
Group: People Management › People
Open in the interactive reference
GET /people/person/{id}
Read-only: Reads and returns; changes nothing.
Retrieves a person. Use the person's id, not their employeeNumber.
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 person you want to retrieve. |
Response
200 Success
Under data (getPersonOutput):
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | The unique identifier for the person. |
employeeNumber |
string | no | The person's business number. |
firstName |
string | no | The person's first name. |
lastName |
string | no | The person's last name. |
middleName |
string | no | The person's middle name. |
preferredFirstName |
string | no | The person's preferred first name. |
preferredLastName |
string | no | The person's preferred last name. |
name |
string | no | The person's full name, in first-name-last-name order. |
email |
string | no | The person's work email address. |
status |
string | no | The current employment status of the person. Possible values: 'Active', 'Inactive', 'Planned', 'Cancelled'. |
employmentCategory |
string | no | The employment category assigned to this person. |
startDate |
string | no | The employment start date. Format YYYY-MM-DD. |
endDate |
string | no | The employment end date. Format YYYY-MM-DD. Absent while the person is still employed. |
probationEndDate |
string | no | The probation end date. Format YYYY-MM-DD. Absent when no probation period applies. |
jobId |
string | no | The identifier of this person's active primary job. Absent when the person has no active primary job. There is no endpoint for it. |
departmentName |
string | no | The name of the department this person belongs to. Absent when no department is assigned. |
positionName |
string | no | The position or job title assigned to this person. Absent when no position is assigned. |
managerName |
string | no | The full name of this person's primary manager. Absent when there is no active primary job or no manager assigned to it. |
compensation |
object | no | The person's current active compensation record. Absent when no compensation record exists. |
compensation.amount |
object | no | The base salary as a currency amount. |
compensation.amount.currency |
string | no | The currency of the base salary. Format ISO 4217, for example 'USD'. |
compensation.amount.amount |
decimal | no | The numeric value of the base salary, in the given currency. |
compensation.paymentFrequency |
string | no | The frequency at which this person is paid. Possible values: 'monthly', 'biweekly', 'weekly', 'yearly'. |
compensation.unit |
string | no | The unit the base salary is measured in. Possible values: 'annually', 'quarterly', 'monthly', 'semiMonthly', 'weekly', 'biWeekly', 'daily', 'hourly', 'fixed'. |
compensation.monthlyAmount |
object | no | The base salary converted to a monthly amount. Only the 'annually' and 'hourly' units are converted. For every other unit this repeats the base salary unchanged and is not a monthly figure. |
compensation.monthlyAmount.currency |
string | no | The currency of the monthly-equivalent salary. Format ISO 4217, for example 'USD'. |
compensation.monthlyAmount.amount |
decimal | no | The numeric value of the monthly-equivalent salary, in the given currency. |
compensation.salaryType |
string | no | The name of the compensation type. Absent when none is assigned. |
compensation.salaryCode |
string | no | The code of the compensation type. Absent when the type has no code or none is assigned. |
compensation.startDate |
string | no | The date from which this compensation record is effective. Format YYYY-MM-DD. |
compensation.endDate |
string | no | The date on which this compensation record expires. Format YYYY-MM-DD. Absent when it is open-ended. |
entityName |
string | no | The name of the legal entity this person belongs to. |
locationName |
string | no | The name of this person's work location. Absent when none is assigned. |
customFields |
UnknownObject | no | The person's custom field values, as key-value pairs of field name and value. Free-form JSON object. |
lastModifiedDate |
date-time | yes | The date and time the person record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
externalIdentifiers |
array<object> | no | The external identifiers owned by other systems, at most one per fieldName. Absent when the person has none. |
externalIdentifiers[].fieldName |
string | yes | The configured key of the external identifier, a camelCase slug such as 'netsuiteEmployeeId'. It is the fieldName of an existing employee external-identifier configuration. |
externalIdentifiers[].value |
string | yes | The identifier as the source system holds it. |
externalIdentifiers[].externalUrl |
string | no | An absolute http(s) link to the object in the source system. Absent when none is set. |
{
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"employeeNumber": "<employeeNumber>",
"firstName": "<firstName>",
"lastName": "<lastName>",
"middleName": "<middleName>",
"preferredFirstName": "<preferredFirstName>",
"preferredLastName": "<preferredLastName>",
"name": "<name>",
"email": "<email>",
"status": "<status>",
"employmentCategory": "<employmentCategory>",
"startDate": "<startDate>",
"endDate": "<endDate>",
"probationEndDate": "<probationEndDate>",
"jobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"departmentName": "<departmentName>",
"positionName": "<positionName>",
"managerName": "<managerName>",
"compensation": {
"amount": {
"currency": "<currency>",
"amount": "19.99"
},
"paymentFrequency": "<paymentFrequency>",
"unit": "<unit>",
"monthlyAmount": {
"currency": "<currency>",
"amount": "19.99"
},
"salaryType": "<salaryType>",
"salaryCode": "<salaryCode>",
"startDate": "<startDate>",
"endDate": "<endDate>"
},
"entityName": "<entityName>",
"locationName": "<locationName>",
"customFields": {},
"lastModifiedDate": "2026-01-15T09:30:00.000Z",
"externalIdentifiers": [
{
"fieldName": "<fieldName>",
"value": "<value>",
"externalUrl": "<externalUrl>"
}
]
},
"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