Employees

Prev Next
Get
/public/v1/labor/employees

Retrieves a paged list of employees with enriched job and location data. At least one date filter (ModifiedOnStart or ModifiedOnEnd) and at least one location scope (locations or legalEntities) are required.

Security

The requesting user must have the following permission to retrieve employees:

  • Labor → Employees → View Employees

Field-level restrictions: the fields below each require an additional permission. A user who does not hold it receives the rest of the employee record with that field omitted from the response — the request still succeeds.

Field Additional permission required
posEmployeeId Labor → Employees → POS Employees → View POS Employees
birthdate Labor → Employees → Basic Info → PII → View PII
paySchedule Labor → Employees → Employment → Pay Type → View Pay Type
payrollId Labor → Employees → Employment → Payroll ID → View Payroll ID
payRate Labor → Employees → Employment → Hourly Pay Rates → View Hourly Pay Rates or Labor → Employees → Employment → Salary Pay Rates → View Salary Pay Rates
primaryJob, otherJobs Labor → Employees → Employment → Hourly Job Info → View Hourly Job Info or Labor → Employees → Employment → Salary Job Info → View Salary Job Info
Security
HTTP
Type Bearer
Header parameters
x-r365-context-tenant-id
stringRequired

Identifies the R365 tenant the request applies to. Required on every request.

Query parameters
ModifiedOnStart
string (date)

Start of the modified-on date range (inclusive). If provided alone the query is scoped to that single day

ModifiedOnEnd
string (date)

End of the modified-on date range (inclusive). If provided alone the query is scoped to that single day

locations
string

Comma-separated list of R365 Location GUIDs to filter results. If omitted, all accessible locations are included

legalEntities
string

Comma-separated list of R365 Legal Entity GUIDs to filter results. If omitted, all accessible legal entities are included

pageSize
integer (int32)

Maximum number of top-level objects to return in one page.

Minimum1.0
Maximum250.0
Default250
continuationToken
string

Opaque token from NextLink of a prior response. Omit on the first request; pass verbatim to fetch the next page

Responses
200

Paged response containing employees for the requested page and a link to the next page when available.

Expand All
object
data
Array of object (ExternalEmployeeResponse)

Employees for the current page.

object
employeeId
string (uuid)

R365 employee identifier.

posEmployeeId
string | null

POS system employee identifier.

firstName
string | null

Employee first name.

lastName
string | null

Employee last name.

birthdate
string (date-time) | null

Employee date of birth.

payRate
number (double)

Employee pay rate.

paySchedule
string | null

Pay schedule type (e.g. Hourly, Salary).

inactive
boolean

Indicates whether the employee is inactive.

hireDate
string (date-time) | null

Employee hire date. Null when not recorded.

terminationDate
string (date-time) | null

Employee termination date, if applicable.

payrollId
string | null

External payroll system identifier.

primaryLocation
object (ApisLocation)
id
string (uuid)

Location identifier.

name
string

Location name.

number
string

Location number.

primaryJob
object

Primary job assignment. Null when no primary job is recorded.

id
string (uuid)

Job identifier.

name
string

Job title name.

code
string | null

Job code.

department
string | null

Department name.

otherLocations
Array of object | null

Additional location assignments.

object
id
string (uuid)

Location identifier.

name
string

Location name.

number
string

Location number.

otherJobs
Array of object | null

Additional job assignments.

object
id
string (uuid)

Job identifier.

name
string

Job title name.

code
string | null

Job code.

department
string | null

Department name.

nextLink
string | null

Relative URL to retrieve the next page of results. Null when this is the last page.

400

Bad Request — a parameter value is malformed, of the wrong type, or outside its allowed range.

401

Unauthorized — the bearer token is missing, invalid or expired, or is not valid for the specified tenant.

403

Forbidden — the caller lacks the permission required for this operation.

404

Not Found — the requested resource does not exist, or the supplied continuation token is unknown or has expired.

409

Conflict — the request conflicts with the current state of the resource and cannot be applied.

422

Unprocessable Entity — a required parameter is missing, or a supplied parameter value is invalid.

429

Too Many Requests — the caller has exceeded the rate limit; retry after a short delay.

500

Internal Server Error — an unexpected error occurred while processing the request.