About iMochaHelpBook a demo
About iMochaHelpBook a demo
  1. Employee
  • Introduction
  • Skills Assessment API
    • API Reference
      • Getting started
      • API Environment
      • Authentication Mechanism
      • Error Code
      • List timezones
    • Test
      • List all tests
      • Retrieve a test
      • Retrieve test settings
      • Update Test Settings
    • Test Invitations
      • Callback notification
      • Invite candidate
      • Invite candidate by test link
      • Reattempt Test
      • Cancel Invitation
    • Test Link
      • List all test links
    • Report
      • Retrieve candidate test report
      • Retrieve candidate test report in PDF
    • Callback API
      • Process Callbacks
      • Retrieve Invites
    • GDPR
      • GDPR Data Masking Service
    • Users
      • Get all business units
      • Create New User
      • Update User
      • Active/ Inactive User
  • Skills Intelligence API
    • Introduction
    • Authentication
    • Employee
      • List employees
        GET
      • Get Employee Skills by employeeId
        GET
      • Employee Enrollment
        POST
      • Update Employee Status
        PATCH
    • JobProfiles
      • Get All JobProfiles
      • Get JobProfile with Skills By JobProfileId
      • Create JobCode
    • Taxonomy
      • Get all Taxonomy Skills
    • CareerPath
      • Get Employee Career Path by employeeId
    • Account
      • Get Multichannel Validation Weightages
  1. Employee

Employee Enrollment

POST
/employees/upsert
This API creates a new employee record or updates an existing one based on the provided identifier (externalEmployeeId and email).
If the employee already exists, their information is updated. If not, a new record is created.
Note on status Field Behavior-
Employees will be activated or deactivated based on the value of the status field provided in the API request:
• If status = "active" → the employee will be activated
• If status = "inactive" → the employee will be deactivated
• If status is empty or null, the API will not perform any activation or deactivation action — the employee's current status will remain unchanged
Important:
To explicitly update an employee’s activation status, you must pass a valid status value ("active" or "inactive"). If omitted, the API treats the status as unchanged.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200OK
text/plain
OK
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.skillsintelligence.imocha.io/employees/upsert' \
--header 'x-api-key;' \
--header 'Content-Type: application/json' \
--data-raw '[
  {
    "email": "string",
    "firstName": "string",
    "lastName": "string",
    "jobCode": "string",
    "status": "string",
    "employeeHRMSInfo": {
      "externalEmployeeId": "string",
      "department": "string",
      "location": "string",
      "managerEmail": "string",
      "hireDate": "2025-07-31T05:53:20.004Z",
      "exitDate": "2025-07-31T05:53:20.004Z",
      "employmentType": "string",
      "grade": "string",
      "band": "string",
      "customFieldWithValue": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  }
]'
Response Response Example
{
    "failed": [
        {
            "email": "string",
            "employeeId": 0,
            "errors": "string"
        }
    ],
    "successful": [
        {
            "email": "string",
            "employeeId": 0,
            "errors": "string"
        }
    ]
}
Modified at 2025-07-31 05:58:22
Previous
Get Employee Skills by employeeId
Next
Update Employee Status
Built with