Create Employee

Creates a new employee record with personal, role, and employment details.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
👍

Do take a look at Get Position Details API to fetch the list of Position IDs. You should pass the id of the corresponding position that pertains to your use case in the positionId key in this API

Exception: 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)
Hibob (hibob)
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.id corresponds to the Work Location in Paycor.
    • The fields not supported by this API for Personio are:
      • employment -> workshiftId
      • workAddress -> addressLine1, addressLine2, city, state, country, zipCode\

    You must include the following fields in the metadata field:

    • PaygroupDescription
    • DepartmentCode
    • LegalEntityId
    • addressLine1 (This corresponds to the present address of the employee)
    • zipCode (This corresponds to the present address of the employee)
BambooHR (bamboohr)
Personio (personio)
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.id corresponds to the Location in Keka

    • The fields not supported by this API for Keka are:

      • personalEmails
      • workAddress -> addressLine1, addressLine2, city, state, country, zipCode
    • You must include the following fields in the metadata field:

      • gender
      • dateOfBirth
      • dateJoined
      • employeeNumber (This is a user generated employee identifier eg, employee number, and is different from the internal identifier used by the app)
      • department
      • businessUnit
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 -> workShiftId
      • workAddress
    • You must include the following fields in the metadata field:

      • 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 - Required
  • lastName - Required
  • employment.positionId - Required
  • employment.designation - Required
  • workEmail - Required
  • personalEmails

Additional Metadata:

  • metadata.userId
  • metadata.startDate
  • metadata.payScaleArea - Required
  • metadata.payScaleType - Required
  • metadata.managerId
  • metadata.gender
  • metadata.nationality
  • metadata.PerPerson.dateOfBirth
  • metadata.EmpEmployment.originalStartDate
  • metadata.EmpEmployment.firstDateWorked
  • metadata.EmpJob
  • metadata.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 metadata field:
      • LegalEntityId
Remote (remote)
  • The fields not supported by this API for Remote are:
    • personalEmails
    • employment->workshiftId
    • You must include the following fields in the metadata field:
      • provisional_start_date
      • has_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->workshiftId
      • workAddress -> addressLine1, addressLine2, city, state, country, zipCode
    • You must include the following fields in the metadata field:

      • employmentStartDate
Breathe (breatheHR)
  • workaddress.id corresponds to the Site.

    • The fields not supported by this API for Breathe are:

      • employment->workshiftId
      • personalEmails
      • workAddress -> addressLine1, addressLine2, city, state, country, zipCode
    • You must include the following fields in the metadata field:

      • 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:

  • firstName
  • lastName
  • employment.designation
  • workEmail
  • companyId - Required
  • department - Required
  • personalEmails
  • employeeNumber
  • startDate
  • birthDate
  • gender
  • phones.type
  • phones.phoneNumber
  • presentAddress.addressLine1
  • presentAddress.addressLine2
  • presentAddress.city
  • presentAddress.state
  • presentAddress.country
  • presentAddress.zipCode
  • manager.id

Supported Response Fields:

  • employeeId
TimeTac (timetac)

Supported Request Fields:

  • firstName
  • lastName
  • employeeNumber
  • workEmail
  • startDate
  • birthDate
  • phones
  • phones.type
  • phones.phoneNumber
  • department - Required
  • presentAddress.addressLine1
  • presentAddress.addressLine2
  • presentAddress.city
  • presentAddress.country
  • presentAddress.zipCode

