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 syncsWhile invoking sync APIs, pass these model IDs in order to get the desired data. Make sure the
dataTypein 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"
}
}
}