Azupay · Schema
PaymentAgreementAmendmentObj
PaymentsAustraliaReal-Time PaymentsAccount-to-AccountNew Payments PlatformPayIDPayToMoney TransferConfirmation of PayeeOpen Banking
Properties
| Name | Type | Description |
|---|---|---|
| PaymentAgreementAmendment | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/azupay/main/json-schema/azupay-payment-agreement-amendment-obj-schema.json",
"title": "PaymentAgreementAmendmentObj",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/azupay-payment-agreement-api-openapi.yml#/components/schemas/PaymentAgreementAmendmentObj",
"type": "object",
"required": [
"PaymentAgreementAmendment"
],
"properties": {
"PaymentAgreementAmendment": {
"type": "object",
"required": [
"paymentAgreementId",
"clientTransactionId"
],
"properties": {
"clientTransactionId": {
"$ref": "#/$defs/ClientTransactionIdObj"
},
"paymentAgreementId": {
"type": "string",
"description": "ID of the payment agreement being amended"
},
"commonDetails": {
"type": "object",
"description": "Details of a Payment Agreement that can be amended without approval from the payer. Cannot be provided at the same time with \n`agreementDetails`. This feature is not enabled by default. Please contact support to allow amendment of these details.\n",
"properties": {
"description": {
"$ref": "#/$defs/agreementDescription"
},
"payeeName": {
"$ref": "#/$defs/agreementPayeeName"
}
}
},
"agreementDetails": {
"type": "object",
"description": "Agreement Details that need approval from the payer. Cannot be provided at the same time with `commonDetails`.\n",
"properties": {
"usageBasedAgreementDetails": {
"type": "object",
"description": "Usage Based Agreement Details for Amendment",
"properties": {
"endDate": {
"$ref": "#/$defs/endDate"
},
"maximumAmount": {
"$ref": "#/$defs/maximumAmount"
},
"frequency": {
"$ref": "#/$defs/frequency"
}
}
},
"variableAgreementDetails": {
"type": "object",
"description": "Variable Agreement Details for Amendment",
"properties": {
"endDate": {
"$ref": "#/$defs/endDate"
},
"maximumAmount": {
"$ref": "#/$defs/maximumAmount"
},
"frequency": {
"$ref": "#/$defs/frequency"
}
}
},
"fixedAgreementDetails": {
"type": "object",
"description": "Fixed Agreement Details for Amendment",
"properties": {
"endDate": {
"$ref": "#/$defs/endDate"
},
"firstPaymentAmount": {
"$ref": "#/$defs/firstPaymentAmount"
},
"amount": {
"$ref": "#/$defs/amount"
},
"frequency": {
"$ref": "#/$defs/frequency"
}
}
},
"balloonAgreementDetails": {
"type": "object",
"description": "Balloon Agreement Details for Amendment",
"properties": {
"lastPaymentDate": {
"$ref": "#/$defs/lastPaymentDate"
},
"lastPaymentAmount": {
"$ref": "#/$defs/lastPaymentAmount"
},
"amount": {
"$ref": "#/$defs/amount"
},
"frequency": {
"$ref": "#/$defs/frequency"
}
}
}
}
},
"paymentAgreementAmendmentNotification": {
"$ref": "#/$defs/NotificationObj"
},
"additionalDetails": {
"$ref": "#/$defs/AdditionalDetailsObj"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"$defs": {
"AdditionalDetailsObj": {
"type": "object",
"required": [
"customerNumber",
"userID",
"authMethod",
"channelType"
],
"description": "Additional details for auditing purposes",
"properties": {
"customerNumber": {
"type": "string",
"description": "Uniquely identifies the Customer for whom the request has been initiated for. i.e. the Customer that owns the account. This field should contain the Member Number or Customer Number from the Client's banking system.\n",
"maxLength": 25
},
"userID": {
"type": "string",
"description": "Uniquely identifies the User that has initiated the request. This could be the Customer or someone authorised to act on behalf of the Customer.\n",
"maxLength": 25
},
"authMethod": {
"type": "string",
"description": "This field allows us to understand how the user has logged in. Over a period we can determine if there is a deviation from normal usage patterns. e.g. Moving from biometric to PIN and linking that with payments we can detect fraud happening but also apply other rules to understand if PayIds are being from a device for malicious intent.\n",
"enum": [
"2FACTOR",
"OTP",
"BIOMETRIC",
"PASSWORD",
"PIN",
"NONE"
]
},
"channelType": {
"type": "string",
"description": "This field allows us to understand, similar to authenticationMethod, which channels are being used to initiate a request. If `BROWSER` or `MOBILE` is selected. `ipAddress` and `deviceFingerprint` will be required fields.\n",
"enum": [
"BROWSER",
"MOBILE",
"BRANCH",
"IVR",
"OTHER"
]
},
"ipAddress": {
"type": "string",
"description": "IP address of the device or computer from which the user request originated. Required if request originated from a browser or mobile, else do not send.\n"
},
"fraudScore": {
"type": "string",
"description": "This is a fraud score you may have calculated. if not, do not send."
},
"deviceFingerprint": {
"type": "string",
"description": "The device fingerprint or browser fingerprint. A change in device is a possible indicator of fraud/ID takeover/phone number porting. The device fingerprint, machine fingerprint or browser fingerprint. Required if the request originated from a web browser or mobile device, else do not send.\n"
},
"notes": {
"type": "string",
"description": "Free text field up to 2048 characters.",
"maxLength": 2048
},
"geoLocation": {
"type": "string",
"description": "Latitude and Longitude from which the user request originated. For example -33.8708464,151.20732999999998 Only to be provided if GPS is enabled on the device, else do not send.\n",
"maxLength": 50
}
}
},
"ClientTransactionIdObj": {
"description": "Unique Id for the transaction created by the merchant system\n\nThis field is used to prevent the creation of duplicated clients in case of a message retry. It is\nrecommended that a unique id (like uuid) is used for each client. If the same value is used a second time\nthe client will be replaced.\n",
"minLength": 5,
"maxLength": 100,
"type": "string"
},
"NotificationObj": {
"type": "object",
"description": "Merchant Callback Details",
"required": [
"endpointURL",
"authorizationHeader"
],
"properties": {
"endpointURL": {
"$ref": "#/$defs/endpointURL"
},
"authorizationHeader": {
"$ref": "#/$defs/authorizationHeader"
}
}
},
"agreementDescription": {
"type": "string",
"minLength": 5,
"maxLength": 140,
"pattern": "^[ -~]*$",
"description": "Description of the Payment Agreement visible to the payer."
},
"agreementPayeeName": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"pattern": "^[ -~]*$",
"description": "Lets you control the Payee description (visible to they payer) on the payment agreement:\n* If not populated, then your business name will appear i.e. \"My business name\".\n* If populated, then your business appears as a facilitator so the description will read something like \"My business name on behalf of `payeeName`\".\n"
},
"amount": {
"type": "string",
"description": "Amount in AUD",
"pattern": "^[0-9]+(\\.[0-9]{2})$"
},
"authorizationHeader": {
"type": "string",
"description": "The string that Azupay will put into the Authorization request header when calling the Callback url.\n\nWill be obfuscated (shown as ****) in API responses.\n"
},
"endDate": {
"type": "string",
"description": "A date in the calendar year expressed in this format YYYY-MM-DD. This date would be in Australia/Sydney timezone",
"pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$"
},
"endpointURL": {
"type": "string",
"format": "url",
"description": "An internet accessible url which Azupay will invoke when the status of the transaction has \nchanged. The call will be done using the HTTP POST method. The endpoint exposed by the client \nmust be TLS 1.2 and the server certificate must be issued by a well known commercial certificate \nauthority and that self-signed or internally signed certs are not acceptable.\n"
},
"firstPaymentAmount": {
"type": "string",
"description": "Amount in AUD",
"pattern": "^[0-9]+(\\.[0-9]{2})$"
},
"frequency": {
"type": "string",
"description": "Payment Frequency",
"enum": [
"ADHOC",
"DAILY",
"FORTNIGHTLY",
"INTRADAY",
"SEMIANNUAL",
"MONTHLY",
"QUARTERLY",
"WEEKLY",
"ANNUAL"
]
},
"lastPaymentAmount": {
"type": "string",
"description": "Amount in AUD",
"pattern": "^[0-9]+(\\.[0-9]{2})$"
},
"lastPaymentDate": {
"type": "string",
"description": "A date in the calendar year expressed in this format YYYY-MM-DD. This date would be in Australia/Sydney timezone",
"pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$"
},
"maximumAmount": {
"type": "string",
"description": "Amount in AUD",
"pattern": "^[0-9]+(\\.[0-9]{2})$"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/azupay-payment-agreement-amendment-obj"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.