Additional Metadata:

  • internal_user_group - Required
  • language_id - Required
  • username - 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:

  • firstName
  • lastName
  • workEmail
  • gender - Allowed values - male female diverse not specified
  • employmentType - Allowed values - apprentice externalWorker intern marginalEmployment regularEmployee shortTermEmployment studentTrainee
  • startDate - YYYY-MM-DD format
  • birthDate - YYYY-MM-DD format
  • department - department Id obtained using list all departments API
  • phones - only of one phone number of type WORK is honored.
  • manager.id
  • employment.designation
  • presentAddress

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:

  • firstName
  • lastName
  • workEmail
  • companyId - Required
  • birthDate
  • gender
  • maritalStatus
  • employeeNumber
  • employment.positionId
  • phones.type
  • phones.phoneNumber
  • personalEmails
  • presentAddress.addressLine1
  • presentAddress.addressLine2
  • presentAddress.city
  • presentAddress.state
  • presentAddress.country
  • presentAddress.zipCode
  • manager.id

Additional Metadata:

  • invitation - Required
  • status - 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 - Required
  • lastName - Required
  • workEmail - 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:

  • firstName
  • lastName
  • workEmail
  • employeeNumber
  • phones
  • startDate
  • employmentType
  • employment.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 - Required
  • lastName - Required
  • workEmail - Required
  • department
  • presentAddress.addressLine1
  • presentAddress.addressLine2
  • presentAddress.city
  • presentAddress.state
  • presentAddress.zipCode
  • employmentType
  • gender
  • phones.type
  • phones.phoneNumber
  • maritalStatus
  • personalEmails

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 - Required
  • lastName - Required
  • workEmail
  • birthDate - Required
  • presentAddress.addressLine1 - Required
  • presentAddress.addressLine2
  • presentAddress.city - Required
  • presentAddress.state - Required
  • presentAddress.country - Required
  • presentAddress.zipCode - Required
  • employmentType - Not supported in AU and UK region
  • gender - Required in UK region
  • startDate - Not supported in NZ and UK region
  • phones.type - Not supported in NZ and UK region
  • phones.phoneNumber
  • metadata

Supported Response Fields:

  • employeeId
Shapes (shapes)

Supported Request Fields:

  • firstName - Required
  • lastName - Required
  • workEmail - Required
  • startDate
  • birthDate
  • gender
  • phones.type - One phoneNumber with WORK type is supported
  • phones.phoneNumber
  • personalEmails - One personal email is supported
  • employment.designation
  • employmentType
  • employeeNumber
  • manager.id
  • presentAddress.addressLine1
  • presentAddress.city
  • presentAddress.state
  • presentAddress.country
  • presentAddress.zipCode
  • metadata

Supported Response Fields:

  • employeeId

Remarks:

  • gender should be passed as gender ID
  • employment.designation should be passed as job ID
  • employmentType should be passed as contract_type ID
  • presentAddress.city should be passed as city option ID (integer)
  • presentAddress.state should be passed as state option ID (integer)
  • manager.id should reference an existing employee ID
  • metadata can include additional fields like shouldInvite and permissionRoleId
Netsuite Payroll (netsuite-payroll)

Supported Request Fields:

  • firstName
  • lastName
  • workEmail
  • employment.designation
  • employment.positionId
  • employeeNumber
  • startDate
  • birthDate
  • companyId
  • department
  • gender
  • maritalStatus
  • employmentType
  • manager.id
  • phones.phoneNumber
  • phones.type
  • workAddress.addressLine1
  • workAddress.addressLine2
  • workAddress.city
  • workAddress.state
  • workAddress.country
  • workAddress.zipCode
  • presentAddress.addressLine1
  • presentAddress.addressLine2
  • presentAddress.city
  • presentAddress.state
  • presentAddress.country
  • presentAddress.zipCode
  • permanentAddress.addressLine1
  • permanentAddress.addressLine2
  • permanentAddress.city
  • permanentAddress.state
  • permanentAddress.country
  • permanentAddress.zipCode
  • metadata

Supported Response Fields:

  • employeeId

Body Params
string
required
string
required
employment
object
required
string
required
personalEmails
array of strings
personalEmails
workAddress
object
string
string
string
string
string
string
phones
array of objects
phones
string
manager
object
permanentAddress
object
presentAddress
object
string
json
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json