---
title: "create amendment"
method: POST
path: "/payto/agreements/{agreement_uid}/amendment"
tags: ["Agreement modification"]
---

# create amendment

`POST /payto/agreements/{agreement_uid}/amendment`

Create an amendment for an existing Agreement.

Any attributes of the existing Agreement that will no longer be relevant after the amendment has been applied must be set to `null` as part of the amendment.
For example, when amending `payment_terms.type` from `"fixed"` to `"variable"`, `payment_terms.amount` must be set to `null`.

## Request body

- PaytoAmendmentRequest
  - `sandbox` object — SANDBOX ONLY: Parameter that allows you to simulate the debtor performing certain actions against the created amendment to aid integrators while testing their control flows.
    - `simulate` 'debtor_accept' | 'debtor_decline' | 'agreement_cancelled' | 'expire' | 'creditor_alias_not_found' | 'alias_resolution_service_unavailable', required
    - `delay` integer — An optional attribute that will delay the requested simulation by the given amount of seconds. If `delay` is not provided (default behaviour), the simulated action will happen instantly.
  - `changes` object, required — Changes to be applied to the mandate. Use `null` values to clear existing attributes, or provide new values to update them in the mandate.
    - `description` string — The reason for the agreement, as narrative text. ASCII-printable characters only.
    - `validity_end_date` string, date, nullable — End date of the validity of the agreement. If specified, the agreement will be valid until 23:59:59.999 Australia Sydney time on this date.
    - `payment_terms` object
      - `type` 'balloon' | 'fixed' | 'usage_based' | 'variable' — The pattern that payments will follow
      - `frequency` 'adhoc' | 'daily' | 'weekly' | 'fortnightly' | 'monthly' | 'quarterly' | 'semi_annual' | 'annual' — The frequency at which payments will be made. Can be used in conjunction with `count` to allow more than one payment per period.
      - `count` integer, nullable — Count of payments allowed per frequency period. With non-adhoc frequency periods, if count is not given, one payment per frequency period will be allowed. If frequency is adhoc and count is not given, unlimited payments will be allowed.
      - `amount` integer, nullable — Fixed amount to be debited from the debtor's account. Required for 'fixed' and 'balloon' types.
      - `max_amount` integer, nullable — The maximum allowed payment amount, in cents.
      - `first_payment_amount` integer, nullable — Optional specified payment amount for first payment, in cents. Applicable only to 'balloon' terms type.
      - `last_payment_amount` integer, nullable — Optional specified payment amount for last payment, in cents. Applicable only to 'balloon' terms type.
      - `first_payment_date` string, date, nullable — The date first payment will be initiated for agreement. Date timezone is Australia Sydney.
      - `last_payment_date` string, date, nullable — The date last payment will be initiated for agreement. Date timezone is Australia Sydney.
    - `creditor` object — Who and where the payment will be made to
      - `ultimate_party_name` string — The ultimate creditor name for the account. HTML name entities are not allowed.
      - `party_name` string — The name of the creditor party must accurately represent the creditor party and may be the same as the ultimate_party_name. HTML name entities are not allowed.
      - `account_identifier` PaytoAccountIdentifier — An identifier representing the parties account
        - `type` 'bban' | 'alias_phone' | 'alias_email' | 'alias_abn' | 'alias_organisation_identifier', required
        - `value` union, required
          - string — A branch code (BSB) and account number separated with a hyphen
          - string — A PayID email alias
          - string — A PayID phone alias. e.g. +61-411222333
          - string — A PayID ABN alias
          - string — A PayID organisation identifier alias
    - `initiator` object — The details of the party that initiated this agreement
      - `name` string — The name of the initating party for this agreement. Displayed to the end customer by their financial institution. HTML name entities are not allowed.
      - `legal_name` string — The legal name of the initating party for this agreement. HTML name entities are not allowed.
      - `abn` string, nullable — The Australian Business Number (ABN) of the initiating party for this agreement.
      - `acn` string, nullable — The Australian Company Number (ACN) of the initiating party for this agreement.
  - `resolution_requested_before` string, date-time, nullable — Requested resolution (accept/decline) deadline for this amendment. It will be provided in any notification sent to the debtor. This time is for informational purposes only and does not affect the expiry time. If not provided, it defaults to 5 days from amendment creation. Value must be an ISO8601 date-time in UTC timezone.

## Response `202`

accepted

## Other responses

- `400` — bad request
- `401` — unauthorized
- `403` — forbidden
- `404` — Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/zeptopayments/apis/zepto-api.md) · [All operations](https://skmtc.net/zeptopayments/apis/zepto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeptopayments/zepto-api/revisions/6353e9b9af6f/schema)
