> This page is for API, version 2026-01-01 (Stable) (default).
> For other versions, use one of these documentation indexes:
> - 2026-01-01 (Stable) (default): https://developer.deel.com/api/stable/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.deel.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.deel.com/_mcp/server.

# Amendment Tutorial: End-to-End Walkthrough

> Step-by-step guide to creating, updating, confirming, and signing an EOR contract amendment

This guide walks you through the full lifecycle of an EOR contract amendment, from retrieving validation settings to signing.

### Retrieve amendment settings

```shell
curl --location --request GET '{{host}}/rest/eor/contracts/{{contract_id}}/amendments/validation/settings' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}' \
}'
```

Response:

```json
{
    "data": [
        {
            "data_point": "CONTRACT_TERM",
            "rules": [
                {
                    "nullable": false,
                    "is_editable": true,
                    "possible_options": [
                        "DEFINITE",
                        "INDEFINITE"
                    ]
                }
            ]
        },
        {
            "data_point": "CUSTOM",
            "rules": [
                {
                    "nullable": false,
                    "is_editable": true,
                    "possible_options": [
                        "START_DATE",
                        "END_DATE",
                        "BENEFITS",
                        "PROBATION_PERIOD",
                        "VARIABLE_COMPENSATIONS",
                        "INCENTIVE_PLAN",
                        "SALARY",
                        "FIXED_ALLOWANCES",
                        "JOB_TITLE",
                        "SENIORITY_ID",
                        "SENIORITY_DATE",
                        "JOB_CODE",
                        "JOB_CATEGORY",
                        "JOB_SCOPE",
                        "EMPLOYMENT_TYPE",
                        "PERSONAL_DATA",
                        "OTHER"
                    ]
                }
            ]
        },
        {
            "data_point": "EMPLOYMENT_TYPE",
            "rules": [
                {
                    "nullable": false,
                    "is_editable": true,
                    "possible_options": [
                        "FULL_TIME"
                    ]
                }
            ]
        }
    ]
}
```

### Create amendment

```shell
curl --location POST '{{host}}/rest/eor/contracts/{{contract_id}}/amendments/' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}' \
--data '{
    "data": {
    }
}'
```

Response:

```json
{
    "data": {
        "id": "993f6533-e941-47a3-962d-f871359076ff",
        "effective_date": null,
        "salary": "96000.0000",
        "employment_type": "FULL_TIME",
        "seniority_id": 1,
        "job_title": "Chief Quality Liaison",
        "time_off_type": "STANDARD",
        "probation_period_type_for_definite": null,
        "document_type": "SOW_EA",
        "holidays": 25,
        "probation_period": 180,
        "scope": "Chief Quality Liaison",
        "employee_nationality": "PH",
        "employment_state": null,
        "start_date": "2025-08-05T20:15:05.872Z",
        "end_date": null,
        "work_hours_per_week": "40.00",
        "sick_leave_days": null,
        "type": "OPS",
        "created_at": "2025-08-29T10:31:54.514Z",
        "updated_at": "2025-08-29T10:31:54.539Z",
        "requested_by": 2856213,
        "is_hrx_action_needed": false,
        "legal_context": null,
        "rejection_context": null,
        "void_deadline": null,
        "void_deadline_type": null,
        "notice_period_type": null,
        "notice_period_after_probation": "5",
        "notice_period_during_probation": "1",
        "notice_period_time_unit": "WEEK",
        "currency": "USD",
        "is_effective_date_updated": false,
        "description": null,
        "work_schedule_id": null,
        "work_schedule_rules_version": null,
        "source": "PUBLIC_API",
        "job_category": null,
        "job_code": null,
        "seniority_date": null,
        "custom_items": [],
        "amendment_statuses": [
            {
                "name": "DRAFT",
                "friendly_name": "DRAFT",
                "amendment_flow_status": {
                    "created_at": "2025-08-29T10:31:54.552Z"
                }
            }
        ],
        "items": []
    }
}
```

### Update the amendment (optional)

Use the `id` from the response to update data points if needed.

```shell
curl --location PATCH '{{host}}/rest/eor/contracts/{{contract_id}}/amendments/993f6533-e941-47a3-962d-f871359076ff' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}' \
--data '{
    "data": {
        "probation_period": 20
    }
}'
```

Response:

