---
title: "Approve Contract Amendment"
method: PUT
path: "/v1/sandbox/contract-amendments/{contract_amendment_request_id}/approve"
tags: ["Sandbox"]
---

# Approve Contract Amendment

`PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/approve`

Approves a contract amendment request without the intervention of a Remote admin.
Approvals done via this endpoint are effective immediately,
regardless of the effective date entered on the contract amendment creation.

This endpoint is only available in Sandbox, otherwise it will respond with a 404.

## Path parameters

- `contract_amendment_request_id` string, required

## 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

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `429` — Too many requests

---

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