Updates personal and employment details for an existing employee record.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Supported Apps
Here are the list of apps that support this API.
Workday (workday)
Paychex (paychex)
Paylocity (paylocity)
Paycor (paycor)
This API makes up to three independent calls to Paycor, depending on which fields are supplied: a Contact update, a Position update, and a Personal Data update. Each is only called if a relevant field is present in the request.
Supported Request Fields:
employeeId- RequiredworkEmail- Triggers a Contact updatepersonalEmails- Triggers a Contact update. Only the first email is used; any additional emails are ignoredpresentAddress.addressLine1,addressLine2,city,state,country,zipCode- Triggers a Contact update. Sent as the employee's primary address in Paycorphones.type,phones.phoneNumber- Triggers a Contact update. Only included ifmetadata.areaCodeis also supplied (see below); otherwisephonesis silently omitted from the request entirely.HOME,PERSONAL, andWORKare mapped to Paycor'sHome,Mobile, andWorkrespectivelyemployment.designation- Triggers a Position update. Sent as the Job Title. Must be an existing Job Title name in Paycor, can be obtained using a passthrough request with methodGETand path/tenants/{tenantId}/jobtitlesworkAddress.id- Triggers a Position update. Corresponds to the Work Location name in Paycor (not an ID), can be obtained using a passthrough request with methodGETand path/legalentities/{legalEntityId}/worklocations, use thenamevalue from this response. If not supplied butemployment.designationis, the employee's current Work Location is fetched from Paycor and resent unchanged, since Paycor requires this field on every Position updatefirstName- Triggers a Personal Data updatelastName- Triggers a Personal Data update
The fields not supported by this API for Paycor are:
employment.positionId(Paycor has no ID-based Job Title lookup for this endpoint; useemployment.designationinstead)employment.workShiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCode(onlyworkAddress.idis used)
Additional Metadata:
areaCode- Required forphonesto be included in the Contact update; Paycor requires an area code alongside every phone numbersuffix,socialSecurityNumber,birthDate- Not required in the common case. Paycor's Personal Data endpoint requires these three fields on every call with no "keep existing value" option, so Knit automatically fetches and resends the employee's current values from Paycor. Only supply these in metadata if the employee is missing one of them in Paycor already (for example, an employee with no SSN on file) - otherwise the Personal Data update will fail
Remarks
- Contact updates and Personal Data updates are submitted to Paycor as pending change requests. Depending on your Paycor tenant's configuration, these may require manual approval from the Paycor dashboard before the change is reflected. Position updates are not affected by this and apply immediately.
- Only one pending Contact or Personal Data change request is allowed per employee at a time. If a previous request for the same employee hasn't been approved yet, a new request in the same category will be rejected by Paycor.
Hibob (hibob)
- Hibob only takes in 1 personal email for an employee. If you pass more than one email, only the first will be taken and rest will be ignored
workadress.idcorresponds to the Work Site in Hibob. To get the list of Work Sites available in Hibob, refer to this example: https://developers.getknit.dev/docs/hibob#get-list-of-work-sites-from-hibob- The fields not supported by this API for Hibob are:
employment->workShiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCodepresentAddressFor more information and request examples, refer to https://developers.getknit.dev/docs/hibob#update-an-employee-details
Sage (sage-hris)
BambooHR (bamboohr)
- BambooHR only takes in 1 personal email for an employee. If you pass more than one email, only the first will be taken and rest will be ignored
workadress.idcorresponds to the Work Location in BambooHR. To get the list of Work Sites available in BambooHR, refer to this example: https://developers.getknit.dev/docs/getting-started-with-bamboohr-api#get-list-of-work-locations-from-bamboohr- The fields not supported by this API for BambooHR are:
employment->workShiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCodeFor more information and request examples, refer to https://developers.getknit.dev/docs/getting-started-with-bamboohr-api#update-an-employee-details-api-in-bamboohr
Personio (personio)
- The fields not supported by this API for Personio are:
employment->workShiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCodeworkEmailpersonalEmailspresentAddressFor more information and request examples, refer to: https://developers.getknit.dev/docs/getting-started-with-personio-hris-api#update-an-employee-in-personio-api
Darwinbox (darwinbox)
-
Darwinbox only takes in 1 personal email for an employee. If you pass more than one email, only the first will be taken and rest will be ignored
-
The fields not supported by this API for Darwinbox are:
-
employment -
workAddress
-
Zoho People (zoho-people)
-
Zoho People only takes in 1 personal email for an employee. If you pass more than one email, only the first will be taken and rest will be ignored
-
The fields not supported by this API for Zoho People are:
employment->workShiftIdworkAddresspresentAddress
SAP SuccessFactors (successfactors)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailpersonalEmailspresentAddresspresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodeemploymentemployment.positionIdmetadata
Additional Metadata:
metadata.payScaleArea- Requiredmetadata.payScaleType- Required
Oracle Cloud HCM (oracle-hcm)
- Oracle HCM only takes in 1 personal email for an employee. If you pass more than one email, only the first will be taken and rest will be ignored
Remote (remote)
Deel (deel)
Humaans (humaans)
7shifts (7shifts)
Alexis HR (alexishr)
UKG Ready (ukgready)
IRIS Cascade (iriscascade)
People HR (peopleHR)
Kallidus (kallidus)
Folks HR (folkshr)
You must include the following fields in the metadata field:
employeeNumber(Unique identifier in the company.)
OneLogin (onelogin)
PrismHR (prismhr)
Refer api specific guides - PrismHR API Guide
Avionte (avionte)
ADP Workforce Now (adp-workforcenow-hris)
Namely (namely)
Lucca HR (luccahr)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailpersonalEmailspresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodeemployment.designationcompanyIddepartmentemployeeNumberstartDatebirthDategenderphonesmanager.id
TimeTac (timetac)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailpresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.countrypresentAddress.zipCode
Additional Metadata:
- Any additional key-value pairs can be passed in metadata and will be forwarded to the TimeTac API
Supported Response Fields:
employeeId
Microsoft Entra (microsoft-entra)
HR Works (hr-works)
Supported Request Fields:
firstNamelastNameworkEmailgender- Allowed values -malefemalediversenot specifiedemploymentType- Allowed values -apprenticeexternalWorkerinternmarginalEmploymentregularEmployeeshortTermEmploymentstudentTraineestartDate- YYYY-MM-DD formatbirthDate- YYYY-MM-DD formatdepartment- department Id obtained using list all departments APIphones- only of one phone number of typeWORKis honored.manager.idemployment.designationpresentAddress
Additional Metadata:
-
metadata.personId- Required, The user id assigned to the person. Used as the login name. Unique identifier. -
metadata.personnelNumber- Required, The personnel number assigned to the person. Unique identifier. -
Any key-value pairs can be passed in metadata and will be forwarded to the HR Works API
Makeshift (makeshift)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailemployeeNumberphonesstartDateemploymentTypeemployment.designation
Additional Metadata:
- Any key-value pairs can be passed in metadata object
Supported Response Fields:
- No specific response data fields (returns default success response)
Remarks
You can set employmentType to full_time, part_time or casual. employment. designation can be employee, department_admin, location-admin, company_admin.
Sesame HR (sesamehr)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailgenderemployment.positionIdemployment.designationpersonalEmailspresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCode
Additional Metadata:
- Any custom fields can be passed in metadata
Xero Payroll (xero-payroll)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailemployment.designationpresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodemetadata
Netsuite Payroll (netsuite-payroll)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameworkEmailemployment.designationemployment.positionIdworkAddress.addressLine1workAddress.addressLine2workAddress.cityworkAddress.stateworkAddress.country- `workAddress.zipCode
presentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.country- `presentAddress.zipCode
metadata
MHR Global (mhrglobal)
Supported Request Fields:
employeeId- RequiredfirstNamelastNamestartDateemployeeNumbermetadata
Cegid (cegid)
Supported Request Fields:
employeeId- RequiredfirstNamelastNameemployeeNumber

