# Update amendment

PATCH https://api.letsdeel.com/rest/v2/eor/contracts/{contract_id}/amendments/{amendment_id}
Content-Type: application/json

Updates a specific contract amendment. This can only be performed on amendments in a DRAFT status. This action is irreversible and will overwrite any previous draft data.
 **Token scopes**: `contracts:write`

Reference: https://developer.deel.com/api/eor-endpoints/eor-amendments/update-contract-amendment

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Deel HRIS SCIM API
  version: 1.0.0
paths:
  /eor/contracts/{contract_id}/amendments/{amendment_id}:
    patch:
      operationId: update-contract-amendment
      summary: Update amendment
      description: >-
        Updates a specific contract amendment. This can only be performed on
        amendments in a DRAFT status. This action is irreversible and will
        overwrite any previous draft data.
         **Token scopes**: `contracts:write`
      tags:
        - subpackage_eorAmendments
      parameters:
        - name: contract_id
          in: path
          description: The unique identifier of EOR worker contract.
          required: true
          schema:
            type: string
            format: alphanumeric
        - name: amendment_id
          in: path
          description: >-
            A unique identifier for the employee contract amendment. This string
            is either supplied by the client or generated by the system and is
            used to uniquely identify the amendment during upsert operations.
          required: true
          schema:
            type: string
            format: uuid
        - name: Authorization
          in: header
          description: >
            ## Authentication

            The Deel API uses bearer tokens to authenticate requests. All API
            calls must be made over HTTPS — calls over plain HTTP or without
            authentication will fail.


            ```curl

            curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
              -H 'Authorization: Bearer YOUR-TOKEN-HERE'
            ```


            [Learn more about authentication](/api/authentication)
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Amendment info
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/eor-amendments_updateContractAmendment_Response_200
        '400':
          description: >-
            Bad Request. The request could not be understood or was missing
            required parameters.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UpdateASpecificEorContractAmendmentRequestBadRequestError
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: >-
            Resource not found (e.g., contract, profile, amendment, change
            request).
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UpdateASpecificEorContractAmendmentRequestNotFoundError
        '409':
          description: >-
            Conflict error. Indicates that the requested operation conflicts
            with the current state of the resource.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UpdateASpecificEorContractAmendmentRequestConflictError
        '422':
          description: Validation errors or disabled amendments.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UpdateASpecificEorContractAmendmentRequestUnprocessableEntityError
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UpdateASpecificEorContractAmendmentRequestInternalServerError
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: >-
                    #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaData
servers:
  - url: https://api.letsdeel.com/rest/v2
  - url: https://api-staging.letsdeel.com/rest/v2
