EOR Contract Amendment API

The EOR contract amendment API lets you update contract terms through a structured approval process that follows predefined compliance rules.

An amendment is a change to one or more contract terms, referred to as data points, such as employment type, job title, scope, or salary. Instead of modifying the original contract document, the amendment is issued as a separate addendum to the employment agreement. The contract entity in the database, including its ID, remains the same. Only specific values, like salary, are updated with a new effective date.

You or Deel can initiate an amendment. The process includes multiple steps and requires approval from both you and the employee. Modification and approval rules vary based on the amended data point and country-specific regulations.

Prerequisites

Before using the amendment API, make sure you have the following:

  • Authentication: All requests require a Bearer token in the Authorization header. See Authentication for details.
  • OAuth scopes: Read operations require contracts:read. Write operations (create, update, confirm, accept, sign, delete) require contracts:write.
  • Contract ID: Most amendment endpoints require a contract_id. Use the List of contracts endpoint to retrieve your contracts.

Amendment flows

You or Deel can initiate amendments. The steps differ depending on who initiates them.

Scenario when you request an amendment

1

Create an amendment

Use the Create amendment endpoint.

2

Update fields (optional)

Use the Update amendment endpoint to modify data points.

3

Confirm the amendment

Use the Confirm amendment endpoint.

  • If the change is applied immediately, the API response includes the updated status.
  • If the change requires approval, Deel reviews it and sends it to the employee for signing. The employee signs using the Sign amendment (employee) endpoint.

Scenario when Deel requests an amendment

1

Deel creates the amendment

Deel initiates the amendment on your behalf.

2

You review and decide

3

Employee signs

If you accepted, the employee reviews and signs using the Sign amendment (employee) endpoint.

When does Deel create amendments?

Deel may create amendments in the following cases:

  • At your request. When you ask for a change that requires Deel involvement.
  • To ensure compliance. When a contract update is needed to meet legal or regulatory requirements.
  • For restricted changes. Some updates are only available through admin amendments due to system limitations or internal policies.

Status updates webhook

Deel emits a single webhook event, eor.amendments.status.updated, whenever an amendment transitions to a new stage of the lifecycle. The payload includes a status field whose value is one of the following.

Status valueWhen it appears
EOR_AMENDMENT_V2_IN_REVIEWYou created and confirmed the amendment. It is awaiting Deel review.
EOR_AMENDMENT_V2_CLIENT_SIGNDeel created the amendment on your behalf. The client must review and sign before it can proceed.
EOR_AMENDMENT_V2_EMPLOYEE_SIGNThe client signed (or the amendment was instant for the client). The amendment is now awaiting the employee’s signature.
EOR_AMENDMENT_V2_CLIENT_ACTIVEThe amendment is active. All required approvals are complete and the change has taken effect.
EOR_AMENDMENT_V2_CLIENT_REJECTEDA Deel admin rejected the amendment.
EOR_AMENDMENT_V2_CLIENT_VOIDThe amendment was voided. The void deadline passed for an in-progress amendment, so it can no longer become active.

Amendment types

Each amendment has a type that determines how it is processed. The response returns the type when you create or update an amendment. It is based on the amendment settings and the data points being amended.

An amendment can have one of the following types:

  • INSTANT: Activated immediately after you confirm it. No Deel review or employee signature is required.
  • AUTOMATED: Activated once the employee signs it. Deel review is not required.
  • LEGAL or OPS: Requires Deel review because at least one data point is set to require internal review. The difference between LEGAL and OPS is internal only and relates to how Deel conducts the review. For example, the review may involve document preparation. After Deel completes the review, the amendment is sent to the employee for review and signature. The amendment is activated once the employee signs it.
  • DISABLED: Contains at least one data point that is restricted from being changed by the amendment settings.
  • CUSTOM: Manually created by a Deel admin.
If at least one data point requires Deel review (LEGAL or OPS), the amendment type is set to match. Data points that would otherwise be INSTANT or AUTOMATED follow the same review and activation flow as LEGAL or OPS amendments.

Examples

Example 1: Germany (instant amendment)

In this Germany example, both holidays (holiday increase) and timeOffType changes are instant. They are activated once the amendment becomes active.

The amendment type is INSTANT. In items, each data point also has INSTANT as its type:

1{
2 "type": "INSTANT",
3 "items": [
4 {
5 "data_point": "holidays",
6 "id": "59d9a2d5-9ea0-4f7f-8ac0-1db66e62d9fa",
7 "item": "holidaysIncrease",
8 "type": "INSTANT",
9 "previous_value": "6",
10 "new_value": "12"
11 },
12 {
13 "data_point": "timeOffType",
14 "id": "78743852-4dea-4b7c-bbac-44828a7d9b97",
15 "item": "timeOffType",
16 "type": "INSTANT",
17 "previous_value": "STANDARD",
18 "new_value": "SPECIFIC"
19 }
20 ]
21}

For Greece, the same data points require Deel review because one of the items has the LEGAL type:

1{
2 "type": "LEGAL",
3 "items": [
4 {
5 "data_point": "holidays",
6 "id": "f783003f-777f-425a-9a14-faf6457b7585",
7 "item": "holidaysIncrease",
8 "type": "INSTANT",
9 "previous_value": "6",
10 "new_value": "10"
11 },
12 {
13 "data_point": "timeOffType",
14 "id": "d9dffd0a-6443-4992-9aa7-d859bd9d4d4d",
15 "item": "timeOffType",
16 "type": "LEGAL",
17 "previous_value": "STANDARD",
18 "new_value": "SPECIFIC"
19 }
20 ]
21}