Employee data model
View field support, webhooks, and list parameters for each integration on the Supported Integrations page.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | |
created_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
updated_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
name | string | No | |
first_name | string | No | |
last_name | string | No | |
emails | HrisEmail[] | No | |
emails[].email | string | Yes | |
emails[].type | enum | No | Values: WORK, HOME, OTHER |
title | string | No | |
job_id | string | No | the hris_job (position) this employee holds; their primary job when they hold more than one |
manager_id | string | No | |
employment_status | enum | No | Values: ACTIVE, INACTIVE |
gender | enum | No | Values: MALE, FEMALE, INTERSEX, TRANS, NON_BINARY |
telephones | HrisTelephone[] | No | |
telephones[].telephone | string | Yes | |
telephones[].type | enum | No | Values: WORK, HOME, OTHER, FAX, MOBILE |
date_of_birth | string (date-time) | No | YYYYMM/DD |
employee_number | string | No | the company's ID for this employee |
hired_at | string (date-time) | No | The employee's start date (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
terminated_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
termination_reason | string | No | |
marital_status | enum | No | Values: MARRIED, SINGLE |
employment_type | enum | No | Values: FULL_TIME, PART_TIME, CONTRACTOR, INTERN, CONSULTANT, VOLUNTEER, CASUAL, SEASONAL, FREELANCE, OTHER |
address | object | No | |
address.address1 | string | No | |
address.address2 | string | No | |
address.city | string | No | |
address.region | string | No | |
address.region_code | string | No | |
address.postal_code | string | No | |
address.country | string | No | |
address.country_code | string | No | ISO 2-digit country code |
language_locale | string | No | |
currency | string | No | |
timezone | string | No | |
image_url | string | No | This link expires after 1 hour. |
company_id | string | No | (reference to HrisCompany) |
pronouns | string | No | |
employee_roles | enum | No | Values: ADMIN, MANAGER, RECRUITER, SALESREP, INTERVIEWER, USER, EMPLOYEE |
compensation | HrisCompensation[] | No | |
compensation[].type | enum | No | Values: SALARY, BONUS, STOCK_OPTIONS, EQUITY, OTHER, HOURLY, COMMISSION |
compensation[].amount | number | No | |
compensation[].currency | string | No | |
compensation[].frequency | enum | No | Values: ONE_TIME, DAY, QUARTER, YEAR, HOUR, MONTH, WEEK, BIWEEKLY, SEMIMONTHLY |
compensation[].group_id | string | No | (reference to HrisGroup) |
compensation[].notes | string | No | |
salutation | string | No | Mr. Mrs. Ms. |
bio | string | No | |
ssn_sin | string | No | |
groups | HrisGroup[] | No | Which groups/teams/units that this employee/user belongs to. May not have all of the Group fields present, but should have id, name, or email. |
groups[].id | string | No | |
groups[].created_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
groups[].updated_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
groups[].name | string | No | |
groups[].description | string | No | |
groups[].parent_id | string | No | |
groups[].type | enum | No | Values: TEAM, GROUP, DEPARTMENT, DIVISION, BUSINESS_UNIT, BRANCH, SUB_DEPARTMENT, PAY_GROUP |
groups[].user_ids | string[] | No | (reference to HrisEmployee) |
groups[].manager_ids | string[] | No | |
groups[].is_active | boolean | No | |
groups[].company_id | string | No | (reference to HrisCompany) |
groups[].pay_frequency | enum | No | pay cycle when type is PAY_GROUP Values: ONE_TIME, DAY, QUARTER, YEAR, HOUR, MONTH, WEEK, BIWEEKLY, SEMIMONTHLY |
groups[].next_paid_at | string (date-time) | No | next pay date when type is PAY_GROUP (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
locations | HrisLocation[] | No | |
locations[].id | string | No | |
locations[].created_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
locations[].updated_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
locations[].name | string | No | |
locations[].description | string | No | |
locations[].address | HrisLocation_address | No | |
locations[].address.address1 | string | No | |
locations[].address.address2 | string | No | |
locations[].address.city | string | No | |
locations[].address.region | string | No | |
locations[].address.region_code | string | No | |
locations[].address.postal_code | string | No | |
locations[].address.country | string | No | |
locations[].address.country_code | string | No | ISO 2-digit country code |
locations[].parent_id | string | No | |
locations[].external_identifier | string | No | |
locations[].telephones | HrisTelephone[] | No | |
locations[].telephones[].telephone | string | Yes | |
locations[].telephones[].type | enum | No | Values: WORK, HOME, OTHER, FAX, MOBILE |
locations[].timezone | string | No | |
locations[].currency | string | No | |
locations[].language_locale | string | No | |
locations[].is_active | boolean | No | |
locations[].is_hq | boolean | No | if this location is the headquarters of the company |
locations[].company_id | string | No | (reference to HrisCompany) |
metadata | HrisMetadata[] | No | |
metadata[].id | string | No | |
metadata[].value | object | No | |
metadata[].namespace | string | No | |
metadata[].format | enum | No | Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL |
metadata[].extra_data | object | No | |
metadata[].slug | string | No | |
storage_quota_allocated | number | No | |
storage_quota_used | number | No | |
storage_quota_available | number | No | |
relationships | HrisEmployeerelationship[] | No | the employee's personal relationships (eg. emergency contacts, spouse, dependants, ...) |
relationships[].name | string | No | |
relationships[].first_name | string | No | |
relationships[].last_name | string | No | |
relationships[].emails | HrisEmail[] | No | |
relationships[].emails[].email | string | Yes | |
relationships[].emails[].type | enum | No | Values: WORK, HOME, OTHER |
relationships[].telephones | HrisTelephone[] | No | |
relationships[].telephones[].telephone | string | Yes | |
relationships[].telephones[].type | enum | No | Values: WORK, HOME, OTHER, FAX, MOBILE |
relationships[].address | HrisEmployeerelationship_address | No | |
relationships[].address.address1 | string | No | |
relationships[].address.address2 | string | No | |
relationships[].address.city | string | No | |
relationships[].address.region | string | No | |
relationships[].address.region_code | string | No | |
relationships[].address.postal_code | string | No | |
relationships[].address.country | string | No | |
relationships[].address.country_code | string | No | ISO 2-digit country code |
relationships[].type | enum | No | Values: EMERGENCY, SPOUSE, CHILD, PARENT, SIBLING, FRIEND, OTHER |
relationships[].is_dependent | boolean | No | |
relationships[].is_beneficiary | boolean | No | |
relationships[].start_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
relationships[].end_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) |
has_mfa | boolean | No | does the user/employee have multi-factor authentication enabled |
timeoff_days_total | number | No | Total time off allowance for the current leave period, in days (when reported by the provider) |
timeoff_days_used | number | No | Time off days used or booked in the current leave period (when reported by the provider) |
flsa_status | enum | No | US Fair Labor Standards Act classification Values: EXEMPT, NON_EXEMPT, SALARIED_NONEXEMPT, OWNER |
pay_frequency | enum | No | how often the employee is paid (eg. BIWEEKLY) Values: ONE_TIME, DAY, QUARTER, YEAR, HOUR, MONTH, WEEK, BIWEEKLY, SEMIMONTHLY |
Are we missing anything? Let us know