v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Employees
Public API

List Employees

Lists all employees in the authenticated caller's company as a cursor-paginated employee directory. Use this to list employees, browse the company directory, fetch the employee roster, or batch-lookup multiple employees by ID. The response is a JSON object with data (an array of employee records), meta.total (count of all employees matching the filter, not just the current page), meta.page (cursor pagination state), and _links (self, plus next / prev when more pages exist). Each employee record always includes the default identity and job fields, plus any additional fields requested via fields. employeeId is returned as a string and is the internal employee ID — see the employeeId and employeeNumber field documentation in the response schema for the distinction between the internal ID and the editable Employee # value. Field values the caller cannot read are returned as null, and the names of those suppressed fields are listed on the record in _restrictedFields; if the caller cannot read a field used in filter or sort, the affected employee is dropped from the result set entirely to avoid leaking presence. IDs for filter[ids] come from prior responses of this endpoint. For a single employee with the full set of fields, use get-employee. For complex filtering, arbitrary sorting, or tabular reports across many fields, use Get Data from Dataset (v2) (get-data-from-dataset-v2). Each record includes a photoUrl field with a time-limited signed URL. This is the recommended way for AI connectors to display or link to an employee photo, since fetching raw photo bytes through get-employee-photo produces base64 payloads too large for an AI model to consume reliably.

OAuth Scopes: employee, employee:job, employee:name, employee_directory, sensitive_employee:protected_info

get/api/v1/employees

Query parameters

addressLine1string

Substring match (case-insensitive).

addressLine2string

Substring match (case-insensitive).

allergiesstring

Substring match (case-insensitive).

birthplacestring

Substring match (case-insensitive).

citizenshipstring

Substring match (case-insensitive).

citystring

Substring match (case-insensitive).

compensationChangeReasonstring

Substring match (case-insensitive).

compensationCommentstring

Substring match (case-insensitive).

countrystring

Substring match (case-insensitive).

departmentNamestring

Substring match (case-insensitive).

dietaryRestrictionsstring

Substring match (case-insensitive).

displayNamestring

Substring match (case-insensitive).

divisionNamestring

Substring match (case-insensitive).

eeoJobCategorystring

Substring match (case-insensitive).

eligibleForRehirestring

Substring match (case-insensitive).

employeeNamestring

Substring match (case-insensitive).

employeeNumberstring

Substring match (case-insensitive).

employmentStatusNamestring

Substring match (case-insensitive).

employmentStatusCommentstring

Substring match (case-insensitive).

employmentTypestring

Substring match (case-insensitive).

ethnicitystring

Substring match (case-insensitive).

facebookUrlstring

Substring match (case-insensitive).

firstNameLastNamestring

Substring match (case-insensitive).

firstNameMiddleInitialstring

Substring match (case-insensitive).

flsaCodestring

Substring match (case-insensitive).

homeEmailstring

Substring match (case-insensitive).

homePhonestring

Substring match (case-insensitive).

instagramUrlstring

Substring match (case-insensitive).

jacketSizestring

Substring match (case-insensitive).

linkedinUrlstring

Substring match (case-insensitive).

locationNamestring

Substring match (case-insensitive).

maritalStatusstring

Substring match (case-insensitive).

middleInitialstring

Substring match (case-insensitive).

middleNamestring

Substring match (case-insensitive).

mobilePhonestring

Substring match (case-insensitive).

nationalInsuranceCategorystring

Substring match (case-insensitive).

nationalitystring

Substring match (case-insensitive).

nickNamestring

Substring match (case-insensitive).

noticePeriodstring

Substring match (case-insensitive).

paySchedulestring

Substring match (case-insensitive).

pinterestUrlstring

Substring match (case-insensitive).

preferredNameLastNamestring

Substring match (case-insensitive).

pronounsstring

Substring match (case-insensitive).

reportsToNamestring

Substring match (case-insensitive).

secondaryLanguagestring

Substring match (case-insensitive).

shirtSizestring

Substring match (case-insensitive).

skypeUsernamestring

Substring match (case-insensitive).

statestring

Substring match (case-insensitive).

terminationReasonstring

Substring match (case-insensitive).

terminationRegrettablestring

Substring match (case-insensitive).

terminationTypestring

Substring match (case-insensitive).

tShirtSizestring

Substring match (case-insensitive).

twitterUrlstring

Substring match (case-insensitive).

vaccinationStatusstring

Substring match (case-insensitive).

vaccineReceivedstring

Substring match (case-insensitive).

workEmailstring

Substring match (case-insensitive).

workPhonestring

Substring match (case-insensitive).

workPhoneExtensionstring

Substring match (case-insensitive).

zipcodestring

Substring match (case-insensitive).

gender'Male' | 'Female' | 'Non-Binary'

Exact match.

paidPer'Day' | 'Week' | 'Month' | 'Quarter' | 'Year' | 'PayPeriod' | 'Piece'