```json
{
    "data": {
        "id": "993f6533-e941-47a3-962d-f871359076ff",
        "effective_date": null,
        "salary": "96000.0000",
        "employment_type": "FULL_TIME",
        "seniority_id": 1,
        "job_title": "Chief Quality Liaison",
        "time_off_type": "STANDARD",
        "probation_period_type_for_definite": null,
        "document_type": "SOW_EA",
        "holidays": 25,
        "probation_period": 20,
        "scope": "Chief Quality Liaison",
        "employee_nationality": "PH",
        "employment_state": null,
        "start_date": "2025-08-05T20:15:05.872Z",
        "end_date": null,
        "work_hours_per_week": "40.00",
        "sick_leave_days": null,
        "type": "AUTOMATED",
        "created_at": "2025-08-29T10:31:54.514Z",
        "updated_at": "2025-08-29T10:41:10.880Z",
        "requested_by": 2856213,
        "is_hrx_action_needed": false,
        "legal_context": null,
        "rejection_context": null,
        "void_deadline": null,
        "void_deadline_type": null,
        "notice_period_type": null,
        "notice_period_after_probation": "5",
        "notice_period_during_probation": "1",
        "notice_period_time_unit": "WEEK",
        "currency": "USD",
        "is_effective_date_updated": false,
        "description": null,
        "work_schedule_id": null,
        "work_schedule_rules_version": null,
        "source": "PUBLIC_API",
        "job_category": null,
        "job_code": null,
        "seniority_date": null,
        "custom_items": [],
        "amendment_statuses": [
            {
                "name": "DRAFT",
                "friendly_name": "DRAFT",
                "amendment_flow_status": {
                    "created_at": "2025-08-29T10:31:54.552Z"
                }
            }
        ],
        "items": [
            {
                "data_point": "PROBATION_PERIOD",
                "id": "a643c866-66dc-4809-bc42-0d8b418bdc2b",
                "item": "PROBATION_PERIOD_DECREASE",
                "type": "AUTOMATED",
                "previous_value": "180",
                "new_value": "20"
            }
        ]
    }
}
```

### Fetch effective date limits (optional)

Use the amendment `id` to retrieve the valid effective date range. If your UI includes a date picker, use the returned limits and flags to configure it.

```shell
curl --location GET '{{host}}/rest/eor/contracts/{{contract_id}}/amendments/993f6533-e941-47a3-962d-f871359076ff/effective-date-limitations' \
--header 'Authorization: Bearer {{token}}'
```

Response:

```json
{
  "data": {
    "is_hidden": false,
    "is_disabled": false,
    "min_effective_date": "2025-07-01",
    "max_effective_date": "2025-12-31",
    "default_effective_date": "2025-08-29T00:00:00.000+00:00",
    "message": "The effective date should align with the payroll cycle."
  }
}
```

### Set the effective date (optional)

Call the [update amendment](/api/reference/endpoints/eor-amendments/update-contract-amendment) endpoint with the chosen effective date.

```shell
curl --location PATCH '{{host}}/rest/eor/contracts/{{contract_id}}/amendments/993f6533-e941-47a3-962d-f871359076ff' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}' \
--data '{
    "data": {
        "effective_date": "2025-09-30",
        "probation_period": 20
    }
}'
```

Response:

```json
{
    "data": {
        "id": "993f6533-e941-47a3-962d-f871359076ff",
        "effective_date": "2025-09-30T00:00:00.000Z",
        "salary": "96000.0000",
        "employment_type": "FULL_TIME",
        "seniority_id": 1,
        "job_title": "Chief Quality Liaison",
        "time_off_type": "STANDARD",
        "probation_period_type_for_definite": null,
        "document_type": "SOW_EA",
        "holidays": 25,
        "probation_period": 20,
        "scope": "Chief Quality Liaison",
        "employee_nationality": "PH",
        "employment_state": null,
        "start_date": "2025-08-05T20:15:05.872Z",
        "end_date": null,
        "work_hours_per_week": "40.00",
        "sick_leave_days": null,
        "type": "AUTOMATED",
        "created_at": "2025-08-29T10:31:54.514Z",
        "updated_at": "2025-08-29T10:41:10.880Z",
        "requested_by": 2856213,
        "is_hrx_action_needed": false,
        "legal_context": null,
        "rejection_context": null,
        "void_deadline": null,
        "void_deadline_type": null,
        "notice_period_type": null,
        "notice_period_after_probation": "5",
        "notice_period_during_probation": "1",
        "notice_period_time_unit": "WEEK",
        "currency": "USD",
        "is_effective_date_updated": false,
        "description": null,
        "work_schedule_id": null,
        "work_schedule_rules_version": null,
        "source": "PUBLIC_API",
        "job_category": null,
        "job_code": null,
        "seniority_date": null,
        "custom_items": [],
        "amendment_statuses": [
            {
                "name": "DRAFT",
                "friendly_name": "DRAFT",
                "amendment_flow_status": {
                    "created_at": "2025-08-29T10:31:54.552Z"
                }
            }
        ],
        "items": [
            {
                "data_point": "PROBATION_PERIOD",
                "id": "a643c866-66dc-4809-bc42-0d8b418bdc2b",
                "item": "PROBATION_PERIOD_DECREASE",
                "type": "AUTOMATED",
                "previous_value": "180",
                "new_value": "20"
            }
        ]
    }
}
```

