Here are the different models you can subscribe to while doing a sync.
Model ID | Event Data Key | Description |
---|---|---|
employee_profile | profile | Get profile data of an employee like first and last names, date of birth, work email, termination date, hire date, etc. |
employee_contactInfo | contactInfo | Get personal contact details of an employee like personal emails and phone numbers |
employee_orgStructure | orgStructure | Get hierarchical data related to an employee like employee's manager, department and designation. |
employee_dependent | dependents | Get family members' data for an employee. |
employee_location | locations | Get work and home addresses of an employee. |
employee_bankAccount | bankAccounts | Get an employee's bank account details |
employee_kycDocuments | employeeKYC | Get an employee's KYC documents |
employee_identification | employeeIdentificationData | Get an employee's identification details |
employee_profilePicture | employeeProfilePicture | Get an employee's Profile Picture |
employee_compensation | compensation | Get compensation information for an employee |
employee_deductions | deductions | Get benefits and deductions information for an employee |
employee_w4 | w4Data | Get W4 data for an employee |
employee_company | company | Get the details about the employee's company |
employee_rawValues | rawValues | Get the raw values of enum fields like employmentStatus, employmentType, maritalStatus, gender |
employee_leave_requests | leaveRequests | Get the leave requests for an employee |
custom_fields | customFields | Edit Field Mappings from the Knit dashboard to get custom fields |
All these models have been detailed out below for your reference.
Use the Model ID for syncs
While invoking sync APIs, pass these model IDs in order to get the desired data. Make sure the
dataType
in sync request body isemployee
Employee Profile
Model ID: employee_profile
Name | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
Unique ID of the employee as defined in origin system |
|
|
User generated employee number of the employee |
|
|
The official email of an employee. |
|
|
The first day of an employee at the organization. |
|
|
Date of birth of the employee |
|
|
Last working day of an employee |
|
|
One of |
|
|
One of |
|
|
One of |
|
|
One of |
Employee Contact Info
Model ID: employee_contactInfo
Name | Type | Description |
---|---|---|
personalEmails | List[String] | |
phones | List[Phone] |
Phone
Name | Type | Description |
---|---|---|
|
|
One of |
|
|
Employee Org Structure
Model ID: employee_orgStructure
Name | Type | Description |
---|---|---|
designation | String | Job title of the employee |
department | String | |
manager | Employee Manager | The manager of the employee |
Employee Manager
Name | Type | Description |
---|---|---|
id | String | Employee's manager's employee id in origin app |
workEmail | String | Employee's manager's work email in origin app |
Employee Dependents
Model ID: employee_dependent
Name | Type | Description |
---|---|---|
dependents | List[Employee Dependent] |
Employee Dependent
Name | Type | Description |
---|---|---|
|
|
Dependent Id |
|
|
Dependent's first name |
|
|
Dependent's last name |
|
|
Possible values are or as specified in the source app |
|
|
Dependent's date of birth, Eg: 2020-10-11T00:00:00Z |
|
|
One of or as specified in the source app |
Employee Locations
Model ID: employee_location
Name | Type | Description |
---|---|---|
workAddress | Employee Location | Work location |
permanentAddress | Employee Location | Permanent residential address |
presentAddress | Employee Location | Present residential address |
Employee Location
Name | Type | Description |
---|---|---|
addressLine1 |
String |
|
addressLine2 |
String |
|
city |
String |
|
state |
String |
|
country |
Enum |
Alpha 2 code, Refer https://www.iban.com/country-codes or else country field in origin data |
zipCode |
String |
|
addressType |
Enum |
One of |
Employee Bank Accounts
Model ID: employee_bankAccount
Name | Title | Description |
---|---|---|
bankAccounts | List[Bank Account] |
Bank Account
Name | Type | Description |
---|---|---|
|
|
|
|
|
One of |
|
|
|
|
|
|
|
|
Can contain: or as specified in the source app |
Routing Info
Name | Type | Description |
---|---|---|
|
|
One of |
|
|
Employee KYC Details
Model ID: employee_kycDocuments
Name | Type | Description |
---|---|---|
aadharNumber | String | |
aadharURL | String | |
panNumber | String | |
panURL | String |
Employee Identification Details
Model ID: employee_identification
Name | Type | Description |
---|---|---|
employeeIdentificationData | List[ID Data] |
ID Data
Name | Type | Description |
---|---|---|
|
|
One of |
|
|
Eg, SSN, ITIN |
|
|
Employee Profile Picture
Model ID: employee_profilePicture
Name | Type | Description |
---|---|---|
pictureName | String | |
pictureURL | String |
Employee Compensation
Model ID: employee_compensation
Name | Type | Description |
---|---|---|
fixed | List[compensationItemData] | |
variable | List[compensationItemData] | |
stock | List[stockData] |
Compensation Item Data
Name | Type | Description |
---|---|---|
|
|
One of or as specified in the source app |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
One of or as specified in the source app |
|
|
One of or as specified in the source app |
|
|
|
|
|
Stock Data
Name | Type | Description |
---|---|---|
planId | String | |
type | String | |
targetShares | Double | |
optionsPercentage | Double | |
stockPercentage | Double | |
vestingScheduleId | String | |
vestingScheduleName | String |
Employee Deductions
Model ID: employee_deduction
Name | Type | Description |
---|---|---|
deductions | List[deductionItem] |
Deduction Item
Name | Type | Description |
---|---|---|
|
|
One of or as specified in the source app |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
One of or as specified in the source app |
|
|
|
|
|
|
|
|
Contribution
Name | Type | Description |
---|---|---|
amount | Double | |
percentage | Double |
Employee W4 Details
Model ID: employee_w4
Name | Type | Description |
---|---|---|
|
|
|
|
|
One of |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
One of or as specified in source app |
Employee Company Details
Model ID: employee_company
Name | Type | Description |
---|---|---|
companyId | String | |
companyName | String |
Employee Raw Values
Model ID: employee_rawValues
Name | Type | Description |
---|---|---|
profile | Profile Raw Values |
Profile Raw Values
Name | Type | Description |
---|---|---|
employmentStatus | String | |
maritalStatus | String | |
gender | String | |
employmentType | String |
Employee Leave Requests
Model ID: employee_leave_requests
Name | Type | Description |
---|---|---|
|
|
Unique identifier of the leave request |
|
|
Example: 2022-09-23T00:00:00Z |
|
|
Example: 2022-09-30T00:00:00Z |
|
|
Example: 2022-09-20T13:45:00Z |
|
|
Note by the employee requesting the leave |
|
|
One of |
|
|
See the |
|
|
The measurement that the HRIS uses to count time off requested. |
|
|
The leave time off quantity measured by the prescribed |
|
|
One of |
Leave Type
Name | Type | Description |
---|---|---|
|
|
Unique identifier of the leave type |
|
|
|
|
|
One of |
Custom Fields
Model ID: custom_fields
Edit Field Mappings from the Knit dashboard for each integrated account to get unmapped fields. Read more about it here: <https://developers.getknit.dev/docs/get-custom-fields-sync>
Name | Type | Description |
---|---|---|
fields | Map<String, Object> |
Event Data Example
{
"profile": {
"firstName": "0XcrE7zm5UMipuT",
"lastName": "twkFD16f8q4D2R7",
"id": "omLAR353IjXZ4Mt",
"employeeNumber": "004",
"workEmail": "[email protected]",
"startDate": "1970-01-01T00:00:00Z",
"birthDate": "1970-01-01T00:00:00Z",
"terminationDate": "1970-01-01T00:00:00Z",
"employmentStatus": "ACTIVE",
"maritalStatus": "SINGLE",
"gender": "MALE",
"employmentType": "FULL_TIME"
},
"contactInfo": {
"personalEmails": [
"[email protected]",
"[email protected]"
],
"phones": [
{
"type": "PERSONAL",
"number": "564-871-1385"
}
]
},
"orgStructure": {
"designation": "m7Vv4fhvVpoGvM0",
"department": "kLkUPMpzsCEErbt",
"manager": {
"id": "RALpFjOQBAjCozi",
"workEmail": "[email protected]"
}
},
"locations": {
"workAddress": {
"addressLine1": "jHvul9kxXMmpGsa",
"addressLine2": "ZRZEUuGtghgY9bx",
"city": "Bengaluru",
"state": "KA",
"country": "IN",
"zipCode": "560016",
"addressType": "WORK"
},
"permanentAddress": null,
"presentAddress": null
},
"dependents": [
{
"id": "iaNR6Abj8qksGTe",
"firstName": "cQxqiWWVLMhMDsO",
"lastName": "lCnk39U3TUCC38t",
"birthDate": "1970-01-01T00:00:00Z",
"relation": "FATHER",
"gender": "MALE"
},
{
"id": "nVtWLlJluoG6CgL",
"firstName": "gCRiIxi1aSTyEkd",
"lastName": "HMfoPrjy4dGyxiJ",
"birthDate": "1970-01-01T00:00:00Z",
"relation": "MOTHER",
"gender": "FEMALE"
}
],
"bankAccounts": [
{
"accountNumber": "ROY12486516AS",
"accountType": "SAVINGS",
"bankName": "Waystar Roy Bank",
"routingInfo": [
{
"type": "IFSC_CODE",
"number": "AIDN309301034"
},
{
"type": "BRANCH_CODE",
"number": "AIDN"
}
]
},
{
"accountNumber": "548493043F903J",
"accountType": "Chekcing",
"bankName": "Gold Star Bank",
"routingInfo": [
{
"type": "BANK_IDENTIFICATION_CODE",
"number": "GSBK302K0140EW"
}
]
}
],
"employeeKYC": {
"aadharNumber": "46743545",
"aadharURL": "link.com/aadhar",
"panNumber": "PED5663",
"panURL": "link.com/pan"
},
"employeeIdentificationData": [
{
"type": "NATIONAL_ID",
"subType": "SSN",
"identificationNumber": "RIDOFJSIDJF"
}
],
"employeeProfilePicture": {
"pictureName": "avatar.jpg",
"pictureURL": "link.com/picture"
},
"compensation": {
"fixed": [
{
"type": "SALARY",
"planId": "SALARY_Salary_Plan",
"amount": 192674.38,
"percentage": null,
"currency": "USD",
"payPeriod": "MONTHLY",
"frequency": "ANNUAL"
},
{
"type": "ALLOWANCE",
"planId": "ALLOWANCE_Cell_Mobile_Phone_Allowance_USA",
"amount": 150,
"percentage": null,
"currency": "USD",
"payPeriod": "MONTHLY",
"frequency": "MONTHLY"
},
{
"type": "ALLOWANCE",
"planId": "ALLOWANCE_Car_Allowance_Plan",
"amount": 500,
"percentage": null,
"currency": "USD",
"payPeriod": "MONTHLY",
"frequency": "MONTHLY"
}
],
"variable": [
{
"type": "BONUS",
"planId": "BONUS_PERCENT_BASED_Executive_Bonus_Plan",
"amount": null,
"percentage": 0.2,
"currency": "USD",
"payPeriod": "MONTHLY",
"frequency": "QUARTERLY"
}
],
"stock": [
{
"planId": "STOCK_2008_Stock_Plan_Executive",
"type": "Options",
"targetShares": 5000,
"optionsPercentage": 0.85,
"stockPercentage": 0.15,
"vestingScheduleId": "4YQ",
"vestingScheduleName": "4-Year, Quarterly"
}
]
},
"deductions": [
{
"type": "401k",
"name": "401k Deduction Plan",
"deductionId": "PF9434F9",
"deductionCode": "DEDUC401",
"employeeContribution": {
"amount": 100.0,
"percentage": 0
},
"employerContribution": {
"amount": 100.0,
"percentage": 0
},
"currency": "USD",
"frequency": "MONTHLY",
"startDate": "2023-01-01T00:00:Z",
"endDate": "2023-12-31T00:00:Z"
}
],
"customFields": {
"fields": {
"unmappedFieldKey": "value"
}
},
"leaveRequests": [
{
"id": "1437",
"startDate": "2024-02-19T00:00:00Z",
"endDate": "2024-02-23T00:00:00Z",
"requestedOn": "2024-01-04T00:00:00Z",
"note": null,
"status": "REQUESTED",
"leaveType": {
"id": "78",
"name": "Vacation",
"type": "VACATION"
},
"unit": "HOURS",
"amount": 40.0,
"isPaid": "NOT_SPECIFIED"
},
{
"id": "1448",
"startDate": "2024-03-20T00:00:00Z",
"endDate": "2024-03-21T00:00:00Z",
"requestedOn": "2024-03-19T00:00:00Z",
"note": "Going to Disneyland",
"status": "APPROVED",
"leaveType": {
"id": "78",
"name": "Vacation",
"type": "VACATION"
},
"unit": "HOURS",
"amount": 16.0,
"isPaid": "NOT_SPECIFIED"
}
],
"w4Data": {
"filingStatus": "JOINTLY_FILED",
"hasMultipleJobs": "TRUE",
"totalDependentsAmount": "200.0",
"qualifiedDependentsAmount": "100.0",
"otherDependentsAmount": "100.0",
"numberOfQualifiedDependents": "1",
"numberOfOtherDependents": "1",
"otherIncomeAmount": "500.0",
"deductionsAmount": "300.0",
"extraWithholdingAmount": "100.0",
"withholdingStatus": "EXEMPT"
},
"company": {
"companyId": "WSRC_TECH",
"companyName": "Waystar Royco Technologies"
},
"rawValues": {
"profile": {
"employmentStatus": "Probation",
"maritalStatus": "single",
"gender": "male",
"employmentType": "full time"
}
}
}