Azupay · Schema

PaymentInitiationSearchResponseObj

PaymentsAustraliaReal-Time PaymentsAccount-to-AccountNew Payments PlatformPayIDPayToMoney TransferConfirmation of PayeeOpen Banking
View JSON Schema on GitHub

JSON Schema

azupay-payment-initiation-search-response-obj-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/azupay/main/json-schema/azupay-payment-initiation-search-response-obj-schema.json",
  "title": "PaymentInitiationSearchResponseObj",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azupay-payment-initiation-api-openapi.yml#/components/schemas/PaymentInitiationSearchResponseObj",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/$defs/PaymentInitiationObj"
    },
    {
      "$ref": "#/$defs/PaymentInitiationStatusObj"
    },
    {
      "$ref": "#/$defs/PaymentAgreementObj"
    }
  ],
  "$defs": {
    "AccountNumberObj": {
      "type": "string",
      "description": "The Account Number (without the BSB)",
      "minLength": 4,
      "maxLength": 9,
      "pattern": "^\\d*$"
    },
    "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
        }
      }
    },
    "AgreementExpiryMinutesObj": {
      "type": "integer",
      "description": "An integer value representing the total number of minutes before a payment agreement expires. This field has a minimum value of 5 and a max of 7199",
      "minimum": 5,
      "maximum": 7199
    },
    "BsbObj": {
      "type": "string",
      "description": "The BSB of the account number",
      "minLength": 6,
      "maxLength": 6,
      "pattern": "^\\d*$"
    },
    "ClientIdObj": {
      "type": "string",
      "description": "Id of the client initiating the transaction. This is supplied by Azupay and only changes between environments.\nFor example, you might be allocated CLIENT1TEST for the UAT environment and CLIENT1 for production.\n",
      "minLength": 5,
      "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"
    },
    "ContractIdObj": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Unique Id for the merchant side contract.\nThis field is used to prevent the creation of duplicated payment agreements in CREATED, SUSPENDED, ACTIVE status. \nPayment agreements in statuses such as CANCELLED, FAILED are not considered duplicates.\n"
    },
    "NotificationObj": {
      "type": "object",
      "description": "Merchant Callback Details",
      "required": [
        "endpointURL",
        "authorizationHeader"
      ],
      "properties": {
        "endpointURL": {
          "$ref": "#/$defs/endpointURL"
        },
        "authorizationHeader": {
          "$ref": "#/$defs/authorizationHeader"
        }
      }
    },
    "PayIDObj": {
      "type": "string",
      "minLength": 1,
      "maxLength": 140,
      "description": "The payer's PayID. Valid examples are `+61-432123321` (mobile), `+61-312344321` (landline), \n`0432123321` (mobile), `0312344321` (landline), `jane.smith@example.com`\n"
    },
    "PayToAmountObj": {
      "type": "string",
      "pattern": "^[0-9]+(\\.[0-9]{2})$",
      "description": "Amount in AUD to be requested from the Payee"
    },
    "PayeeDetailsObj": {
      "type": "object",
      "description": "Payee Details",
      "properties": {
        "becsUserId": {
          "type": "string",
          "description": "The BECS user ID related to the migrating Direct Debit Authority (DDR) over to a Payment Agreement. Only populate this field if it is for a migration request.\n",
          "minLength": 1,
          "maxLength": 6,
          "pattern": "^[a-zA-Z0-9]*$"
        },
        "payeeName": {
          "$ref": "#/$defs/agreementPayeeName"
        }
      }
    },
    "PayerDetailsObj": {
      "type": "object",
      "description": "Provide either `payIDDetails` or `bankAccountDetails`\n",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "description": "The payer's name",
          "minLength": 1,
          "maxLength": 100,
          "pattern": "^[!-~]+( [!-~]+)*$"
        },
        "type": {
          "type": "string",
          "description": "Whether payer is a person or organisation. Defaults to 'Person'.",
          "enum": [
            "Person",
            "Organisation"
          ]
        },
        "payIDDetails": {
          "description": "PayID Details",
          "type": "object",
          "required": [
            "payID",
            "payIDType"
          ],
          "properties": {
            "payID": {
              "$ref": "#/$defs/PayIDObj"
            },
            "payIDType": {
              "type": "string",
              "description": "PayID Type. Valid Values:\n- 'PHONE’ Can be a mobile phone number or landline with area code\n- ‘EMAIL’ Email address\n- ‘ABN’ Australian Business Number\n- ‘ORG’ Organisation Name",
              "enum": [
                "PHONE",
                "EMAIL",
                "ABN",
                "ORG"
              ]
            }
          }
        },
        "bankAccountDetails": {
          "description": "Bank Account Details",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "bsb",
            "accountNumber"
          ],
          "properties": {
            "bsb": {
              "$ref": "#/$defs/BsbObj"
            },
            "accountNumber": {
              "$ref": "#/$defs/AccountNumberObj"
            }
          }
        }
      }
    },
    "PaymentAgreementObj": {
      "type": "object",
      "required": [
        "PaymentAgreement"
      ],
      "properties": {
        "PaymentAgreement": {
          "type": "object",
          "required": [
            "clientId",
            "clientTransactionId",
            "payerDetails",
            "paymentAgreementType",
            "description",
            "agreementDetails"
          ],
          "properties": {
            "clientId": {
              "$ref": "#/$defs/ClientIdObj"
            },
            "additionalDetails": {
              "$ref": "#/$defs/AdditionalDetailsObj"
            },
            "contractId": {
              "$ref": "#/$defs/ContractIdObj"
            },
            "clientTransactionId": {
              "$ref": "#/$defs/ClientTransactionIdObj"
            },
            "paymentAgreementNotification": {
              "$ref": "#/$defs/NotificationObj"
            },
            "conditionsOfPayment": {
              "type": "string",
              "pattern": "^[ -~]{1,140}$",
              "minLength": 1,
              "maxLength": 140
            },
            "agreementExpiryMinutes": {
              "$ref": "#/$defs/AgreementExpiryMinutesObj",
              "description": "Indication of conditions of sale, references to terms and conditions or Product Disclosure Statement as agreed between parties."
            },
            "payerDetails": {
              "$ref": "#/$defs/PayerDetailsObj"
            },
            "payeeDetails": {
              "$ref": "#/$defs/PayeeDetailsObj"
            },
            "paymentAgreementType": {
              "type": "string",
              "enum": [
                "MORTGAGE",
                "UTILITY",
                "LOAN",
                "DEPENDANT SUPPORT",
                "GAMBLING",
                "RETAIL",
                "SALARY",
                "PERSONAL",
                "GOVERNMENT",
                "PENSION",
                "TAX",
                "OTHER SERVICE"
              ]
            },
            "description": {
              "$ref": "#/$defs/agreementDescription"
            },
            "variant": {
              "type": "string",
              "enum": [
                "API",
                "1Click"
              ]
            },
            "agreementDetails": {
              "type": "object",
              "description": "Agreement Details",
              "properties": {
                "fixedAgreementDetails": {
                  "type": "object",
                  "description": "Fixed Agreement Details",
                  "additionalProperties": false,
                  "required": [
                    "startDate",
                    "frequency",
                    "amount"
                  ],
                  "properties": {
                    "startDate": {
                      "$ref": "#/$defs/StartDateObj"
                    },
                    "endDate": {
                      "$ref": "#/$defs/endDate"
                    },
                    "firstPaymentAmount": {
                      "$ref": "#/$defs/firstPaymentAmount"
                    },
                    "amount": {
                      "$ref": "#/$defs/amount"
                    },
                    "frequency": {
                      "$ref": "#/$defs/frequency"
                    },
                    "countPerPeriod": {
                      "$ref": "#/$defs/countPerPeriod"
                    }
                  }
                },
                "balloonAgreementDetails": {
                  "type": "object",
                  "description": "Balloon Agreement Details",
                  "additionalProperties": false,
                  "required": [
                    "startDate",
                    "frequency"
                  ],
                  "properties": {
                    "startDate": {
                      "$ref": "#/$defs/StartDateObj"
                    },
                    "lastPaymentDate": {
                      "$ref": "#/$defs/lastPaymentDate"
                    },
                    "lastPaymentAmount": {
                      "$ref": "#/$defs/lastPaymentAmount"
                    },
                    "amount": {
                      "$ref": "#/$defs/amount"
                    },
                    "frequency": {
                      "$ref": "#/$defs/frequency"
                    },
                    "countPerPeriod": {
                      "$ref": "#/$defs/countPerPeriod"
                    }
                  }
                },
                "usageBasedAgreementDetails": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "startDate",
                    "frequency"
                  ],
                  "properties": {
                    "maximumAmount": {
                      "$ref": "#/$defs/PayToAmountObj"
                    },
                    "startDate": {
                      "$ref": "#/$defs/StartDateObj"
                    },
                    "endDate": {
                      "$ref": "#/$defs/endDate"
                    },
                    "frequency": {
                      "$ref": "#/$defs/frequency"
                    },
                    "countPerPeriod": {
                      "$ref": "#/$defs/countPerPeriod"
                    }
                  }
                },
                "variableAgreementDetails": {
                  "type": "object",
                  "description": "Variable Agreement Details",
                  "additionalProperties": false,
                  "required": [
                    "startDate",
                    "frequency"
                  ],
                  "properties": {
                    "startDate": {
                      "$ref": "#/$defs/StartDateObj"
                    },
                    "endDate": {
                      "$ref": "#/$defs/endDate"
                    },
                    "maximumAmount": {
                      "$ref": "#/$defs/maximumAmount"
                    },
                    "frequency": {
                      "$ref": "#/$defs/frequency"
                    },
                    "countPerPeriod": {
                      "$ref": "#/$defs/countPerPeriod"
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "PaymentInitiationObj": {
      "type": "object",
      "required": [
        "PaymentInitiation"
      ],
      "additionalProperties": false,
      "properties": {
        "PaymentInitiation": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "clientId",
            "paymentAgreementId",
            "paymentAmount",
            "clientTransactionId"
          ],
          "properties": {
            "paymentAgreementId": {
              "type": "string",
              "description": "ID of the payment agreement to initiate payment"
            },
            "paymentRequestId": {
              "type": "string",
              "minLength": 32,
              "maxLength": 32,
              "pattern": "^[A-Z|a-z|0-9]*$"
            },
            "metaData": {
              "type": "object",
              "additionalProperties": true,
              "description": "An object containing no more than 10 string fields. Where the field name is limited to 40 ASCII characters and the field value is limited to 255 ASCII characters"
            },
            "clientTransactionId": {
              "$ref": "#/$defs/ClientTransactionIdObj"
            },
            "clientId": {
              "$ref": "#/$defs/ClientIdObj"
            },
            "paymentAmount": {
              "$ref": "#/$defs/PayToAmountObj"
            },
            "reference": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35,
              "pattern": "^[ -~]*$",
              "description": "Unique identification to unambiguously identify the transaction. \nThis identification is passed on, unchanged, throughout the entire end-to-end payment message, \nand will appear on payers statements.\n"
            },
            "description": {
              "type": "string",
              "minLength": 5,
              "maxLength": 280,
              "description": "Optional remittance information used to unambiguously refer to the payment transaction."
            },
            "paymentInitiationNotification": {
              "$ref": "#/$defs/NotificationObj"
            },
            "additionalDetails": {
              "$ref": "#/$defs/AdditionalDetailsObj"
            }
          }
        }
      }
    },
    "PaymentInitiationStatusObj": {
      "type": "object",
      "required": [
        "PaymentInitiationStatus"
      ],
      "additionalProperties": false,
      "properties": {
        "PaymentInitiationStatus": {
          "additionalProperties": false,
          "required": [
            "paymentInitiationId",
            "status",
            "createdDatetime"
          ],
          "type": "object",
          "properties": {
            "paymentInitiationId": {
              "$ref": "#/$defs/azupayId"
            },
            "status": {
              "type": "string",
              "description": "Status of the requested payment initiation.",
              "enum": [
                "CREATED",
                "SETTLED",
                "FAILED",
                "PENDING",
                "RETURN_IN_PROGRESS",
                "RETURN_FAILED",
                "RETURN_COMPLETE"
              ]
            },
            "createdDatetime": {
              "type": "string",
              "format": "date-time",
              "description": "Timestamp when the payment initiation was created."
            },
            "completedDatetime": {
              "type": "string",
              "format": "date-time",
              "description": "Timestamp when the payment initiation was completed. Only for `status` different than `CREATED`.\n"
            },
            "statusCode": {
              "type": "string",
              "description": "A transaction status reason code returned by the destination institution. \n\nStandardized among NPP network participants.\n"
            },
            "statusReason": {
              "type": "string",
              "description": "A description corresponds to the value of the `statusCode` field.\n\nFor the full list, please refer to the\n[Status Code and Status Reason](/guide/receiving-recurring-payments.html#status-code-and-status-reason) page\n"
            },
            "nppTransactionId": {
              "type": "string",
              "description": "An identifier used to reference a payment pulled from a bank account between banks, businesses and \npayment facilitators such as Azupay.\n"
            },
            "payerInformation": {
              "description": "This object is present when the payment is completed and your client is configured to expose payer information.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "bsb": {
                  "type": "string",
                  "description": "The bsb"
                },
                "accountNumber": {
                  "type": "string",
                  "description": "The account number"
                },
                "fullLegalAccountName": {
                  "type": "string",
                  "description": "The full legal account name"
                }
              }
            },
            "refundInformation": {
              "description": "This object is present when a refund is requested.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "availableBalance": {
                  "type": "string",
                  "description": "The remaining balance after completion of all the refunds."
                },
                "requests": {
                  "type": "array",
                  "description": "An array of objects capturing log of completed refund requests",
                  "items": {
                    "type": "object",
                    "description": "Refund information",
                    "properties": {
                      "createdDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp when refund request was initiated"
                      },
                      "completedDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp when refund request was completed."
                      },
                      "amount": {
                        "type": "string",
                        "description": "The refund amount"
                      },
                      "nppTransactionId": {
                        "description": "The identifier of the transaction in the NPP network. This is an identifier known by the initiating bank and serves as unique identifier for the refund.",
                        "type": "string"
                      },
                      "status": {
                        "description": "The status of the refund",
                        "type": "string",
                        "enum": [
                          "IN_PROGRESS",
                          "COMPLETE",
                          "FAILED"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "StartDateObj": {
      "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)$"
    },
    "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"
    },
    "azupayId": {
      "type": "string",
      "description": "An identifier generated by Azupay. Used to reference the object in subsequent operations"
    },
    "countPerPeriod": {
      "type": "string",
      "description": "Number of payments within a specified period based on the frequency",
      "pattern": "^[1-9][0-9]{0,2}$"
    },
    "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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/azupay-payment-initiation-search-response-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.