### Confirm the amendment

```shell
curl --location --request POST '{{host}}/rest/eor/contracts/mdyyevp/amendments/993f6533-e941-47a3-962d-f871359076ff/confirm' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}'
```

Response:

```json
{
    "data": {
        "id": "993f6533-e941-47a3-962d-f871359076ff",
        "effective_date": "2025-09-30T00:00:00.000Z",
        "type": "AUTOMATED",
        "amendment_statuses": [
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.EA",
              "friendly_name": "EA",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.EA.PENDING_DOCUMENT_SUBMIT",
              "friendly_name": "AWAITING_REVIEW",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.SOW",
              "friendly_name": "SOW",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.SOW.PENDING_DOCUMENT_SUBMIT",
              "friendly_name": "AWAITING_REVIEW",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.CUSTOM_REVIEW",
              "friendly_name": "CUSTOM_REVIEW",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.CUSTOM_REVIEW.CUSTOM_SKIPPED",
              "friendly_name": "CUSTOM_SKIPPED",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS.AMENDMENT_REQUESTED",
              "friendly_name": "AMENDMENT_REQUESTED",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            },
            {
              "name": "PREPARING_DOCUMENTS",
              "friendly_name": "PREPARING_DOCUMENTS",
              "amendment_flow_status": {
                "created_at": "2025-03-25T11:32:52.963Z"
              }
            }
        ],
        "items": [
            {
                "data_point": "PROBATION_PERIOD",
                "id": "a643c866-66dc-4809-bc42-0d8b418bdc2b",
                "item": "PROBATION_PERIOD_DECREASE",
                "type": "AUTOMATED",
                "previous_value": "180",
                "new_value": "20"
            }
        ]
    }
}
```

### Wait for Deel review

Poll the amendment status endpoint or listen for the `EOR_AMENDMENT_V2_CLIENT_ACTIVE` webhook event.

```shell
curl --location GET '{{host}}/rest/eor/contracts/mdyyevp/amendments/993f6533-e941-47a3-962d-f871359076ff' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}'
```

Example webhook payload:

```json
{
  "data": {
    "meta": {
      "event_type": "eor.amendment.status.updated",
      "event_type_id": "de688244-7869-46db-8ac7-00083965cc9b",
      "organization_id": "9c09a153-1418-4127-8c44-e99483e7c321",
      "organization_name": "20TT65OV",
      "tracking_id": "d09a72b0002191b65de3a453d177f1a7"
    },
    "resource": {
      "amendment_flow_id": "116fdec2-d8b6-4c64-82d9-089cccf92731",
      "organization_id": "9c09a153-1418-4127-8c44-e99483e7c321",
      "status": "EOR_AMENDMENT_V2_CLIENT_ACTIVE"
    }
  },
  "timestamp": "2025-02-07T12:36:16.360Z"
}
```

To download the EA document:

```shell
curl --location GET '{{host}}/rest/eor/contracts/mdyyevp/amendments/993f6533-e941-47a3-962d-f871359076ff/pdf' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}'
```

Response:

```json
{
  "data": {
    "url": "{{host}}/eor-experience-dev/amendment_documents/fb4a3959-0a93-4dd9-9b46-7f1af60b2bbd.pdf?AWSAccessKeyId=TEST_ACCESS_KEY&Expires=1673158576&Signature=TEST_SIGNATURE"
  }
}
```

To cancel the amendment before it becomes active:

```shell
curl --location --request DELETE '{{host}}/rest/eor/contracts/mdyyevp/amendments/993f6533-e941-47a3-962d-f871359076ff' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}'
```

Response:

```json
{
    "data": {
        "success": true
    }
}
```

### Sign the amendment (employee)

Once Deel completes its review, the employee signs the amendment.

```shell
curl --location --request POST '{{host}}/rest/eor/contracts/mdyyevp/amendments/993f6533-e941-47a3-962d-f871359076ff/sign' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{token}}'
```

If the amendment requires a Deel countersignature, Deel's internal team reviews it. Once signed, the amendment becomes `active` immediately or on the specified effective date.