Description: Extended scope_of_work input field to be passed as an object containing scope_template_id and scope_validation_id. New fields were added to response: costs, employment, compensation_details, client, employee, health_plan, job_title, seniority,created_at
EOR: Job Scope Templates, Job Scope Validation, EOR Additional Costs, Get and Update Organization structure
New: List of job scope templates for EOR contracts
Description: Endpoint used to fetch all pre-populated job scopes from the Deel collection. Using those job scopes will automatically approve the job scope without the need for AI or human interaction.
Description: The endpoint is in charge of validating that a job scope is valid given a job title and employee name. After the job scope passes validation, the contract should be able to be processed and return the employment costs results automatically. If job scope validation passes, it goes to manual approval. If the client uses a provided job scope template using the Fetch job scope templates endpoint, there is no need to run job scope validation.
Description: Used to gather information from the created contract together with the employment costs of the employee. This employment costs is used to display to the end-customer in order to get an accurate calculation of the amount to be paid per month;
Endpoint:GET /v2/eor/additional-costs/{country}
Parameters:
country: The two-letter ISO code of the country for which to retrieve the EOR additional costs (required)
Updated APIs: List contracts, Retrieve contract and EOR Benefits by country
Updated: List of contracts and Retrieve a single contract APIs
Introduced new query parameter expand as optional
A new field has been introduced to both of these APIs to include cost centers associated with a contract in the response.
Endpoints:GET /rest/v2/contracts and GET /rest/v2/contracts/{contract_id}
Introduced new response field is_discriminatory and updated existing is_mandatory field
A new is_discriminatory field has been introduced to response payload, which specifies if a benefit is discriminatory. Existing is_mandatory field no longer considers benefit discriminatory data.
is_discriminatory: Represents if benefit is discriminatory
Details
When invite_employee_to_app is set to true, and if the employee app is enabled for the account, the invited employee will receive an email invitation to join the platform.
This feature streamlines the onboarding process by ensuring employees are proactively included in the Deel ecosystem.
A new endpoint has been implemented to create an Employee of Record (EOR) worker with minimal required data. This EOR worker is automatically linked to the provided contract.
Use Case: Implement this endpoint to create an EOR worker and prepare them for the onboarding process in Deel. This is typically used when you already have a contract created and the worker's email address.
A new endpoint has been implemented to retrieve the list of additional fields required when onboarding an Employee of Record (EOR) worker. This endpoint returns country-specific fields that must be completed during the worker profile creation process.
Use Case: Implement this endpoint to dynamically generate forms for collecting required worker information during the EOR onboarding process.
Note: The previously used endpoint /forms/eor/worker-sign-fields/ has been deprecated and should no longer be used in the creation flow.
A new endpoint has been implemented to retrieve available benefits for Employee of Record contracts. This endpoint returns both mandatory and optional benefits with their associated plans and providers, filtered by several parameters including country code, work visa status, working hours, employment type, team, and entity identification.
Use Case: Implement this endpoint to display appropriate benefit options during EOR contract creation.
Endpoint:GET /v2/eor/benefits
Query Parameters:
country_code - ISO country code
work_visa - Boolean indicating visa status
work_hours_per_week - Numeric value of weekly work hours
employment_type - Type of employment (e.g., "Full-time")
We’re introducing idempotency keys to make the Deel API safer and more reliable — especially for sensitive operations like contract creation and payments.
Why it matters
Third-party systems often retry failed requests. Without idempotency, this can lead to duplicate operations. Idempotency keys solve this by ensuring the same request won’t be processed twice.
How it works
Send an idempotency-key header with your API request.
If the same key is used within 24 hours, the API returns the original response.
No duplicate processing, no unintended side effects.
Dynamically generate the correct contract form for any country without hardcoding the logic in your frontend. EOR contract requirements vary by country—fields, defaults, legal constraints—so this endpoint ensures your app always reflects the latest, compliant structure for that country. It decouples logic from your codebase and lets Deel handle country-specific rules centrally.