Exact match.

payType'Hourly' | 'Salary' | 'Commission'

Exact match.

citizenshipIdinteger

Exact match against an integer ID.

compensationChangeReasonIdinteger

Exact match against an integer ID.

countryIdinteger

Exact match against an integer ID.

departmentIdinteger

Exact match against an integer ID.

divisionIdinteger

Exact match against an integer ID.

eeoJobCategoryIdinteger

Exact match against an integer ID.

eligibleForRehireIdinteger

Exact match against an integer ID.

employmentStatusIdinteger

Exact match against an integer ID.

employmentTypeIdinteger

Exact match against an integer ID.

ethnicityIdinteger

Exact match against an integer ID.

flsaCodeIdinteger

Exact match against an integer ID.

jacketSizeIdinteger

Exact match against an integer ID.

jobTitleIdinteger

Exact match against an integer ID.

locationIdinteger

Exact match against an integer ID.

nationalInsuranceCategoryIdinteger

Exact match against an integer ID.

nationalityIdinteger

Exact match against an integer ID.

noticePeriodIdinteger

Exact match against an integer ID.

payScheduleIdinteger

Exact match against an integer ID.

pronounsIdinteger

Exact match against an integer ID.

reportsToIdinteger

Exact match against the internal employee ID of the employee's manager.

shirtSizeIdinteger

Exact match against an integer ID.

stateIdinteger

Exact match against an integer ID.

taxTypeIdinteger

Exact match against an integer ID.

terminationReasonIdinteger

Exact match against an integer ID.

terminationRegrettableIdinteger

Exact match against an integer ID.

terminationTypeIdinteger

Exact match against an integer ID.

tShirtSizeIdinteger

Exact match against an integer ID.

vaccinationStatusIdinteger

Exact match against an integer ID.

vaccineReceivedIdinteger

Exact match against an integer ID.

isManagerboolean

Exact match (true/false).

proofOfVaccinationboolean

Exact match (true/false).

agenumber

Exact numeric match.

tenurenumber

Exact numeric match.

hoursPerPayCyclenumber

Exact numeric match.

birthDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

compensationEffectiveDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

compensationEndDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

contractEndDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

employmentStatusEffectiveDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

finalDoseAdministrationDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

finalPayDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

hireDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

jobInformationEffectiveDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

originalHireDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

probationEndDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

terminationDatestring date

Exact match against an ISO 8601 date (YYYY-MM-DD).

firstNamestring

This will match any employees whose first name contains this string (case insensitive)

lastNamestring

This will match any employees whose last name contains this string (case insensitive)

jobTitleNamestring

This will match any employees whose current job title descriptor contains this string (case insensitive)

status'active' | 'inactive'

Employee status

idsinteger[]

List of internal employee IDs for batch fetch. Documented form: repeated keys (filter[ids][]=123&filter[ids][]=124). For backward compatibility, the endpoint also accepts a single comma-separated string (filter[ids]=123,124).

Filters used to match employees. Encode filter properties using deepObject style (filter[firstName]=Ava). Multiple filter fields are combined with AND. filter[ids] accepts either repeated keys (filter[ids][]=123&filter[ids][]=124) or a single comma-separated string (filter[ids]=123,124); both forms are supported.

{
  "ids": [
    123,
    124
  ]
}
sortstring

Comma-separated list of sortable fields. Prefix a field with - for descending order. Allowed fields: employeeId, firstName, lastName, preferredName, jobTitleName, status. Nulls sort first in ascending order and last in descending order. An invalid sort field returns a BadRequest error.

fieldsEmployeeOptionalField[]

Additional fields to include in each employee record beyond the default set. The canonical form is a comma-separated list (fields=workEmail,mobilePhone); for backward compatibility the endpoint also accepts the bracket-array form (fields[]=workEmail&fields[]=mobilePhone). Note: plain repeated keys without brackets (fields=workEmail&fields=mobilePhone) are unreliable — most HTTP stacks keep only the last value, silently dropping earlier ones; use the comma-separated form instead. Unrecognized field names are silently ignored. Returned values are subject to permission checks — fields the caller cannot read are returned as null and their names are listed in the record's _restrictedFields array.

beforestring

Cursor pointing to the start of the previous page. Use the prevCursor value from the last response to paginate backward.

afterstring

Cursor pointing to the start of the next page. Use the nextCursor value from the last response to paginate forward.

limitinteger

Maximum number of items to return. This can be at most 2500.

Cursor-based pagination parameters. page[limit] controls page size (default 250, maximum 2500). page[after] and page[before] accept opaque cursors returned in the previous response's meta.page.nextCursor / prevCursor; do not specify both at once. The response's _links.next / _links.prev are pre-built URLs that already encode the correct cursor for the next or previous page.

Response

Paginated list of employees.