# Get Employee Details
Source: https://docs.hypersync.tartanhq.com/api-reference/employees/get-employees-external
POST /api/external/employee/
Returns detailed information for a specific employee.
For field enums, refer the [employee details](/api-reference/employees/employee-details-api) page.
# Setup Employee Update Config
Source: https://docs.hypersync.tartanhq.com/api-reference/employees/setup-employee-update-config
POST /api/webhook/v1/setup-config/
# Update Employee Details
Source: https://docs.hypersync.tartanhq.com/api-reference/employees/update-employee-details
POST /api/webhook/v1/employee/update/
# Get Organization Details
Source: https://docs.hypersync.tartanhq.com/api-reference/organization/get-organization-details
GET /api/org_details/{org}/
Returns details of an organization by its identifier.
# Get Vendor Connections
Source: https://docs.hypersync.tartanhq.com/api-reference/organization/get-vendor-connections
GET /api/vendor/connections/
Returns a list of vendor connections filtered by status.
# Get Data Model Flags
Source: https://docs.hypersync.tartanhq.com/api-reference/sdk/get-data-model-flags
GET /api/sdk/data_model_flags/
Retrieve the current configuration of data model flags that control which fields are enabled, disabled, or optional in the SDK.
This endpoint retrieves the current data model flags configuration for the SDK.
## Overview
The Get Data Model Flags API allows you to retrieve the current configuration of data model flags that control which fields are enabled, disabled, or optional in the SDK.
## Request
### Headers
| Header | Description |
| --------------- | ------------------------------- |
| `Authorization` | Token authentication (required) |
| `Content-Type` | application/json |
### Example Request
```bash theme={"dark"}
curl --location -g '{{url}}/api/sdk/data_model_flags/' \
--header 'Authorization: Token {{API-KEY}}' \
--header 'Content-Type: application/json'
```
## Response
### Success Response (200)
```json theme={"dark"}
{
"status": "success",
"message": "Data model flags retrieved successfully",
"data": {
"detail_info_fields": {
"name": -1,
"employeeId": -1,
"status": -1,
"email": 1,
"doj": 1,
"employmentType": 1,
"gender": -1,
"dob": -1,
"pan": 1,
"personalEmail": 1,
"fatherName": 1,
"bloodGroup": 1,
"designation": 1,
"department": 1,
"mobileNumber": 1,
"manager": 1,
"maritalStatus": 1,
"nationality": 1,
"aadhar": 1,
"uan": 1,
"terminationDate": 1,
"grade": 1,
"groupName": 1,
"costCenter": 1,
"managerEmail": 1,
"managerEmail2": 1,
"managerEmail3": 1,
"managerEmail4": 1,
"managerEmail5": 1,
"companyName": 1,
"currentAddress": 1,
"permanentAddress": 1,
"jobLocation": 1,
"employeeMetadata_marriageDate": 0
},
"bank_details_fields": {
"bankDetails_bankName": 1,
"bankDetails_ifscCode": 1,
"bankDetails_accountNumber": 1
},
"dependent_details_fields": {
"dependentDetails_name": 1,
"dependentDetails_relation": 1,
"dependentDetails_dob": 0,
"dependentDetails_mobileNumber": 1,
"dependentDetails_email": 0,
"dependentDetails_gender": 1,
"dependentDetails_profession": 1
},
"ctc_details_fields": {
"ctc_basic": -1,
"ctc_hra": -1,
"ctc_specialAllowance": -1,
"ctc_medicalAllowance": -1,
"ctc_dearnessAllowance": -1,
"ctc_flexiBasketAllowance": -1,
"ctc_travelAllowance": -1,
"ctc_gratuity": -1,
"ctc_grossPay": -1,
"ctc_deductions_pf": 1,
"ctc_deductions_esi": 1,
"ctc_deductions_misc": 1,
"ctc_deductions_labourWelfareFund": 1,
"ctc_deductions_professionalTax": 1,
"ctc_bonus_joining": 1,
"ctc_bonus_misc": 1,
"ctc_bonus_performance": 1,
"ctc_bonus_referral": 1,
"ctc_bonus_relocation": 1,
"ctc_bonus_retention": 0,
"ctc_raw": 0
},
"salary_monthly_details_fields": {
"monthly_basic": 0,
"monthly_dearnessAllowance": 0,
"monthly_hra": 0,
"monthly_medicalAllowance": 0,
"monthly_travelAllowance": 0,
"monthly_specialAllowance": 0,
"monthly_flexiBasketAllowance": 0,
"monthly_gratuity": 0,
"monthly_otherAllowance": 0,
"monthly_deductions_pf": 0,
"monthly_deductions_esi": 0,
"monthly_deductions_professionalTax": 0,
"monthly_deductions_labourWelfareFund": 0,
"monthly_deductions_tds": 0,
"monthly_deductions_medicalClaimDeduction": 0,
"monthly_deductions_groupTermInsuranceDeductions": 0,
"monthly_deductions_earlyWageDeduction": 0,
"monthly_deductions_misc": 0,
"monthly_bonus_joining": 0,
"monthly_bonus_referral": 0,
"monthly_bonus_retention": 0,
"monthly_bonus_performance": 0,
"monthly_bonus_relocation": 0,
"monthly_bonus_misc": 0,
"monthly_grossPay": 0,
"monthly_reimbursements": 0,
"monthly_raw": 0
}
}
}
```
## Field Categories
### detail\_info\_fields
Basic employee information fields including personal details, employment information, and contact details.
### bank\_details\_fields
Bank account information fields for salary disbursement.
### dependent\_details\_fields
Information about employee dependents including family members and their details.
### ctc\_details\_fields
Cost to Company (CTC) related fields including salary components, deductions, and bonuses.
### salary\_monthly\_details\_fields
Monthly salary breakdown including allowances, deductions, and reimbursements.
## Flag Values
| Value | Description |
| ----- | --------------------------------------------------- |
| `-1` | Field is enabled and required |
| `0` | Field is optional (can be filled but not mandatory) |
| `1` | Field is enabled and optional |
## Error Responses
### 401 Unauthorized
```json theme={"dark"}
{
"status": "error",
"message": "Authentication credentials were not provided.",
"data": null
}
```
### 500 Internal Server Error
```json theme={"dark"}
{
"status": "error",
"message": "Internal Server Error",
"data": null
}
```
# Get SDK Token
Source: https://docs.hypersync.tartanhq.com/api-reference/sdk/get-sdk-token
POST /api/sdk/token/
Generate an authentication token for the SDK using user and organization details.
The token generated is valid for 1 hour.
Reach out to your SPOC in Tartan for api\_key.
| Parameter | Description |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| api\_key | Authentication key issued by Tartan. **Note: This key is secret and should be kept safe.** |
| email | The email of your corporate whose data you wish to retrieve. |
| org\_name | The corporate's organisation name. |
| fullname | The name of the HR admin at the corporate organisation. |
| remote\_org\_id (optional) | A unique identifier that allows you to bypass validation checks for corporates with multiple domains. It ensures a consistent org\_id is provided for the same organization, regardless of domain variations. This is a client-defined identifier that Tartan uses to link users to a corporate. Refer to [API workflow](/docs/hrmssync/sdk) section of this page for a detailed explanation of this API workflow. |
| corporate\_reference\_data (optional) | Additional reference data for the corporate organization. Can include custom fields like `unique_id` or other metadata. |
| data\_model\_flags (optional) | Configuration flags to control which data fields are enabled/disabled in the SDK. Contains nested objects for different field categories. |
### Generate SDK Token API: Decision Matrix
**Input Validation**:
The API begins by validating the provided inputs ( email , org\_name, fullname, and optionally remote\_org\_id). If any required input is missing or invalid, the API returns an error.
**Check for remote\_org\_id**:
If a remote\_org\_id is provided, the API directly maps this identifier to an existing org\_id without further domain or name validation and creates a user under it using the provided email if needed. This path is designed for clients with multiple domains or custom configurations who want a consistent identifier.
**Domain-Based org\_id Determination**:
If remote\_org\_id is not provided, the API does the following:
**Domain Classification**: The API checks if the email domain belongs to a common domain (Refer to list attached below) or a private domain (custom domains used by corporates).
**Private Domain Handling**: If the email belongs to a private domain, the API ensures that there is a one-to-one mapping between the private domain and an org\_id.
If an org\_id already exists for that private domain, it is returned. Otherwise, a new org\_id is created for that domain.
**Common/Public Domain Handling**: If the email belongs to a common domain, the API cannot rely on the domain alone to determine the organization.
In this case, the API checks if the provided org\_name is unique
**Unique org\_name**: If the organization name is unique, a new org\_id is generated.
**Existing org\_name**: If the organization name already exists, the corresponding org\_id is returned.
This step prevents the creation of duplicate organizations when using common/public domains.
Flowchart representing the onboarding process -
### Data Model Flags
The `data_model_flags` parameter allows you to control which data fields are enabled or disabled in the SDK. This gives you granular control over the data collection process.
#### Structure
```json theme={"dark"}
{
"data_model_flags": {
"detail_info_fields": {
"gender": -1,
"dob": -1
},
"dependent_details_fields": {
"dependentDetails_mobileNumber": 1
},
"ctc_details_fields": {
"ctc_deductions_misc": 1,
"ctc_deductions_esi": 1
}
}
}
```
#### Field Categories
**detail\_info\_fields**: Controls basic employee information fields
* `gender`: -1 (mandatory enabled) or 1 (enabled)
* `dob`: -1 (mandatory enabled) or 1 (enabled)
**dependent\_details\_fields**: Controls dependent information fields
* `dependentDetails_mobileNumber`: -1 (mandatory enabled) or 1 (enabled)
**ctc\_details\_fields**: Controls CTC (Cost to Company) related fields
* `ctc_deductions_misc`: -1 (mandatory enabled) or 1 (enabled)
* `ctc_deductions_esi`: -1 (mandatory enabled) or 1 (enabled)
#### Flag Values
* `-1`: Field is enabled and required
* `0`: Field is disabled
* `1`: Field is enabled and optional
# Terminate Connection
Source: https://docs.hypersync.tartanhq.com/api-reference/sdk/terminate-connection
POST /api/terminate_connection/
Terminates an existing vendor-client connection.
If a termination request is made while a data sync is in pr ogr ess, the API will return an error, pr eventing deletion until the sync is complete.
# Connection accepted
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/connection-accepted
This event is triggered when your corporate admin completes the jounrey by submitting the data models.
```json theme={"dark"}
{
"syncSessionId": "vknsbflxvnzbfbnodzk",
"webhookCounter": 1,
"requestId": "6e63d444-72e4-4dc6-9ff7-50eededb8295",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "connection.events.accepted",
"eventType": "connection.events",
"recordCount": 1,
"body": [
{
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"orgName": "Intellect Design Pvt Ltd",
"orgCin": null,
"hrms": 1,
"status": "CONNECTION_ACCEPTED",
"invitedBy": null,
"acceptedBy": "prashant@intellectdesign.com",
"terminatedBy": null,
"remote_org_id": "afesgvbfojsdfdogfauwr"
}
],
"timeStamp": "2025-05-15 03:18:10",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Connection failed
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/connection-failed
This event is triggered when an issue occurs while retrieving data from the source system.
```json theme={"dark"}
{
"syncSessionId": "qwqqsdkvsdnvewzxc",
"webhookCounter": 1,
"requestId": "8q3d414-02a4-9ca6-9ff7-10eededb8342",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "connection.events.failed",
"eventType": "connection.events",
"recordCount": null,
"body": [
{
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"orgName": "Intellect Design Pvt Ltd",
"orgCin": "",
"hrms": 1,
"status": "CONNECTION_FAILED",
"invitedBy": null,
"acceptedBy": null,
"terminatedBy": null,
"remote_org_id": "kjbkfjbhdhkjwk"
}
],
"timeStamp": "2025-05-15 03:18:36",
"statusCode":"200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Connection requested
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/connection-requested
This event is triggered when a corporate is invited to establish a connection either through the console or by calling the [Generate SDK token](/api-reference/sdk/get-sdk-token) API.
```json theme={"dark"}
{
"syncSessionId": "bhkjqhg6662bkkjbwwfwj",
"webhookCounter": 1,
"requestId": "4cfe72cd-a6f1-464b-ab4e-5a752484435e",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "connection.events.requested",
"eventType": "connection.events",
"recordCount": 1,
"body": [
{
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"orgName": "Intellect Design Pvt Ltd",
"orgCin": null,
"hrms": null,
"status": "CONNECTION_INVITED",
"invitedBy": "ankur@tartanhq.com",
"acceptedBy": null,
"terminatedBy": null,
"remote_org_id": "afesgvbfojsdfdogfauwr"
}
],
"timeStamp": "2025-05-15 03:11:10",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Connection terminated
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/connection-terminated
This event is triggered when client or corporate terminates the connection either from console or using the [terminate connection API](/api-reference/sdk/terminate-connection).
```json theme={"dark"}
{
"syncSessionId": "afdsbijodkxdjsdvbioj",
"webhookCounter": 1,
"requestId": "3ddd414-12d4-2la6-9ff7-10dvwedb8123",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "connection.events.terminated",
"eventType": "connection.events",
"recordCount": null,
"body": [
{
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"orgName": "Intellect Design Pvt Ltd",
"orgCin": "",
"hrms": 1,
"status": "CONNECTION_TERMINATED",
"invitedBy": null,
"acceptedBy": null,
"terminatedBy": "prashant@intellectdesign.com",
"remote_org_id": "kjbkfjbhdhkjwk"
}
],
"timeStamp": "2024-11-25 07:34:38",
"statusCode":"200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Delta employee add
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/delta-employee-add
This event is triggered during a scheduled sync when new employee records are retrieved from the source. It contains only those records that were added after the initial sync.
```json theme={"dark"}
{
"syncSessionId": "dfsbdgvbgdvbd",
"webhookCounter": 1,
"requestId": "f2ebc662-b849-4987-a6c7-8941b9d02964",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"event": "sync.events.employee.add",
"eventType": "sync.events.delta",
"recordCount": 10,
"body": ["Array of Objects with each object containing an employee record"],
"timeStamp": "2025-05-26 03:18:30",
"statusCode":"200",
"message":"Success"
}
```
# Delta employee update
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/delta-employee-update
This event is triggered during a scheduled sync when updates for existing employee records are retrieved from the source. It contains only those records that were added after the initial sync. The response contains the complete employee records with updated values for the changed fields.
```json theme={"dark"}
{
"syncSessionId": "fdsbdgfvvdsd",
"webhookCounter": 1,
"requestId": "b7cc9282-3587-4403-8589-fd0e9f87cf97",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "sync.events.employee.update",
"eventType": "sync.events.delta",
"recordCount": 1,
"body": ["Array of Objects with each object containing an employee record"],
"timeStamp": "2025-05-26 03:19:30",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Delta employee update csv
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/delta-employee-update-csv
This event is triggered when employee record has been added/updated during a delta sync.
```json theme={"dark"}
{
"syncSessionId": "",
"webhookCounter": 1,
"requestId": "",
"orgId": "",
"corporate_reference_data": {
"unique_id": "abc"
},
"hrms_name": "Keka",
"vendor.orgId": "",
"event": "sync.events.employee.csv",
"eventType": "sync.events.delta",
"recordCount": 5,
"body": [
{
"csv_link": ""
}
],
"timeStamp": "2025-06-05 05:22:28",
"statusCode": "200",
"message": "success"
}
```
# Employee add
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/employee-add
This event is triggered when the initial batch of employee data is received from the source. Each webhook contains a maximum of 10 employee records. For example, if there are 105 employees in the source, 11 webhooks will be triggered — 10 with 10 records each, and the 11th with the remaining 5 records.
```json theme={"dark"}
{
"syncSessionId": "adfsbvdzfbsvzd",
"webhookCounter": 1,
"requestId": "b7cc9282-3587-4403-8589-fd0e9f87cf97",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"event": "sync.events.employee.add",
"eventType": "sync.events.initial",
"recordCount": 10,
"body": ["Array of Objects with each object containing an employee record"],
"timeStamp": "",
"statusCode":"200",
"message":"success"
}
```
**Sample employee record**
Below is a sample employee object included in the array provided in the above webhook.
```json theme={"dark"}
{
"name": "Manish Gupta",
"email": "manish@tartanhq.com",
"doj": "2021-06-01",
"status": "Active",
"employmentType": "Permanent",
"gender": "Male",
"id": "7",
"employeeId": "5",
"dob": "1983-06-08",
"pan": "************",
"personalEmail": "manish.gupta@gmail.com",
"fatherName": "Ritesh Gupta",
"bloodGroup": "AB +ve",
"designation": "NOT AVAILABLE",
"department": "Engineering",
"mobileNumber": "************",
"manager": "Meet Semlani",
"maritalStatus": "Married",
"nationality": "Indian",
"aadhar": "************",
"uan": "************",
"terminationDate": "",
"grade": "D-3",
"groupName": "NOT AVAILABLE",
"costCenter": "NOT AVAILABLE",
"managerEmail": "shreesh@tartanhq.com",
"managerEmail2": "NOT AVAILABLE",
"managerEmail3": "NOT AVAILABLE",
"managerEmail4": "NOT AVAILABLE",
"managerEmail5": "NOT AVAILABLE",
"companyName": "TartanHQ",
"bankDetails": {
"accountNumber": "************",
"ifscCode": "************",
"bankName": "SBI"
},
"currentAddress": {
"addressPincode": "560080",
"addressCity": "Banglore",
"addressCountry": "India",
"addressState": "Karnataka",
"addressLine": "Sadashiva Nagar Armane Nagar"
},
"permanentAddress": {
"addressPincode": "226001",
"addressCity": "Luknow",
"addressCountry": "India",
"addressState": "Uttar Pradesh",
"addressLine": "Yarana Nagar Luknow"
},
"jobLocation": {
"pincode": "NOT AVAILABLE",
"city": "Gurugram"
},
"dependentDetails": [
{
"dob": "NOT AVAILABLE",
"email": "sohan.negi01@gmail.com",
"gender": "Male",
"mobileNumber": "NOT AVAILABLE",
"name": "Sohan Negi",
"profession": "NOT AVAILABLE",
"relation": "Father"
}
],
"salaryDetails": {
"ctc": {
"basic": 50000,
"dearnessAllowance": 9000.9,
"hra": 25000.5,
"gratuity": 2000.7,
"medicalAllowance": 2000.7,
"travelAllowance": 2000.7,
"specialAllowance": null,
"flexiBasketAllowance": null,
"grossPay": null,
"bonus": {
"joining": 80000,
"referral": null,
"retention": null,
"performance": null,
"relocation": null,
"misc": null
},
"deductions": {
"pf": 1800,
"esi": null,
"professionalTax": null,
"labourWelfareFund": null,
"misc": null
}
}
}
}
```
# Employee add csv
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/employee-add-csv
This event is triggered when new employee record has been added during the sync.
```json theme={"dark"}
{
"syncSessionId": "",
"webhookCounter": 1,
"requestId": "",
"orgId": "",
"corporate_reference_data": {
"unique_id": "abc"
},
"hrms_name": "Keka",
"vendor.orgId": "",
"event": "sync.events.employee.csv",
"eventType": "sync.events.add",
"recordCount": 5,
"body": [
{
"csv_link": ""
}
],
"timeStamp": "2025-06-05 05:22:28",
"statusCode": "200",
"message": "success"
}
```
# Introduction
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/introduction
Tartan lets you stay up to date with data changes by using Webhooks. You can easily manage and test webhook events directly through the [Tartan Console](/docs/hrmssync/console), ensuring your integration runs smoothly.
Tartan uses a webhook system to automatically notify your application whenever there’s a change in the source system. Instead of constantly polling the API for updates, you simply set up a secure HTTPS endpoint to receive scheduled webhook from tartan.
### Webhook Headers
Webhook headers are bits of information sent along with a webhook request, just like a label on a parcel. They help the receiving server understand who sent the request, what kind of data is inside, and sometimes how to verify it's legit.
| Header | Description |
| ----------------------------------- | ----------------------------------------------- |
| `"content-type":"application/json"` | Tells about the format of the data (json, etc.) |
| `"tartan-signature": "xxxxxxxxx"` | Security signature to verify authenticity |
**tartan-signature** - To ensure that your API endpoint is verifying that incoming POST requests are from Tartan and not a malicious source, and that payloads haven't been altered in transit.
The signature is generated using a combination of the secret\_key/app\_key and the payload data. You can refer to the code snippet below to generate and verify the encoded hash using the [hmac module](https://docs.python.org/3/library/hmac.html) and the sha256 algorithm.
```python theme={"dark"}
import hmac
import hashlib
import json
# Example secret key and message
app_key = "my_secret_key"
payload = request.body
try:
tartan_signature = request.headers.get("tartan-signature")
except KeyError:
print('No signature sent, request did not originate from Tartan.')
raise
print("Recieved tartan-signature:", tartan_signature)
# Generate HMAC digest using SHA256
hmac_digest = hmac.new(app_key.encode("utf-8"), payload.encode("utf-8"), hashlib.sha256).hexdigest()
print("Generated HMAC Digest:", hmac_digest)
# Check if the generated HMAC matches the received one
if hmac_digest == tartan_signature:
print("HMAC verified successfully!")
else:
print("HMAC verification failed!")
```
`POST`
### Webhook events
Once you've set up your webhook URL via our [console](docs/hrmssync/console") or with help from your Tartan SPOC, you'll start receiving webhook events from Tartan.
You can choose which events you'd like to receive from the [Webhook Events](docs/hrmssync/console") section. Once configured, Tartan will begin sending only those selected events to your endpoint.
Tartan automatically re-triggers all failed webhooks at the end of the day (EOD).
| Webhook Key | Description |
| :--------------- | :--------------------------------------------------------------------------------------- |
| `syncSessionId` | Represents the unique sessionID for the sync session associated with this webhook. |
| `webhookCounter` | Security signature to verify authenticity |
| `requestId` | Security signature to verify authenticity |
| `orgId` | Represents the orgID of the corporate associated with this webhook. |
| `event` | Event name |
| `eventType` | Event type |
| `recordCount` | Denotes the total number of employee records in this webhook. |
| `orgName` | Name of the org associated with this webhook. |
| `hrms` | The source HRMS |
| `status` | Event status |
| `invitedBy` | Email of the user who sent the invite. |
| `acceptedBy` | Email of the user who accepted the invite. |
| `terminatedBy` | Email of the user who terminated the connection. |
| `remote_org_id` | An optional unique identifier |
| `timeStamp` | Timestamp of the webhook in UTC |
| `vendor.orgId` | Your organisation ID |
| `body` | Contains employee record data received from the source. |
| `statusCode` | HTTP status code of the webhook call |
| `newRecords` | Represents the expected total number of new records in this session. |
| `updatedRecords` | Represents the expected total number of updates in the existing records in this session. |
# Salary master
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/salary-master
This event is triggered when salary master data (CTC and monthly salary components) is received from the HRMS system. This webhook contains the salary structure information including basic pay, allowances, and deductions.
```json theme={"dark"}
{
"syncSessionId": "4c43e741-d8fd-4395-a2ce-50202cc9441e",
"webhookCounter": 1,
"requestId": "95622620-14b0-42c9-a0a7-989fb7426168",
"orgId": "f88de4ec-811a-4bfc-bfb2-88bd611c75f8",
"corporate_reference_data": null,
"event": "connection.events.salary_master",
"eventType": "connection.events",
"recordCount": 1,
"body": [
{
"ctc": {
"data": [
{
"id": "472f391f-39a6-4257-8f86-18b102dc22bc",
"identifier": "basic",
"title": "Basic_p",
"accountingCode": null
},
{
"id": "392003bb-28f2-477f-bb39-f3c443c3cdbe",
"identifier": "hra",
"title": "HRA",
"accountingCode": null
},
{
"id": "690a37a1-2faa-49b9-a0d7-4e319fae9975",
"identifier": "medical",
"title": "Medical Allowance",
"accountingCode": null
},
{
"id": "48c8c5d7-0b30-4e99-90cd-bc7132c7cde3",
"identifier": "pf",
"title": "PF Employee",
"accountingCode": null
}
]
},
"monthly": {
"data": [
{
"id": "472f391f-39a6-4257-8f86-18b102dc22bc",
"identifier": "basic",
"title": "Basic_p",
"accountingCode": null
},
{
"id": "392003bb-28f2-477f-bb39-f3c443c3cdbe",
"identifier": "hra",
"title": "HRA",
"accountingCode": null
},
{
"id": "690a37a1-2faa-49b9-a0d7-4e319fae9975",
"identifier": "medical",
"title": "Medical Allowance",
"accountingCode": null
},
{
"id": "48c8c5d7-0b30-4e99-90cd-bc7132c7cde3",
"identifier": "pf",
"title": "PF Employee",
"accountingCode": null
}
]
}
}
],
"timeStamp": "2025-06-05 05:22:28",
"statusCode": "200",
"message": "success",
"hrms_name": "Keka",
"vendor.orgId": "71e8897a-fa6c-4100-8749-86d917e4857e"
}
```
# Sync completed
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/sync-completed
This event is triggered when all the employee records are retrived and synced from the source successfully.
```json theme={"dark"}
{
"syncSessionId": "fdsbdgfvvdsd",
"webhookCounter": 1,
"requestId": "8bccd5e2-fbcc-411d-9022-1b351dfef5fa",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "sync.events.completed",
"eventType": "sync.events",
"recordCount": null,
"body": [],
"timeStamp": "2024-11-26 12:00:19",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Sync initiated
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/sync-initiated
This event is triggered once the connection is accepted and data syncing begins (initial sync). It provides the total number of new employee records and updates to existing records (if any).\
If a scheduled sync finds no new or updated records from the source, the event will be triggered with "newRecords": 0 and "updatedRecords": 0
```json theme={"dark"}
{
"syncSessionId": "dsfdbgklvboknbsx",
"webhookCounter": 1,
"requestId": "6754fec7-d3db-458a-942b-85bfc5822c82",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "sync.events.initiated",
"eventType": "sync.events",
"recordCount": null,
"body": [
{
"newRecords": 6,
"updatedRecords": 0
}
],
"timeStamp": "2025-05-25 03:18:30",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Test webhook
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-events-V2/test-webhook
This event can be used to test the webhook functionality.
```json theme={"dark"}
{
"syncSessionId": "adsfbddfbvczdvfx",
"webhookCounter": 1,
"requestId": "2dfe7ed1-a6f1-904b-ab4e-1a752484490w",
"orgId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "test.event",
"eventType": "test.event",
"recordCount": null,
"body": [],
"timeStamp": "2025-05-15 02:31:14",
"statusCode": "200",
"message": "success",
"vendor.orgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
# Sync Callback
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-push/webhook-basic-auth-sync-callback
POST /api/external/sync/callback
Sync employee data to the external system.
- Use Bearer Token (Authorization header) for JSON submission.
- Use username/password headers for multipart/form-data submission.
# OAuth Token
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-push/webhook-oauth-token
POST /api/external/oauth/token
Obtain an access token using Resource Owner Password Credentials (password grant type).
# Webhook Reconciliation
Source: https://docs.hypersync.tartanhq.com/api-reference/webhooks/webhook-recon/webhook-reconciliation
POST /api/webhooks/resend
Allows you to resend a failed webhook based on status and timestamp.
# Introduction
Source: https://docs.hypersync.tartanhq.com/docs/api-docs/reference/introduction
Welcome to the API reference for Tartan's HRMS Sync.
This section provides comprehensive documentation for all API endpoints related to syncing HRMS data. Use these APIs to programmatically onboard corporates, initiate HRMS connections, and fetch employment and income data across 80+ HRMS platforms.
Everything you need to integrate and automate HRMS sync is right here—complete with request details, parameters, and sample responses.
# Introduction
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/Introduction
HRMS Sync by Tartan is a unified data gateway platform that simplifies and accelerates the process of integrating with different Human Resource Management Systems (HRMS). With support for over 80+ HRMS providers, HRMS Sync enables you to access employee data through a single, standardized API—eliminating the need for individual integrations with each system.
HRMS Sync establishes secure, real-time connections to your client’s HRMS. This allows seamless retrieval of organizational data across multiple categories, including:
* Employee details
* Dependents details
* Salary and compensation details
* Bank account details
HRMS Sync is designed to minimize integration effort, reduce go-live time, and ensure a secure and reliable data exchange.
### What are unified APIs ?
**Unified APIs: One Integration, Many Connections**
A unified API is a smart way to simplify how software platforms connect with multiple other tools in the same category—like different HRMS (Human Resource Management Systems).
Imagine a corporate travel platform that needs to connect with the HRMS used by each of its client companies. Normally, the tech team would have to build separate integrations for every HRMS—each with its own format, rules, and setup. This takes a lot of time and effort.
With a unified API, that complexity is removed. The unified API acts as a single gateway that translates all those different HRMS systems into one standard format. So, the travel platform only needs to integrate once, and it can automatically work with all supported HRMS providers.
This not only saves months of development time but also helps businesses onboard new clients faster, reduce costs, and scale their operations smoothly.
### Benefits of HRMS Sync
* **Real-Time Data Access**: Stay updated with the latest employee information by configuring a sync frequency that pulls changes directly from the client’s HR system as they happen.
* **Improved Data Accuracy**: Automated data retrieval eliminates the need for manual entry, significantly reducing the risk of errors.
* **Enhanced Operational Efficiency**: Save developer time with a ready-to-use SDK, and improve your CSM-to-client ratio by removing the need for manual data exchanges or frequent follow-ups.
# What is Sync?
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/What-is-sync
***
## Hyper Sync: Unified API Solution
Tartan has created Unified APIs across multiple SaaS platforms. As a business, enterprises and startups can fetch and update their client data from multiple SaaS tools, using Tartan’s Unified APIs. This reduces integration time from months to minutes. It acts as a unified integration solution to connect various applications like HRMS, CRM, ERP, ATS etc, enabling custom workflows.
## Why does it exist?
Companies need integrations. Building these integrations in-house is expensive, sometimes up to thousands of dollars per integration, and it slows down core product innovation, with companies taking at least 3 weeks to bring a single integration to market. Solutions like Hyper Sync help organisations by providing a competitive advantage, leading to higher deal closures, and improving customer retention by deeply embedding products into users' daily tasks.
HyperSync helps organisations by allowing them to:
* Deliver product integrations 5x faster natively
* Integrate with 1000+ applications using pre-built connectors
* Use a Low code integration, automation builder and SDKs to build, test, and launch multiple integrations with minimal coding.
* Automate complex business processes within minutes
* Enable Real time data replication from any source to destination system
* Offer a white-labelled embedded experience to customers
* Ensure enterprise grade security and governance through data encryption, secure logins, security certifications, and role-based access control
* Offload API maintenance and management.
## Use Cases
* Corporate Profiling and Onboarding (tying into KYB verification).
* Employee Onboarding (integrating HRMS and payroll).
* Expense Management (integrating ERP and expense tools).
Other examples like Employee Benefits Administration, Smart Alerts via Communication Tools, ATS integrated BGV, Deal-to-Delivery Automation, Automated Financial Audit, Salary Payout Automation, Sales Linked Incentives, Pre-filled data for Employee KYC, Invoice and Expense Reconciliation, Dynamic MIS Generation, Multi-Entity Payroll Consolidation, GST Filing Support, Payment/Receivable Automation and more other inter-system syncs.
# Background Verification
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/background-verification
### BGV OS
BGV OS is conceived as an automated solution designed specifically for employee background verification (BGV) companies. Its core function is to integrate with a wide array of HRIS platforms to streamline and automate the background verification process. The vision is that when a client onboards a new joiner, relevant document and detailed information present in their HRIS can be automatically fetched by the BGV company for verification.
### Why does BGV OS exist?
Traditional background verification processes often involve manual data collection, submission, and cross-referencing, leading to delays and potential errors. BGV OS exists to eliminate this friction by directly accessing verified employee data from the source of truth – the company's HRIS. By automating the data fetching step through seamless integration, BGV OS aims to significantly improve the efficiency and reliability of background checks for verification companies and their corporate clients.
### How does BGV OS help Verification companies?
Leveraging automated HRIS integration, BGV OS provides significant benefits to background verification companies:
* **Reducing TAT for Employee Verification**: Automated data fetching dramatically speeds up the initial data collection phase.
* **Reducing Salary Leakage due to Fraud Employees**: Faster verification responses can help identify discrepancies quickly, mitigating potential financial losses associated with fraudulent claims.
* **Improve penetration into large accounts**: The ability to handle bulk verifications, such as during campus hiring drives, efficiently and in minutes becomes feasible.
### Key modules and capabilities
* **Pre and Post Hiring Verification Integrations**: Facilitating automated checks both before extending an offer letter and after the employee has joined, by accessing relevant data points from the HRIS at each stage.
* **Automated Risk Flagging**: Capability to automatically identify and flag discrepancies or false data based on real-time data fetched from the HRIS compared to other sources, aiding in decisions like employment termination.
* **PII data matching**: Matching critical personally identifiable information (PII) data points like UAN, Address, and PAN between current and previous employment records is necessary. This can be done using data accessible via HRIS to avoid fraudulent activities by new employees.
* This solution would significantly modernise the background verification process by using HRIS integration as the backbone for data verification.
# Console
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/console
**The Tartan HRMS Sync Console** is a no-code platform built to simplify HRMS integration and data management. It empowers you to onboard clients, control data syncs, manage users, and configure integration settings—all without writing a single line of code.
**What You Can Do with the Console**
* **Invite and Manage Clients** : Easily invite your clients to connect their HRMS systems, share the employee details and manage each connection from a centralized dashboard.
* **Set Sync Frequency** : Define how often Tartan should fetch updates from your clients' HRMS platforms to keep employee data up-to-date.
* **View and Export Employee Directory** : Access the full employee directory from connected clients and export it as a CSV for reporting or processing.
* **Customize Source Data** : Apply transformation rules to structure source data to meet your specific format or logic needs.
* **User Management** : Invite team members within your organization, assign them roles (e.g., admin, viewer), and associate them with specific clients for better access control.
* **Set Data Models** : Select the data points you require from the corporate. You can mark specific fields as mandatory, while allowing the corporate the flexibility to disable non-mandatory fields, ensuring both security and control in the data-sharing process.
* **SDK UI Customization & Preview** : If you're using the SDK, use the console to customize the UI elements and instantly preview SDK changes in the console itself.
* **Webhook Configuration** : Set up your webhook endpoint and choose the specific events you'd like to subscribe to—ensuring you receive real-time updates when important changes occur.
## Access to Tartan Console
Reach out to your SPOC in tartan or [ankur@tartanhq.com](mailto:ankur@tartanhq.com) to get access to a sandbox account.
Once you are done with the testing, we will provide you with a whitelabeled console which you can use to invite your corporates.
**Whitelabelling includes** :
* Custom domain
* Customized login page
* Customized emails
* Customized Branding
## Setup Webhook
You can setup your webhook URL using tartan console and opt for the webhook events you want to consume.
**Steps to setup the webhook**
Login to the tartan console using your credentials.
Refer to settings tab in side navbar and open the webhooks page.
Setup your webhook URL on which you want to receive the webhook events.
Select the webhook events you want to receive.
## SDK UI Customization
You can customize your SDK by adding your company logo, applying brand colors to CTAs, and selecting your preferred mode of integration.
**Steps to customize UI**
Login to the tartan console using your credentials.
Refer to the settings tab in side navbar and open the UI page.
Upload your brand logo, configure CTA colors, and select your preferred integration modes.
## User Management
You can invite users from your organisation, assign them roles as admins or members, and link them to specific corporates.
**Steps to invite users**
Login to the tartan console using your credentials.
Refer to the manage users section in the side navigation bar.
Refer to top right section, click invite user and choose the role.
Enter the user's name, email, and phone number to send the invitation.
# Corporate Banking
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/corporate-banking
### Banking OS
This OS is specifically designed for Onboarding Corporates and Acquiring Salary Accounts. It leverages Tartan's Unified APIs to access data from 80+ HRMS and employs AI Agents to integrate systems and enable intelligent automation. Essentially, it's an automated solution for corporate salary account opening.
### Why does Banking OS exist?
The system exists primarily to replace the cumbersome, manual processes traditionally involved in corporate salary account acquisition. This traditional approach often requires significant offline engagement between Bank’s RM and Employer/HR. There is a dependency on HR or People Ops teams for account opening processes, and employees face a broken journey with offline KYC and no auto-fetched details. Corporate Salary Account OS removes the need for manual data collection and interaction by providing a digitally automated workflow.
### How does Banking OS help Banks?
This product significantly helps Banks by delivering higher efficiency and productivity. It enables 100% Digital Corporate Onboarding. Benefits include -
* Increased salary account penetration with optimized TAT (turn-around-time).
* Almost zero offline engagement required, and the ability for RMs and central teams to track Corporates and employees about the Account Opening Journey.
* Employees benefit from a Pre-Populated Salary A/c Journey allowing them to open accounts three times faster through a simplified, quicker journey with Auto-Populated Data.
* The platform facilitates seamless corporate onboarding, centralized management, and seamless HRMS integration for corporates. It also improves Fraud and Risk compliance through checks like Real time Employment Verification and Two-Fold Digital KYC.
### Account Opening Status Page
To further streamline and digitize the salary account onboarding experience for corporate banking partners, Tartan provides an **Account Opening Status Page** within the whitelabelled console.
This page gives banking clients real-time visibility into the status of salary account opening for each employee of their corporate client. It adds a layer of transparency and control over the end-to-end process.
**Key Features:**
* **Real-Time Status Tracking**: View detailed account opening status (e.g., initiated, in-progress, completed etc) for each employee.
* **Bank Details Visibility**: Once an account is successfully opened, the system surfaces key banking details like the Account Number and IFSC Code directly on the console.
* **Custom Field Selection**: Clients can configure and choose what fields they wish to view based on their operational needs.
* **Automated Push to Bank Systems**: Once new bank account details are generated, Tartan can automatically push this information to the bank’s backend or relevant systems via secure API callbacks or file drops.
**How It Helps:**
* **Enhanced Operational Control**: Clients and RM teams get centralized access to the progress of each employee's account journey — eliminating manual coordination with HR teams.
* **Improved Transparency**: Allows banks to proactively monitor onboarding bottlenecks and resolve them in real time.
* **Seamless Integration**: The system ensures that once account creation is complete, updated details flow into your core systems with no additional manual effort.
This feature strengthens the Banking OS offering by providing full visibility into the onboarding funnel, ensuring a truly digital-first, scalable salary account acquisition experience for banks.
### Key components and modules include:
* **Corporate Profiling and Onboarding**: Automates checks on companies using data from public sources like NSDL/GST, EPFO, and MCA, including over 15 comprehensive real-time checks and director profiling.
* **HRMS Data Sync**: Enables Corporate HR to link their HRMS via a whitelabelled console, choosing from 80+ platforms, to securely share employee data with consent.
* **Employee Data Validation**: Validates synced employee data using APIs for checks on work email, phone-to-name matching, EPFO employee verification, and KYC documents.
* **Digital Account Opening Journey**: Employees receive an email link to complete a streamlined, multi-step digital process on the bank's platform with auto-populated details, E-KYC, and V-KYC. It also includes Salary Account Switch on HRMS to facilitate seamless transitions.
# Corporate Travel
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/corporate-travel
### Corporate Travel OS
Specifically designed as a Corporate Travel OS for Large Airlines, it delivers automation across the entire corporate travel lifecycle — from onboarding to reconciliation. It is built as a multi-layered enterprise architecture leveraging Tartan’s Unified API Layer (connecting systems like HRMS, ERP, CRM) and Agentic Orchestration with airline and corporate systems.
### Why does CT OS exist?
The system exists to help airlines and their corporate clients overcome significant operational inefficiencies and limitations. These include manual corporate onboarding, non-automated employee off-boarding process, fragmented systems, and manual ERP reconciliation. These issues hinder efficiency and limit the ability of airlines to offer integrated services.
### How does CT OS help Airlines?
* Corporate Travel OS helps airlines by enabling them to run branded, intelligent travel ecosystems for their SME and Enterprise customers.
* It significantly improves operational efficiency and drives business value.
Better client retention (75% higher)
Reduced operational costs for support
Faster corporate activation (90% faster)
Improved ERP reconciliation (65% faster)
* Higher sales enablement.
* It also enables real-time policy governance and helps reduce fraud and revenue leakage.
* The system provides targeted functionality through various modules, APIs and agentic workflows.
### Key modules and capabilities include:
* **Onboarding Automation**: Automates digital KYB processes and HRMS employee synchronisation.
* **SLA-Based Support Agent**: Automates ticket triage and escalation for faster resolution.
* **Expense & ERP Integration**: Automates posting travel expenses to ERP and Expense Tools.
* **Policy & Booking Engine**: Enables real-time policy enforcement and rule filtering during booking.
* **Credit & Loyalty Management**: Provides AI-driven credit recommendations and dynamic visibility.
# Employee Benefits
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/employee-benefits
### Benefits OS
Benefits OS is a new product conceived as an automated solution specifically designed for employee benefits platforms. Its primary function is to enable seamless corporate and employee onboarding for their clients by leveraging integration with HRIS/Payroll systems in order to fetch updated employee details. This aligns with Tartan's core offering of providing Unified API access to enterprises ensuring safe & secure connections.
### Why does Wealth OS exist?
The product exists to address the traditional friction points in onboarding employers and their employees onto benefits platforms. Manual processes for collecting employee data from companies are time-consuming and prone to errors. By integrating directly with the source of truth – the HRMS – Benefits OS streamlines this critical step, making it effortless to obtain necessary information like employee names, status, and potentially salary or dependent details directly from the HR system.
### How does Benefits OS help Employee Benefit companies?
Benefits OS provides significant advantages for platforms offering employee benefits -
* It is designed to boost customer adoption, allowing them to connect your product to their HRIS platform in seconds, dramatically shortening the time-to-value.
* Furthermore, by automating data synchronisation and integration, it helps in reducing support hours.
* The platform includes capabilities for setting data sync frequency to automate employee data fetching, which prevents exited employees from availing any such benefits, resulting in reduced leakages.
### Key modules and capabilities include:
* **Benefits Administration** - For Reward and Recognition programs, linking employee directory and details with employee benefit platforms is key to map benefits based on employee grade and department.
* **Incentive Management** - Sales teams incentive and disbursement practices are unstructured and platforms working on solving this problem can use HRIS Sync to link sales team details with incentive structures to automate monthly incentives and rewards.
* **Esop Management** - Employees have varied ESOPS and vesting periods in any organization. Linking ESOP values to employees based on their levels and vesting period in the organization makes it easy to transfer and realize vested ESOPS.
* **Tax Benefit** - Tax declarations vary employee to employee and linking declarations in HRIS with Tax Benefit platforms for employees becomes important to directly manage such investments and map it directly with HRIS for automated deductions and salary payout accordingly.
# Features
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/features
This page highlights the key features of Tartan's HRMS SYNC, designed to help you understand its capabilities and how it can support your requirements. Whether you're building SDK integrations or using Tartan console, these features provide a clear view of the main offerings of the product.
### Custom Data Models
This feature enables you to tailor data requests for each corporate while sending an invite. You can select specific data points relevant to that corporate, ensuring you only request what’s necessary. On the Data Models page, you can mark certain fields as mandatory—these must be shared by the corporate. For all other optional data points, the corporate has the flexibility to choose whether or not to share them. This approach streamlines data collection, respects corporate preferences, and enhances collaboration efficiency.
### Sync Frequency
Clients can tailor data synchronisation based on their preferences. HyperSync offers configurable options ranging from scheduled syncs like once, twice, or thrice a week to real-time updates as soon as changes occur in the source HRMS. This flexibility ensures applications like "Banking OS" or "Wealth OS" \[Conversation History] receive data with the required freshness for timely processing and decisions.
### Partial Data Sync
This feature ensures privacy by design by allowing granular control over shared data. HR administrators can effortlessly toggle specific objects and fields to synchronise only necessary information. Furthermore, access can be limited to specific employee subsets based on criteria, such as department for particular use cases. This aligns with data minimisation principles for compliance.
### On-Demand Access
This feature facilitates controlled sharing of employee data between vendors and clients. Initially, only limited, mandatory data points are shared for all employees, potentially via webhooks. Complete, detailed data is only accessible for employees who have explicitly provided their consent, typically via a dedicated API. The system involves the vendor inviting the client's HR, who then manages the connection and is informed about these tiered data sharing rules.
### User Management
While not a data feature, the sources indicate administrative capabilities for managing the integration. HR admins or IT admins are responsible for initiating the connection and authorising Tartan to access their HRMS This implies a platform interface for these users to manage integration settings, configure data sharing permissions, and potentially manage team access, facilitating collaborative platform management.
### Post-Processing Data
Post-Processing Data HyperSync performs post-processing on the data fetched from various HRMS platforms. This involves transformations necessary to normalise the information into Tartan's unified data model. Vendor-configurable rules are applied during this stage for data accuracy, including replacements, character removal, or merging fields. The goal is to provide consistently formatted, ready-to-use data to the client application, minimising manual effort.
### Webhook Reconciliation
The feature aims to implement a more robust system for handling webhook delivery failures. This new solution introduces an automated End-of-Day (EOD) reconciliation process that retries failed webhooks daily for a configurable duration. Additionally, a Manual API allows clients to request missed webhook events based on criteria like status, timestamp, or request ID, ensuring they can recover data and maintain consistency even if initial deliveries fail or they experience downtime. The goal is a more reliable and resilient webhook delivery system.
### State Management
It is introduced to address a key problem: HR admins losing their progress when they drop off from multi-step SDK journeys. This can happen due to navigating away, closing the SDK or browser, or network issues, forcing them to restart the entire process. The core objective is to implement state persistence, so users can resume exactly where they left off. This involves saving the user's current step or state, primarily using client-side storage and ensuring it persists across sessions and browser closures.
### Request new HRMS
This was introduced to allow users to request integrations with specific HRMS providers that are not currently supported. This helps the company better understand which HRMS platforms matter most and prioritise integration development based on real client demand. The process involves the user clicking a link ("Can’t find your HRMS? Tell us!") which opens a form requiring the HRMS Name (mandatory), and optionally a website URL, API documentation upload, with some additional information to submit the query.
# Group Health Insurance
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/group-health-insurance
### GHI OS
It is a specialised application within the HyperApps suite designed specifically for the insurance sector. It leverages Unified APIs to connect to diverse data sources and AI Agents to enable intelligent automation of complex workflows unique to insurance. These apps empower businesses to connect, innovate, and automate with ease within their insurance operations.
### Why does GHI OS Exist?
Insurance Apps exist to address significant operational challenges within group health insurance. These include the manual and error-prone syncing of employee data for group policies, the tedious nature of corporate profiling which limits broker visibility, and the operational challenges in enrolment and endorsements due to lack of automation.
Furthermore, claims adjudication is often slow and less accurate due to heavy documentation and manual processing. Building custom integrations to solve these issues is typically expensive and slow, hindering core product development. Insurance Apps solve this by providing pre-built integration capabilities and agentic automation, allowing insurers to overcome these bottlenecks.
### How does GHI OS help Insurers?
* **Driving Efficiency and Innovation**: Streamlining complex insurance workflows and enabling smarter solutions through automation.
* **Improving Operational Speed**: Addressing manual processes in employee data syncing, corporate profiling, and enrolment/endorsements through automation with 80+ HRMS integrations.
* **Enhancing Customer and Broker Experience**: Providing tools that can simplify client onboarding and manage policies efficiently. Addressing issues like employees being unaware of policy details via tools like an AI agent for queries.
* **Enabling New Capabilities**: Facilitating use cases like personalised benefits administration and cross-sell integrations.
# Integration Types
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/integration-types
Tartan offers multiple integration methods to help you establish seamless connections with your corporates.
# Available Integration Types
* HRMS Integration
* Upload CSV Integration
* Via SFTP Integration
* Push API Integration
* Custom Integration
## HRMS Integration
Tartan offers seamless HRMS integration with over 80+ HRMS platforms, ensuring that no matter which system your client organization uses, you'll receive data in a consistent and unified format.
Tartan offers two types of HRMS integrations: Automated and Assisted.
### Automated HRMS Integration
With Automated Integration, users can quickly connect by providing API credentials such as an API key or token. Once authenticated, Tartan will initiate an initial data sync for all or selected employees. Afterward, data will sync automatically at a frequency of your choice (defaulting to every Monday at a set time). If you require more frequent updates, you can easily adjust the sync frequency directly from our console.
### Assisted HRMS Integration
Assisted Integrations are a unique offering from Tartan, where we enable connectivity with your client organisation's HRMS within just 1 week, once we receive the necessary API documentation from you.
Refer below table below to understand the main differences between the Automated and Assisted integrations.
| | Automated Integration | Assisted Integration |
| ----------------- | --------------------- | -------------------- |
| Coverage | 30+ | 50+ |
| Default Data Sync | Weekly | Monthly |
| On demand Sync | Yes | Yes |
| Setup period | 0 Days | 7 Days |
Steps to build an HRMS Integration:
Your client admin receives an email to login to the Tartan console (whitelabeled).
Your client admin selects their HRMS from the list of supported HRMS platforms.
Your client admin enters the API credentials of their HRMS. If they don't have them, they can refer to the documentation attached on the same screen.
Your client admin selects the specific data points they wish to share with you across various data models, such as employee details, dependent information, salary data, bank details.
Finally, the client admin clicks 'Submit,' triggering the initial data sync.
## Upload CSV Integration
If your client organization doesn't use an HRMS and instead manages data in CSV files, Tartan offers an easy CSV upload integration. The client admin can upload their CSV, map the column headers, and rectify any errors before sharing (e.g., phone numbers should be 10 digits). The admin won't be able to share the data until all errors are resolved, ensuring that you receive the correct data, eliminating multiple rounds of back-and-forth.
Steps to build a CSV based Integration:
Your client admin receives an email to login to the Tartan console (whitelabeled).
Your client admin selects Upload CSV option from the list of supported integration methods.
The client admin associates the CSV column headers with Tartan's corresponding keys.
The client admin reviews the final data and resolves the validation errors, if any.
Once the client admin reviews the data, client admin submits the initial data dump. For future updates, the client admin can either upload a full load file or only updated records file.
## Via SFTP Integration
Tartan supports secure data transfer through SFTP (Secure File Transfer Protocol). If your client organization does not use HRMS and prefers to have their data fetched directly from an SFTP server, Tartan can seamlessly handle the transfer. This integration ensures secure, encrypted data retrieval from the client's SFTP server, facilitating a reliable and efficient way to manage sensitive information during the transfer process.
Steps to build a SFTP based Integration:
Your client admin receives an email to login to the Tartan console (whitelabeled).
Your client admin selects SFTP flow option from the list of supported integration methods.
The client admin can select either the Host URL or IP address method to establish an SFTP connection, providing the necessary details such as file directory, username, password, or private key and data refresh rate for secure authentication.
The client admin maps the column headers from the file fetched from their SFTP server to Tartan's corresponding data keys.
The client admin reviews the final data and resolves the validation errors, if any.
Once the client admin reviews the data, they submits the initial data dump.
File Not Found or Timeout Errors:
* The system will attempt to fetch the file three times as per the refresh schedule.
* If the file is not received after three attempts, the connection status will be marked as `Failed`.
Retry Schedule (For a refresh schedule of 1 day):
* Attempt 1: On the scheduled day.
* Attempt 2: On the next day.
* Attempt 3: On the following day.
If the file is received during any attempt, the retry counter resets.
## Push API Integration
Tartan supports pushing the data on an API. [Push API](/api-reference/webhooks/webhook-push) method allows corporates to actively send (or "push") employee records to Tartan in real time, one record at a time.
**How It Works**
Tartan provides a dedicated API endpoint where corporates can push employee data.
The Push API supports two authentication mechanisms:
* Token-Based Authentication
* Basic Authentication (Username & Password)
* Initially, Tartan shares a set of UAT credentials (username and password) with the client via a secure webhook.
* The client's corporate uses these credentials to push sample employee data to the UAT environment for validation and testing purposes.
* Once the UAT data is reviewed and approved by Client, the test data is purged from the system to ensure a clean transition to production.
* Tartan then generates a new set of production credentials.
* These credentials are shared securely with the client, allowing them to push live employee data to establish a production-grade connection.
## Custom Integration
Tartan also supports custom integrations tailored for your corporates.
In many cases, your corporates may be large enterprises that either use internally built HRMS systems or prefer not to expose their core HRMS data directly due to security or compliance concerns. Instead, they create wrapper APIs over their internal systems to control and manage data access.
For such scenarios, Tartan offers flexibility by consuming and integrating with these custom wrapper APIs—rather than relying on standard methods like CSV uploads or SFTP transfers. Our team works closely with your technical stakeholders to understand your API specifications and establish a secure, reliable connection.
Best of all, we can typically build and deploy these custom integrations in under a week, ensuring minimal disruption and a fast go-live experience.
# SDK
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/sdk
Welcome to the SDK section of our product documentation!
If you're looking for a simple, plug-and-play way to create and onboard corporates directly from your own platform across 80+ HRMS systems, you’re in the right place.
### What is an SDK?
SDK stands for Software Development Kit. Think of it as a ready-made toolkit that developers can use to add specific features to their app or website—without having to build everything from scratch.
Our SDK lets you embed the complete HRMS Sync journey for corporate onboarding into your own platform. This means your corporate users can seamlessly complete the entire process without ever leaving your dashboard.
### Why use Tartan SDK?
🚀 Fast to integrate – Just a few lines of code and you're up and running.
🎯 On-brand experience – Keep users on your platform with a seamless, embedded flow.
🔒 Secure & reliable – Built with enterprise-grade security.
If you’re a developer or product owner looking to offer a smooth, white-labeled verification experience, this SDK is for you.
Let’s dive into how you can get started. 👇
### How does it work?
* You generate a token using the [generate token](/api-reference/sdk/get-sdk-token) API.
* Utilize the access token to launch the SDK via the Initiate Function.
* Monitor SDK Events to track and evaluate the user journey on Tartan Sync SDK.
### Embedding Tartan SDK
To add the SDK on the frontend, add the following script tag in your index.html file, preferably inside the head tag:
```js theme={"dark"}
```
### Initiating Tartan SDK
The script tag exposes a window object called hrmsSyncSdk in the website. hrmsSyncSdk consists of 2 functions : startJourney() & closeJourney().
```js theme={"dark"}
2 Open Modal
3
4
```
### SDK Events
SDK events are notifications or signals sent by the SDK to let your system know when something important has happened—like when a user starts or completes a task.
Think of them as real-time updates from the SDK that you can use to track user actions or trigger next steps in your app.
The Tartan Sync SDK emits events to track a user’s progress throughout the journey. You can capture these events using the **onEvent** option, which is passed as the second argument (options) in the **startJourney()** function.
The **onEvent** option takes a function with two parameters: **eventName** and **eventData**. These provide detailed information about each event, allowing you to implement custom business logic based on the event type and its associated data.
| **Event Name** | **Event Data** | **Description** |
| -------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `dataTransferMode.select` | `{ flowType : "HRMS" }` | Triggered when the user selects the desired mode for data transfer. |
| `hrms.select` | `{ hrmsName: "ZingHR" }` | Occurs when the user chooses an HRMS from the available options. |
| `hrmsConnectionParams.submit` | `{ hrmsName: "ZingHR" }` | Activated when the user submits connection parameters for the selected HRMS. |
| `dataSelection.submit` | `{ hrmsName: "ZingHR" }` | Initiated when the user submits the selection of data to be shared with the vendor. |
| `authType.select` | `{ authType: "Basic" }` | Occurs when the user selects the authentication type required for Push API integration. |
| `pushApiDocs.get` | `{ authType: "Basic" }` | Activated when the user clicks the “Get Documentation” CTA for Push API integration. |
| `sdkEvents.connectionConfigurationCompleted` | `{ hrmsName: "ZingHR", connectionStatus: "success" }` | Triggered when the user successfully completes the connection configuration process. |
| `sdkWindow.close` | `–` | Triggered when the user clicks the Close button on the SDK window. |
# Wealth Management
Source: https://docs.hypersync.tartanhq.com/docs/hrmssync/wealth-management
### Wealth OS
It's essentially an automated solution designed for corporate wealth management, specifically focusing on facilitating the Corporate NPS process. It leverages Tartan's Unified HRMS and Payroll APIs to connect to over 50 HRMS platforms and uses Agentic Apps for integration and automation.
### Why does Benefits OS exist?
Wealth OS exists to address the inefficiencies and manual burdens in onboarding corporates and employees for wealth management products like NPS. The traditional process often involves significant manual data collection from HRs by Bank's Relationship Managers, HR dependency for account opening, and a broken, offline journey for employees involving manual KYC. The platform aims to replace manual tasks with automated processes through an HRMS and Payroll integrated journey, streamlining corporate onboarding and employee activation.
### How does Wealth OS help Wealth Management companies?
The platform significantly helps such companies by driving higher efficiency and productivity. It expedites client onboarding process and service fulfilment on their platform. Key benefits include -
* Seamless corporate onboarding, data-driven HR collaboration for real-time data sync and empowered employee financial planning through a simplified digital journey.
* It enables scaled technology solutions, promotes the adoption of wealth management products among employees through corporate channels, and allows crafting of tailored solutions.
* Companies gain real-time dashboards for tracking corporate and employee activities.
### Key modules and capabilities
* **Corporate Profiling & Onboarding**: Automating checks via a self-serviced KYB journey and automating checks on companies using public sources \[similar to Banking OS source, relevant]. Facilitates corporate onboarding and CHO code generation.
* **HRMS Integration & Data Sync**: Providing Unified API access to 80+ HRMS to securely access employee details like salary, grade, dependents, tenure, marital status, and investments with consent. Ensures continuous data sync.
* **Employee Activation & Account Creation**: Managing the employee sign-up journey covering account creation, employee KYC, Nominee Selection, and PRAN Generation/Linking. Includes automated PRAN linking/de-linking.
* **NPS Contribution Management**: Facilitating the setting of NPS contribution percentages based on employer limits... and handling real-time NPS contribution reconciliation.
* **Real-time Dashboards**: Providing dedicated dashboards for Employees to track savings and investments and Employers to track contributions and processing status.