v2.1.119
🚀 Enhancement: External HR Time Off Synchronization
API Reference: POST /rest/v2/time_offs/global-payroll/sync
Request body changes
- Added
Work accident leave
value topolicy_type
enum
🚀 Enhancement: Retrieve onboarding right-to-work case for a worker
API Reference: GET /rest/v2/immigration/workers/{worker_id}/onboarding-case
Response field changes
- Added
rejection_reason
andrejection_note
toprocess
object - Renamed
case_created_at
tocreated_at
- Renamed
last_updated_at
toupdated_at
{
"data": {
...
"process": {
...
"rejection_reason": "Poor image quality", // available when process has been rejected
"rejection_note": "This is the reason why the case was rejected.", // available when process has been rejected
"created_at": "2025-07-21T18:04:55.771Z",
"updated_at": "2025-07-21T18:04:55.771Z"
}
}
}
🚀 Enhancements and Endpoint renamed: Retrieve a required document for a case
API Reference: GET /rest/v2/immigration/workers/{worker_id}/cases/{case_id}/required-document
Deprecated API Reference: GET /rest/v2/immigration/workers/{worker_id}/required-documents
Response field changes
- Added
immigration_document_requirement_id
- Renamed
previous_document_request
toprevious_rejected_document
- Renamed
expiry_date
toexpiration_date
- Added
created_at
andupdated_at
{
"data": {
"id": "f1a44946-6418-4295-b231-f4ae240e7663",
"immigration_document_requirement_id": "ed1f24a0-3d59-4668-9c93-417b677e3e84", // static id
"name": "Proof of employment",
"description": "A government-issued document that proves your right to work in India. \n",
"document": {
"status": "PENDING",
},
"previous_rejected_document": {
"id": "4ec1006d-df21-469a-b6fc-55eba5840940",
"status": "REJECTED",
"rejection_reason": "Incomplete information",
"rejection_note": "The submitted document is missing some necessary details."
},
"created_at": "2025-07-21T18:04:55.771Z",
"updated_at": "2025-07-21T18:04:55.771Z"
}
}
🚀 Enhancements and Endpoint renamed: Upload a required immigration document
API Reference: POST /rest/v2/immigration/workers/{worker_id}/cases/{case_id}/required-document/{document_request_id}
Deprecated API Reference: POST /rest/v2/immigration/workers/documents
Response field changes
- Removed
rejection_reason
andnote
- Added
created_at
andupdated_at
{
"data": {
"id": "c19c6d4a-6119-4283-b33d-bf429a344399",
"status": "IN_REVIEW",
"created_at": "2025-07-21T18:06:34.315Z",
"updated_at": "2025-07-21T18:06:34.315Z"
}
}
🚀 Enhancement: Update EOR Contract
API Reference: PATCH /rest/v2/eor/contract/{contract_id}
Request body changes
-
The scope field now accepts either a plain string (as previously supported) or an object containing one of the following optional identifiers:
- scope_template_id: UUID referencing a predefined scope template.
- scope_validation_id: UUID referencing a validated scope of work.
// Option 1: String "scope": "Scope of work description." // Option 2: Object "scope": { "scope_template_id": "00000000-0000-0000-0000-000000000000" } // Option 3: Object "scope": { "scope_validation_id": "00000000-0000-0000-0000-000000000000" }
-
Added
scope_of_work
which represents the content sent onscope
field in request body.
These changes align the update endpoint with the EOR contract creation endpoint, which has supported this flexible scope of work format. It ensures consistency across contract flows and provides a unified experience for clients integrating with both endpoints.