Creates a new employee record with personal, role, and employment details.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Do take a look at Get Position Details API to fetch the list of Position IDs. You should pass the
idof the corresponding position that pertains to your use case in thepositionIdkey in this APIException: For apps that do not support the Get Position Details API but support this API, please pass in any dummy string as the
positionId
Supported Apps
Here are the list of apps that support this API.
Workday (workday)
- State must be an ISO 3166-2 code. Example: US-CA. Read more about it here: https://en.wikipedia.org/wiki/ISO_3166-2
- Country must be an ISO 3166-1 Alpha-3 code. Example: USA. Read more about it here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
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, zipCode
For more information and request examples, refer to https://developers.getknit.dev/docs/hibob#create-an-employee
-
Sage (sage-hris)
Paychex (paychex)
Paycor (paycor)
-
Paycor 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
workaddress.idcorresponds to the Work Location in Paycor.- The fields not supported by this API for Personio are:
employment->workshiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCode\
You must include the following fields in the
metadatafield:PaygroupDescriptionDepartmentCodeLegalEntityIdaddressLine1(This corresponds to the present address of the employee)zipCode(This corresponds to the present address of the employee)
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 Hibob are:
employment->workShiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCode
For 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)
-
workaddress.idcorresponds to the Office Location in Personio- The fields not supported by this API for Personio are:
employment->workshiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCodepersonalEmails
For more information and request examples, refer to https://developers.getknit.dev/docs/getting-started-with-personio-hris-api#create-an-employee-in-personio-api
- The fields not supported by this API for Personio are:
Darwinbox (darwinbox)
-
Darwinbox allows only one personal email per employee. If you pass more than one email in the personalEmails array, only the first will be taken, and the rest will be ignored
-
workAddress.id corresponds to the Office Location Work Area Code in Darwinbox.
-
You must include the following fields in the metadata field:
- Selfservice*
- Employee ID
- FTE Value*
-
Keka (keka)
-
workaddress.idcorresponds to the Location in Keka-
The fields not supported by this API for Keka are:
personalEmailsworkAddress->addressLine1, addressLine2, city, state, country, zipCode
-
You must include the following fields in the
metadatafield:genderdateOfBirthdateJoinedemployeeNumber(This is a user generated employee identifier eg, employee number, and is different from the internal identifier used by the app)departmentbusinessUnit
-
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 -> workShiftIdworkAddress
-
You must include the following fields in the
metadatafield:employeeId(This is a user generated employee identifier eg, employee number, and is different from the internal identifier used by the app)
-
SAP SuccessFactors (successfactors)
Supported Request Fields:
firstName- RequiredlastName- Requiredemployment.positionId- Requiredemployment.designation- RequiredworkEmail- RequiredpersonalEmails
Additional Metadata:
metadata.userIdmetadata.startDatemetadata.payScaleArea- Requiredmetadata.payScaleType- Requiredmetadata.managerIdmetadata.gendermetadata.nationalitymetadata.PerPerson.dateOfBirthmetadata.EmpEmployment.originalStartDatemetadata.EmpEmployment.firstDateWorkedmetadata.EmpJobmetadata.PerPersonal.nativePreferredLang
Supported Response Fields:
employeeId
To know more about which parameters are supported and request examples, please refer to: https://developers.getknit.dev/docs/create-employee-api-sap-successfactors
Oracle Cloud HCM (oracle-hcm)
-
Oracle Cloud 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.
- You must include the following fields in the
metadatafield:LegalEntityId
- You must include the following fields in the
Remote (remote)
- The fields not supported by this API for Remote are:
personalEmailsemployment->workshiftId- You must include the following fields in the
metadatafield:provisional_start_datehas_seniority_date
Humaans (humaans)
-
Humaans 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 Remote are:
employment->workshiftIdworkAddress->addressLine1, addressLine2, city, state, country, zipCode
-
You must include the following fields in the
metadatafield:employmentStartDate
-
Breathe (breatheHR)
-
workaddress.idcorresponds to the Site.-
The fields not supported by this API for Breathe are:
employment->workshiftIdpersonalEmailsworkAddress->addressLine1, addressLine2, city, state, country, zipCode
-
You must include the following fields in the
metadatafield:company_join_date
-
7shifts (7shifts)
You must include the following fields in the metadata field:
departmentId
Alexis HR (alexishr)
PayFit (payfit)
workAddress in knit payload corresponds to personalAddress of a collaborator in PayFit
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:
firstNamelastNameemployment.designationworkEmailcompanyId- Requireddepartment- RequiredpersonalEmailsemployeeNumberstartDatebirthDategenderphones.typephones.phoneNumberpresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodemanager.id
Supported Response Fields:
employeeId
TimeTac (timetac)
Supported Request Fields:
firstNamelastNameemployeeNumberworkEmailstartDatebirthDatephonesphones.typephones.phoneNumberdepartment- RequiredpresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.countrypresentAddress.zipCode
Additional Metadata:
internal_user_group- Requiredlanguage_id- Requiredusername- Required- 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)
Please pass userPrincipalName, mailNickname and userPassword in metadata as they are mandatory for creating a employee in 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
Sesame HR (sesamehr)
Supported Request Fields:
firstNamelastNameworkEmailcompanyId- RequiredbirthDategendermaritalStatusemployeeNumberemployment.positionIdphones.typephones.phoneNumberpersonalEmailspresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodemanager.id
Additional Metadata:
invitation- Requiredstatus- Required- Any other custom field can be passed in metadata and will be included in the request body
Supported Response Fields:
employeeId
WebWork (webwork)
Supported Request Fields:
firstName- RequiredlastName- RequiredworkEmail- Required
Additional Metadata:
role- Required
Supported Response Fields:
employeeId
Remarks
Include role in metadata. role can be "Regular User", "Project manager", "Team manager", "Executive manager", "Project viewer".
Makeshift (makeshift)
Supported Request Fields:
firstNamelastNameworkEmailemployeeNumberphonesstartDateemploymentTypeemployment.designation
Additional Metadata:
- Any key-value pairs can be passed in metadata object
Supported Response Fields:
employeeId
Remarks
Set employmentType to full_time, part_time or casual. employment.designation can be employee, department_admin, location-admin, company_admin.
Paylocity (paylocity)
Supported Request Fields:
firstName- RequiredlastName- RequiredworkEmail- RequireddepartmentpresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.zipCodeemploymentTypegenderphones.typephones.phoneNumbermaritalStatuspersonalEmails
Remarks
- This endpoint does not return an employeeId. It adds the employee to onboarding. Once the hiring process is complete, the employee details can be retrieved via sync.
Xero Payroll (xero-payroll)
Supported Request Fields:
firstName- RequiredlastName- RequiredworkEmailbirthDate- RequiredpresentAddress.addressLine1- RequiredpresentAddress.addressLine2presentAddress.city- RequiredpresentAddress.state- RequiredpresentAddress.country- RequiredpresentAddress.zipCode- RequiredemploymentType- Not supported in AU and UK regiongender- Required in UK regionstartDate- Not supported in NZ and UK regionphones.type- Not supported in NZ and UK regionphones.phoneNumbermetadata
Supported Response Fields:
employeeId
Shapes (shapes)
Supported Request Fields:
firstName- RequiredlastName- RequiredworkEmail- RequiredstartDatebirthDategenderphones.type- One phoneNumber with WORK type is supportedphones.phoneNumberpersonalEmails- One personal email is supportedemployment.designationemploymentTypeemployeeNumbermanager.idpresentAddress.addressLine1presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodemetadata
Supported Response Fields:
employeeId
Remarks:
gendershould be passed as gender IDemployment.designationshould be passed as job IDemploymentTypeshould be passed as contract_type IDpresentAddress.cityshould be passed as city option ID (integer)presentAddress.stateshould be passed as state option ID (integer)manager.idshould reference an existing employee IDmetadatacan include additional fields likeshouldInviteandpermissionRoleId
Netsuite Payroll (netsuite-payroll)
Supported Request Fields:
firstNamelastNameworkEmailemployment.designationemployment.positionIdemployeeNumberstartDatebirthDatecompanyIddepartmentgendermaritalStatusemploymentTypemanager.idphones.phoneNumberphones.typeworkAddress.addressLine1workAddress.addressLine2workAddress.cityworkAddress.stateworkAddress.countryworkAddress.zipCodepresentAddress.addressLine1presentAddress.addressLine2presentAddress.citypresentAddress.statepresentAddress.countrypresentAddress.zipCodepermanentAddress.addressLine1permanentAddress.addressLine2permanentAddress.citypermanentAddress.statepermanentAddress.countrypermanentAddress.zipCodemetadata
Supported Response Fields:
employeeId

