v.2.1.113
EOR contract documents signature for quote flow
Fetch EOR contract documents
Returns a list of all documents that are available for the given EOR contract, expecting client signature. The response will contain the document types and additional signature details when available.
These documents are intended for the client to review and sign, but not the employee, and are available only for certain countries, such as Framework Agreement for Belgium.
Endpoint: GET /rest/v2/eor/contracts/:contract_id/documents
Token scopes: contracts:read
API Reference: Fetch EOR contract documents
Request Example:
curl --request GET \
--url 'https://api.letsdeel.com/rest/v2/eor/contracts/abc123/documents' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer {{token}}'
Fetch EOR contract document
Returns the document in PDF format for the given EOR contract and document type for download. This file can be shared with the client as a reference.
Endpoint: GET /rest/v2/eor/contracts/:contract_id/documents/:document_type
Token scopes: contracts:read
API Reference: Fetch EOR contract document
Request Example:
curl --request GET \
--url 'https://api.letsdeel.com/rest/v2/eor/contracts/abc123/documents/FRAMEWORK_AGREEMENT' \
--header 'accept: application/pdf' \
--header 'content-type: application/json' \
--header 'authorization: Bearer {{token}}'
Sign EOR contract document
Signs a document with the provided signature and title. Can be used after the client has reviewed the document and is ready to sign. A document can only be signed once - otherwise the signature will be rejected and the endpoint will return an error.
After signature, the responses for both this endpoint and for fetching all documents will contain the signature details.
Endpoint: POST /rest/v2/eor/contracts/:contract_id/documents/:document_type/sign
Token scopes: contracts:write
API Reference: Sign EOR contract document
Request Example:
curl --request POST \
--url 'https://api.letsdeel.com/rest/v2/eor/contracts/abc123/documents/FRAMEWORK_AGREEMENT/sign' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'authorization: Bearer {{token}}' \
--data '{
"data": {
"signature": "John Doe",
"client_job_title": "Software Engineer"
}
}'
Improvements:
GET /v2/immigration/workers/:worker_id/onboarding-case
Change: The documents.status enum values have been updated.
Before:
{
"status": "IN_REVIEW" // or "APPROVED" or "REJECTED"
}
After:
{
"status": "EXPIRED" // or "EXPIRING" or "ACTIVE" or "IN_REVIEW"
}
GET /v2/immigration/workers/:worker_id/required-documents
Change: Complete restructure of the response document object.
Before:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"description": "Passport document required for verification",
"documents": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "IN_REVIEW",
"rejection_reason": "File / photo poor quality",
"note": "Please provide a clear scan"
}
]
}
After:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Passport Requirement",
"description": "Passport document required for verification",
"status": "COMPLETED", // 'PENDING', 'IN_REVIEW', 'REJECTED', 'COMPLETED', 'FAILED', 'PROCESSING'
"document": { // can be null if no document has been uploaded
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Proof of employment document",
"status": "EXPIRING", // "EXPIRED" or "EXPIRING" or "ACTIVE" or "IN_REVIEW"
"expiry_date": "2025-09-31"
},
"previous_document_request": { // only available if the current document request does not have a document and the current uploaded document was rejected
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "REJECTED", // 'REJECTED' only
"rejection_reason": "File / photo poor quality",
"rejection_note": "Please provide a clear scan"
}
}
POST /v2/immigration/workers/documents
Change: Request body requirements have been updated.
Before:
{
"worker_id": "550e8400-e29b-41d4-a716-446655440000", // optional
"case_id": "550e8400-e29b-41d4-a716-446655440000",
"immigration_document_requirement_id": "550e8400-e29b-41d4-a716-446655440000",
"file": "file_data"
}
After:
{
"worker_id": "550e8400-e29b-41d4-a716-446655440000", // now required
"document_request_id": "550e8400-e29b-41d4-a716-446655440000", // now required
"case_id": "550e8400-e29b-41d4-a716-446655440000", // still required
"file": "file_data" // still required
}
Added:
reject_reason
on List of employee compliance documents
rejection_message
on Get onboarding details by onboarding hris profile oid