---
title: "Create Contract Amendment"
method: POST
path: "/v1/contract-amendments"
tags: ["Contract Amendments"]
---

# Create Contract Amendment

`POST /v1/contract-amendments`

Creates a Contract Amendment request.

This endpoint requires and returns country-specific data. The exact required and returned fields will
vary depending on which country the employment is in. To see the list of parameters for each country,
see the **Show form schema** endpoint under the [Contract Amendments](#tag/Contract-Amendments) category.

Please note that the compliance requirements for each country are subject to change according to local
laws. Given its continual updates, using Remote's [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) should be considered in order to avoid
compliance issues and to have the latest version of a country requirements.

If you are using this endpoint to build an integration, make sure you are dynamically collecting or
displaying the latest parameters for each country by querying the _"Show form schema"_ endpoint.

For more information on JSON Schemas, see the **How JSON Schemas work** documentation.

To learn how you can dynamically generate forms to display in your UI, see the documentation for
the [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) tool.



## Scopes

| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | - | Manage contract amendments (`contract_amendment:write`) |

## Query parameters

- `json_schema_version` union
  - integer — Specific version number
  - 'latest' — Use latest version

## Headers

- `Authorization` string, required

## Request body

- CreateContractAmendmentParams
  - `amendment_contract_id` string, required — The contract ID of the contract that needs to be amended.
  - `contract_amendment` object, required — Contract amendment informations. As its properties may vary depending on the country, you must query the [Show form schema](#tag/Contract-Amendments/operation/post_show_form_contract_amendment_schema) endpoint passing the country code, `contract_amendment` and the employment ID as request body.
  - `employment_id` string, required — The employment ID that is related to the contract amendment request.

## Response `200`

Success

- ContractAmendmentResponse — Contract Amendment response
  - `data` object
    - `contract_amendment` ContractAmendment, required — A full contract amendment record, including the requested changes with their previous and current values.
      - `amendment_contract_id` string, nullable, required — The unique identifier of the contract being amended. Null if no specific contract was targeted.
      - `changes` object, required — Describes all the changes requested for the contract and contract details with all their previous and current values.
      - `employment_id` string, required — The unique identifier (UUID) of the employment.
      - `id` string, required — The unique identifier (UUID) of the contract amendment.
      - `request_details` RequestDetails, required — The details of the requested changes for the contract amendment.
        - `additional_comments` string, nullable
        - `effective_date` string, date
        - `reason_for_change` 'annual_pay_adjustment' | 'country_rule_change' | 'error_correction' | 'job_change_reevaluation' | 'promotion' | 'other', nullable
        - `reason_for_change_description` string, nullable — This is filled when the reason_for_change is 'other'.
        - `salary_decrease_details` SalaryDecreaseDetails, nullable — The details of the salary decrease request if there is one
          - `salary_decrease_reason` 'change_in_working_hours' | 'trade_salary_for_equity' | 'error_in_initial_salary' | 'role_change_or_demotion' | 'compensation_restructure' | 'other'
          - `salary_decrease_reason_description` string, nullable
          - `was_employee_informed` string
      - `requested_by` string, required — The unique identifier (UUID) of the user who submitted the amendment.
      - `status` 'submitted' | 'in_review' | 'done' | 'canceled' | 'deleted', required — The current status of a contract amendment request. - `submitted`: The amendment has been submitted and is awaiting Remote's review. - `in_review`: Remote is reviewing the amendment for compliance and feasibility. - `done`: The amendment has been approved and applied to the contract. - `canceled`: The amendment request was canceled before completion. - `deleted`: The amendment request was deleted.
      - `submitted_at` string, datetime, required — The timestamp when the amendment was submitted.
      - `zendesk_ticket_url` string, nullable, required — A link to the support ticket associated with this amendment, if one was created. Null otherwise.

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/remote-com/apis/remote.md) · [All operations](https://skmtc.net/remote-com/apis/remote/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/remote-com/remote/revisions/7e6a0c61ac82/schema)