components:
  schemas:
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataCustomItems:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: An optional identifier for the custom object.
        type:
          type: string
          description: >-
            The type of the custom object. Must be one of the valid custom
            types.
        description:
          type: string
          description: A required description for the custom object.
      required:
        - type
        - description
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataCustomItems
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataTimeOffType:
      type: string
      enum:
        - STANDARD
        - SPECIFIC
        - PRORATED
      description: Type of time off.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataTimeOffType
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataAdditionalInfo:
      type: object
      properties:
        ai_scope_check_public_id:
          type: string
          format: uuid
          description: Identifier or flag for AI scope validation check
        job_categorization_log_id:
          type: string
          format: uuid
          description: Identifier for job categorisation log
      description: Additional metadata related to job validation and categorisation
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataAdditionalInfo
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataEmploymentType:
      type: string
      enum:
        - FULL_TIME
        - PART_TIME
      description: Type of employment.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataEmploymentType
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataFixedAdjustmentsItems:
      type: object
      properties:
        id:
          type: string
          description: >-
            The ID of an existing active fixed adjustment to update or delete.
            Include this in the request only if you are updating or deleting an
            existing adjustment. Do not include it when creating a new one.
        value:
          type: string
          description: Value of the fixed adjustment. Must be a positive number, not zero.
        is_deleted:
          type: boolean
          description: >-
            Flag to mark the fixed adjustment as deleted. Required only when the
            fixed adjustment needs to be removed; omit it otherwise.
        description:
          type: string
          description: Description of the fixed adjustment.
        is_recurring:
          type: boolean
          description: >-
            Whether the fixed adjustment is recurring. If set to false, it will
            be treated as a one-time fixed allowance.
      required:
        - value
        - description
        - is_recurring
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataFixedAdjustmentsItems
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataNoticePeriodType:
      type: string
      enum:
        - STANDARD
        - CUSTOM
      description: Type of notice period.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataNoticePeriodType
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationType:
      type: string
      enum:
        - PERCENTAGE
        - FIXED
      description: Type of variable compensation.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationType
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationTimeline:
      type: string
      enum:
        - MONTHLY
        - QUARTERLY
        - ANNUALLY
        - BIANNUALLY
      description: >-
        How often this compensation occurs. Required when creating a new
        compensation. Forbidden when updating an existing compensation.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationTimeline
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensation:
      type: object
      properties:
        id:
          type: string
          description: >-
            The ID of an existing active variable compensation to update or
            delete. Include this in the request only if you are updating or
            deleting an existing compensation. Do not include it when creating a
            new one.
        type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationType
          description: Type of variable compensation.
        title:
          type: string
          description: >-
            The title of the compensation. Required when creating a new
            compensation. Optional when updating an existing compensation.
        amount:
          type: number
          format: double
          description: Positive amount for the variable compensation.
        timeline:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensationTimeline
          description: >-
            How often this compensation occurs. Required when creating a new
            compensation. Forbidden when updating an existing compensation.
        is_deleted:
          type: boolean
          description: >-
            Flag to mark the variable compensation as deleted. Required only
            when the variable compensation needs to be removed; omit it
            otherwise
        effective_date:
          type: string
          format: date
          description: >-
            The date when this compensation starts or becomes effective.
            Required when creating a new compensation. Optional when updating an
            existing compensation.
      required:
        - type
        - amount
      description: >-
        Represents a change to an employee’s variable compensation (e.g., bonus
        or commission). This schema is used for creating new variable
        compensation items or updating existing ones. Some fields are required
        when creating, optional when updating, and forbidden when updating, as
        specified in each field description.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensation
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite:
      type: string
      enum:
        - STANDARD
        - CUSTOM
      description: Type of probation period for definite contracts.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite
    EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaData:
      type: object
      properties:
        scope:
          type: string
          description: Scope of the amendment.
        custom:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataCustomItems
          description: An optional array of custom objects.
        salary:
          type: number
          format: double
          description: Salary for the amendment.
        end_date:
          type: string
          format: date
          description: End date of the employment.
        holidays:
          type: number
          format: double
          description: Number of holidays.
        job_title:
          type: string
          description: Job title associated with the amendment.
        start_date:
          type: string
          format: date
          description: Start date of the employment.
        hourly_rate:
          type: number
          format: double
          description: Hourly rate of the amendment. The max value supported is 1e19
        seniority_id:
          type: string
          format: uuid
          description: Public Id of the seniority level.
        time_off_type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataTimeOffType
          description: Type of time off.
        effective_date:
          type: string
          format: date
          description: Effective date for the amendment.
        seniority_date:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The seniority date represents the employee’s original start date
            with a previous employer. It is used to preserve employment tenure
            when the employee transfers to this company. Can be null if not
            applicable.
        additional_info:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataAdditionalInfo
            - type: 'null'
          description: Additional metadata related to job validation and categorisation
        employment_type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataEmploymentType
          description: Type of employment.
        employment_state:
          type: string
          description: State of employment.
        probation_period:
          type: number
          format: double
          description: Duration of the probation period.
        fixed_adjustments:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataFixedAdjustmentsItems
          description: >-
            Array of fixed adjustments to be submitted for the amendment
            request.
        notice_period_type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataNoticePeriodType
          description: Type of notice period.
        work_hours_per_week:
          type: number
          format: double
          description: Number of work hours per week.
        variable_compensation:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataVariableCompensation
          description: >-
            Represents a change to an employee’s variable compensation (e.g.,
            bonus or commission). This schema is used for creating new variable
            compensation items or updating existing ones. Some fields are
            required when creating, optional when updating, and forbidden when
            updating, as specified in each field description.
        notice_period_after_probation:
          type: number
          format: double
          description: Notice period after probation.
        notice_period_during_probation:
          type: number
          format: double
          description: Notice period during probation.
        probation_period_type_for_definite:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite
          description: Type of probation period for definite contracts.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchRequestBodyContentApplicationJsonSchemaData
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataType:
      type: string
      enum:
        - INSTANT
        - OPS
        - LEGAL
        - DISABLED
        - CUSTOM
        - AUTOMATED
      description: Type of amendment
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItemsType:
      type: string
      enum:
        - INSTANT
        - OPS
        - LEGAL
        - DISABLED
        - CUSTOM
        - AUTOMATED
      description: Type of amendment
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItemsType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItems:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Id of amendment item
        item:
          type: string
          description: Amendment item
        type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItemsType
          description: Type of amendment
        new_value:
          type: string
          description: The new valid value after the attempted change.
        data_point:
          type: string
          description: The field that is selected for amendment.
        previous_value:
          type: string
          description: The previous valid value before the attempted change.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItems
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataSource:
      type: string
      enum:
        - APP
        - PUBLIC_API
        - APP_BULK_AMENDMENT
      description: Source of amendment flow creation.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataSource
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItemsStatus:
      type: string
      enum:
        - REJECTED
        - APPROVED
        - PENDING_REVIEW
        - PENDING_LEGAL
      description: Current status of the custom amendment item
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItemsStatus
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItems:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the custom amendment item
        type:
          type: string
          description: Type/context of the custom amendment item
        status:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItemsStatus
          description: Current status of the custom amendment item
        description:
          type:
            - string
            - 'null'
          description: Detailed description of the custom amendment item
        rejection_reason:
          type:
            - string
            - 'null'
          description: Reason for rejection if the item was rejected
      required:
        - id
        - type
        - status
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItems
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataDocumentType:
      type: string
      enum:
        - EA
        - SOW
        - SOW_EA
      description: Amendment document type
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataDocumentType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContextStatus:
      type: string
      enum:
        - REQUEST_LEGAL_REVIEW
        - WAITING_FOR_ANOTHER_TEAM
        - WAITING_FOR_HRX_ACTION
        - DECLINED
        - SOLVED
      description: Current status of the legal review process
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContextStatus
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContext:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContextStatus
          description: Current status of the legal review process
        details:
          type: string
          description: Details regarding the legal request
        jira_ticket:
          type: string
          description: Jira ticket identifier linked to the legal context
        jira_web_url:
          type: string
          format: uri
          description: Link to the Jira ticket for tracking
        requested_at:
          type: string
          format: date-time
          description: Timestamp when legal review was requested
      description: Additional details needed for legal input
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContext
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataTimeOffType:
      type: string
      enum:
        - STANDARD
        - SPECIFIC
        - PRORATED
      description: Type of time off.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataTimeOffType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataEmploymentType:
      type: string
      enum:
        - FULL_TIME
        - PART_TIME
      description: Type of employment.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataEmploymentType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItemsStatus:
      type: string
      enum:
        - WAITING_FOR_SIGNING
        - ACTIVE
        - OUTDATED
        - CANCELLED
      description: Current status of the fixed adjustment.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItemsStatus
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItems:
      type: object
      properties:
        id:
          type: string
          description: >-
            System-generated unique identifier for the fixed adjustment record
            in an amendment request.
        value:
          type: string
          description: Value of the fixed adjustment.
        status:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItemsStatus
          description: Current status of the fixed adjustment.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the fixed adjustment was created.
        is_amended:
          type: boolean
          description: Whether this fixed adjustment was amended from a previous one.
        is_deleted:
          type: boolean
          description: >-
            True if the fixed adjustment was deleted as part of the amendment;
            otherwise false.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the fixed adjustment was last updated.
        description:
          type: string
          description: Description of the fixed adjustment.
        is_recurring:
          type: boolean
          description: >-
            Whether the fixed adjustment is recurring. If set to false, it will
            be treated as a one-time fixed allowance.
        is_country_specific:
          type: boolean
          description: Whether this fixed adjustment applies only to a specific country.
        parent_fixed_adjustment_id:
          type:
            - string
            - 'null'
          description: Reference to the parent fixed adjustment, if applicable.
      required:
        - id
        - value
        - status
        - created_at
        - is_amended
        - updated_at
        - description
        - is_recurring
        - is_country_specific
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItems
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataRejectionContext:
      type: object
      properties:
        rejected_at:
          type: string
          format: date-time
          description: Timestamp of when the rejection occurred
      description: Additional details containing rejection reason
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataRejectionContext
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItemsAmendmentFlowStatus:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
          description: Creation date
      description: Metadata about the amendment status, including when it was created.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItemsAmendmentFlowStatus
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItems:
      type: object
      properties:
        name:
          type: string
          description: >-
            Logical, system-oriented identifier of the amendment status. Can be
            used to group statuses under a parent category and subgroup them for
            more granular state tracking. The structure typically follows a
            dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD',
            'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and
            filtering of related statuses.
        friendly_name:
          type: string
          description: Friendly name of amendment status
        amendment_flow_status:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItemsAmendmentFlowStatus
          description: Metadata about the amendment status, including when it was created.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItems
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodType:
      type: string
      enum:
        - STANDARD
        - CUSTOM
      description: Type of notice period.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVoidDeadlineType:
      type: string
      enum:
        - CUTOFF
        - START_DATE
        - END_DATE
        - EXPIRY
      description: Type of void deadline
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVoidDeadlineType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationType:
      type: string
      enum:
        - FIXED
        - PERCENTAGE
      description: >-
        The way the compensation is calculated. `FIXED` means a fixed amount
        (like $1000). `PERCENTAGE` means it’s based on a percentage of the
        salary.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationType
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationTimeline:
      type: string
      enum:
        - MONTHLY
        - QUARTERLY
        - ANNUALLY
        - BIANNUALLY
      description: >-
        How often the compensation is paid — for example monthly, quarterly,
        annually, or twice a year.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationTimeline
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationIncentivePlan:
      type: object
      properties:
        details:
          type: string
          description: Extra details about the incentive plan, if any.
        employee_signature:
          type: string
          description: The employee’s signature for the incentive plan, if collected.
        employee_signed_at:
          type: string
          format: date-time
          description: >-
            The date and time when the employee signed the incentive plan. Empty
            if not signed.
      description: Details of the incentive plan linked to this compensation, if any.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationIncentivePlan
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensation:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique ID assigned by the system to this variable compensation
            record.
        type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationType
          description: >-
            The way the compensation is calculated. `FIXED` means a fixed amount
            (like $1000). `PERCENTAGE` means it’s based on a percentage of the
            salary.
        title:
          type: string
          description: Title or name of the variable compensation.
        amount:
          type: string
          format: decimal
          description: >-
            The value of the compensation. Shown as a string to keep the exact
            number of decimals.
        timeline:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationTimeline
          description: >-
            How often the compensation is paid — for example monthly, quarterly,
            annually, or twice a year.
        parent_id:
          type:
            - string
            - 'null'
          description: >-
            Reference to the parent variable compensation, if applicable. Null
            if this compensation is not linked to any compensation.
        created_at:
          type: string
          format: date-time
          description: The date and time when this record was first created in the system.
        is_amended:
          type: boolean
          description: >-
            Shows whether this compensation has been changed as part of an
            amendment.
        is_deleted:
          type: boolean
          description: Shows whether this compensation has been deleted.
        updated_at:
          type: string
          format: date-time
          description: The date and time when this record was last updated.
        effective_date:
          type: string
          format: date-time
          description: The date when this compensation starts being valid.
        incentive_plan:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensationIncentivePlan
          description: Details of the incentive plan linked to this compensation, if any.
      required:
        - id
        - type
        - title
        - amount
        - timeline
        - parent_id
        - created_at
        - updated_at
        - effective_date
      description: >-
        Represents a variable compensation record (such as a bonus, commission,
        or incentive) within a contract. It contains details like the amount,
        type, frequency, and whether it is part of an incentive plan. The record
        also tracks when it was created, updated, and whether it has been
        amended.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensation
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodTimeUnit:
      type: string
      enum:
        - DAY
        - WEEK
        - MONTH
      description: Notice period time unit.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodTimeUnit
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite:
      type: string
      enum:
        - STANDARD
        - CUSTOM
      description: Type of probation period for definite contracts.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Id of amendment
        type:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataType
            - type: 'null'
          description: Type of amendment
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataItemsItems
          description: Items of amendment
        scope:
          type: string
          description: Scope of the amendment.
        salary:
          type: string
          description: Salary for the amendment.
        source:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataSource
            - type: 'null'
          description: Source of amendment flow creation.
        currency:
          type: string
          description: Contract currency.
        end_date:
          type:
            - string
            - 'null'
          format: date-time
          description: End date of the employment.
        holidays:
          type:
            - integer
            - 'null'
          description: Number of holidays.
        job_code:
          type:
            - string
            - 'null'
          description: Job code associated with the job title.
        job_title:
          type: string
          description: Job title associated with the amendment.
        created_at:
          type: string
          format: date-time
          description: Creation date of the amendment.
        start_date:
          type: string
          format: date-time
          description: Start date of the employment.
        updated_at:
          type: string
          format: date-time
          description: Date when amendment is updated
        hourly_rate:
          type:
            - string
            - 'null'
          description: Hourly rate of the amendment
        custom_items:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataCustomItemsItems
          description: Custom amendment items associated with the amendment flow
        job_category:
          type:
            - string
            - 'null'
          description: Job category associated with the job title.
        requested_by:
          type:
            - string
            - 'null'
          description: Profile name of the user who requested the change
        seniority_id:
          type:
            - string
            - 'null'
          format: uuid
          description: Seniority level identifier.
        document_type:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataDocumentType
            - type: 'null'
          description: Amendment document type
        legal_context:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataLegalContext
            - type: 'null'
          description: Additional details needed for legal input
        time_off_type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataTimeOffType
          description: Type of time off.
        void_deadline:
          type:
            - string
            - 'null'
          format: date-time
          description: Deadline this SOW to be voided
        effective_date:
          type:
            - string
            - 'null'
          format: date-time
          description: Effective date of the amendment.
        seniority_date:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The seniority date represents the employee’s original start date
            with a previous employer. It is used to preserve employment tenure
            when the employee transfers to this company. Can be null if not
            applicable.
        employment_type:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataEmploymentType
          description: Type of employment.
        sick_leave_days:
          type:
            - integer
            - 'null'
          description: Number of sick leave days
        employment_state:
          type:
            - string
            - 'null'
          description: State of employment.
        probation_period:
          type:
            - integer
            - 'null'
          description: Duration of the probation period.
        work_schedule_id:
          type:
            - string
            - 'null'
          format: uuid
          description: Work schedule id
        fixed_adjustments:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataFixedAdjustmentsItems
          description: List of fixed adjustments associated with the amendment request.
        rejection_context:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataRejectionContext
            - type: 'null'
          description: Additional details containing rejection reason
        amendment_statuses:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataAmendmentStatusesItems
          description: >-
            List of amendment statuses representing the history and progression
            of an amendment.
        notice_period_type:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodType
            - type: 'null'
          description: Type of notice period.
        void_deadline_type:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVoidDeadlineType
            - type: 'null'
          description: Type of void deadline
        work_hours_per_week:
          type: string
          description: Number of work hours per week.
        employee_nationality:
          type: string
          description: Nationality of the employee.
        is_hrx_action_needed:
          type: boolean
          description: Is HRX action needed.
        variable_compensation:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataVariableCompensation
          description: >-
            Represents a variable compensation record (such as a bonus,
            commission, or incentive) within a contract. It contains details
            like the amount, type, frequency, and whether it is part of an
            incentive plan. The record also tracks when it was created, updated,
            and whether it has been amended.
        notice_period_time_unit:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataNoticePeriodTimeUnit
            - type: 'null'
          description: Notice period time unit.
        is_effective_date_updated:
          type: boolean
          description: Is Effective Date updated.
        work_schedule_rules_version:
          type:
            - string
            - 'null'
          description: Work schedule rule version.
        notice_period_after_probation:
          type:
            - string
            - 'null'
          description: Notice period after probation.
        notice_period_during_probation:
          type:
            - string
            - 'null'
          description: Notice period during probation.
        probation_period_type_for_definite:
          oneOf:
            - $ref: >-
                #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaDataProbationPeriodTypeForDefinite
            - type: 'null'
          description: Type of probation period for definite contracts.
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaData
    eor-amendments_updateContractAmendment_Response_200:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaData
      title: eor-amendments_updateContractAmendment_Response_200
    EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      title: >-
        EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
    UpdateASpecificEorContractAmendmentRequestBadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
      required:
        - errors
      title: UpdateASpecificEorContractAmendmentRequestBadRequestError
    ApiErrorRequest:
      type: object
      properties:
        method:
          type: string
          description: The HTTP method of the failed request
        url:
          type: string
          description: The relative URL of the failed request
        status:
          type: number
          format: double
          description: The status code of the response
        api_req_id:
          type: string
          description: The request ID of the failed request
        docs:
          type: string
          description: >-
            A link to the official documentation for the requested endpoint
            resource
        source:
          type: string
          description: The source handler which produced the returned error
        code:
          type: number
          format: double
          description: The code of the source handler which produced the returned error
      title: ApiErrorRequest
    ApiError:
      type: object
      properties:
        message:
          type: string
          description: A description of the returned error
        path:
          type: string
          description: The JSON path where input validation failed
      title: ApiError
    ApiErrorContainer:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/ApiErrorRequest'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
      title: ApiErrorContainer
    UpdateASpecificEorContractAmendmentRequestNotFoundError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
      required:
        - errors
      title: UpdateASpecificEorContractAmendmentRequestNotFoundError
    UpdateASpecificEorContractAmendmentRequestConflictError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
      required:
        - errors
      title: UpdateASpecificEorContractAmendmentRequestConflictError
    UpdateASpecificEorContractAmendmentRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
          description: List of validation or business rule errors.
      required:
        - errors
      title: UpdateASpecificEorContractAmendmentRequestUnprocessableEntityError
    UpdateASpecificEorContractAmendmentRequestInternalServerError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/EorContractsContractIdAmendmentsAmendmentIdPatchResponsesContentApplicationJsonSchemaErrorsItems
      required:
        - errors
      title: UpdateASpecificEorContractAmendmentRequestInternalServerError
  securitySchemes:
    deelToken:
      type: http
      scheme: bearer
      description: >
        ## Authentication

        The Deel API uses bearer tokens to authenticate requests. All API calls
        must be made over HTTPS — calls over plain HTTP or without
        authentication will fail.


        ```curl

        curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
          -H 'Authorization: Bearer YOUR-TOKEN-HERE'
        ```


        [Learn more about authentication](/api/authentication)
    oauth2:
      type: http
      scheme: bearer
      description: >-
        Standard OAuth2 security scheme based on
        https://swagger.io/docs/specification/authentication/

```

## SDK Code Examples

```python
import requests

url = "https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7"

payload = {}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7';
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7', [
  'body' => '{}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.letsdeel.com/rest/v2/eor/contracts/3w6pd6r/amendments/77733bb9-9e17-4dfd-ba1b-1315f77cd7f7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```