Monoova PayTo Async API

The `AsyncResponse` is used in operations where the request is accepted, but the processing is not immediate. This response format provides information for tracking and checking the request status. This API adheres to the Microsoft [async-request-reply pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/async-request-reply), ensuring efficient handling of non-immediate requests. Featuring high throughput and generous rate limits, this API is optimal for bulk operations, allowing for the efficient processing of larger datasets. ### HTTP Status Code - **202 Accepted**: - *Description*: Indicates that the request has been accepted for processing but has not been completed. ### HTTP Headers - **Location**: - *Description*: Provides the URL where the client can check the status of the asynchronous operation. Clients should periodically poll this URL to retrieve the final result of the request. - *Example*: `https://sand-api.monoova.com/...` - **Retry-After**: - *Description*: Suggests the number of seconds the client should wait before polling the Location URL again. This helps manage server load by preventing requests that are too frequent. - *Example*: `10`

Operations 8

GET /au/payto/pam-v1/PaymentAgreementAsync/Request/{uniqueRequestId} Get Async Payment Agreement Request Status #
GET /au/payto/pas-v1/PaymentInstructionAsync/Request/{uniqueRequestId} Get Async Payment Instruction Request Status #
POST /au/payto/pam-v1/PaymentAgreementAsync Create a Payment Agreement Async #
POST /au/payto/pas-v1/PaymentInstructionAsync Create Payment Instruction Async #
PATCH /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/unilateral Unilateral Amendment Async #
PATCH /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/bilateral Bilateral Amendment Async #
PATCH /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/status Amend Payment Agreement Status Async #
PATCH /au/payto/pam-v1/PaymentAgreementAsync/{PaymentAgreementUID}/recall/{actionIdentification} Recall a Payment Agreement Async #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/monoova-payto-async-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

monoova-payto-async-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "# Introduction\n\nThe Monoova PayTo API is designed to efficiently handle real time financial transactions, providing a reliable platform for creating payment agreements and initiating payments. It offers a streamlined transaction process, ensuring speed and security for businesses and users with benefits above and beyond a direct debit alternative.\n\nMonoova's PayTo API supports synchronous and asynchronous operations, allowing flexible integration based on varying business needs. The asynchronous API option is particularly beneficial for handling batch operations requiring extended processing time, enhancing overall system performance and reliability. Additionally, Monoova provides webhook subscriptions, enabling users to receive timely updates and notifications about transaction events, which helps maintain transparency and control over financial activities.\n\n## Process\n\nPayTo allows you to debit an enabled domestic bank account in real time. \n\n* First, you create a **payment agreement** between a payer and a payee. The terms of the agreement determine the amount and schedule of allowed debits. When you create a Payment Agreement, the account is validated in real time, so you can ensure the account details are correct.\n\n* Next, the payer authorises the agreement through their banking app.\n\n* Finally, real time **payment initiations** can be triggered. If successful, funds will be credited to the payee account in real time and made available for disbursement. Because recipients can access funds faster than traditional direct debit systems, this is particularly beneficial for businesses or individuals relying on prompt cash flow payments.\n\n* If you would like to modify the terms of the agreement, you can use the amendment API's.\n\n# Getting Started\n\n1. Access the Domestic Payments Portal:\n\n    * Sandbox Environment:\n        - Register: If you are new, [register](https://sandbox.monoova.com) to gain Sandbox access.\n        - Login: If you already have Sandbox credentials, [log in](https://sandbox.monoova.com) to continue your work.\n\n    * Production Environment:\n        - Login: Login to the [Production portal](https://payments.monoova.com) using the credentials you obtained during onboarding.\n\n2. Activate Your API Key\n\n    * Generate API Key:\n      - If you do not know your API Key or need to reset it, navigate to Manage > Accounts to generate or regenerate your API Key after logging into the portal.\n\n    * Activate API Gateway Access:\n      - Go to Manage > API Gateway and enter your API Key to activate API Gateway access for your mAccount.\n\n3. Configure API Access\n\n    Please [contact our integration team](https://www.monoova.com/contact) to configure your account settings. This step ensures that your account is allowed to access the service.\n\n4. Explore API Endpoints\n\n    Use the API documentation to plan your integration. It provides details and examples of usage.\n\n5. Onboarding and Support\n\n    Our integration team will guide you from the initial setup to the final running implementation, providing support throughout the process.\n\n# Sandbox Testing for PayTo Agreements\n\nIn the Sandbox environment, it is possible to test different outcomes for PayTo agreements by altering the values of the agreement. This allows for a comprehensive evaluation of potential scenarios in a controlled setting.\n\n## Use the following payment details when testing in Sandbox:\n\n<style type=\"text/css\">\n.tb { table-layout:auto; width:300px;!important }\n.td { overflow:hidden; white-space:nowrap; text-overflow:ellipsis!important}\n</style>\n<table class=\"tb\">\n  <tr>\n    <th>Account Name</th>\n    <th>BSB</th>\n    <th>Account Number</th>\n    <th>PayID</th>\n  </tr>\n  <tr>\n    <td class=\"td\">Monoova Sample 1</td>\n    <td class=\"td\">802950</td>\n    <td class=\"td\">22090100</td>\n    <td class=\"td\">+61-422020901</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Monoova Sample 2</td>\n    <td class=\"td\">802950</td>\n    <td class=\"td\">22090101</td>\n    <td class=\"td\">sample@monoova.com</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Monoova Sample 3</td>\n    <td class=\"td\">802950</td>\n    <td class=\"td\">22090102</td>\n    <td class=\"td\">38126015228</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Monoova Sample 4</td>\n    <td class=\"td\">802950</td>\n    <td class=\"td\">22090103</td>\n    <td class=\"td\">987654321</td>\n  </tr>\n</table>\n\n## Testing Payment Agreements\n\nPayment agreements are automatically approved or declined in the Sandbox environment, depending on the amount or `maxAmount` included in the agreement request. If both `amount` or `maxAmount` are passed, the `amount` will determine the behavior.\n\nFor basic testing of Payment Agreements, the following test cases are recommended. A more comprehensive list of test cases is available should you wish to examine edge cases.\n</br></br>\n### Response for Payment Agreements\n\n<style type=\"text/css\">\n.tb { table-layout:auto; width:300px;!important }\n.td { overflow:hidden; white-space:nowrap; text-overflow:ellipsis!important}\n</style>\n<table class=\"tb\">\n  <tr>\n    <th>Response</th>\n    <th>Reason Code</th>\n    <th>Contains Value</th>\n    <th>Example</th>\n    <th>Action</th>\n  </tr>\n  <tr>\n    <td class=\"td\">Agreement Approved</td>\n    <td class=\"td\">-</td>\n    <td class=\"td\">.00</td>\n    <td class=\"td\">$5.00, $10.00, $50.00</td>\n    <td class=\"td\">Approve</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Requested By Customer</td>\n    <td class=\"td\">M019</td>\n    <td class=\"td\">.19</td>\n    <td class=\"td\">$5.19, $10.19, $50.19</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n</table>\n\n### Other Test Cases\n\n<style type=\"text/css\">\n.tb { table-layout:auto; width:300px;!important }\n.td { overflow:hidden; white-space:nowrap; text-overflow:ellipsis!important}\n</style>\n<table class=\"tb\">\n  <tr>\n    <th>Response</th>\n    <th>Reason Code</th>\n    <th>Contains Value</th>\n    <th>Example</th>\n    <th>Action</th>\n  </tr>\n  <tr>\n    <td class=\"td\">Invalid Debtor Account Number</td>\n    <td class=\"td\">M001</td>\n    <td class=\"td\">.01</td>\n    <td class=\"td\">$5.01, $10.01, $50.01</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Closed Debtor Account Number</td>\n    <td class=\"td\">M003</td>\n    <td class=\"td\">.03</td>\n    <td class=\"td\">$5.03, $10.03, $50.03</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Blocked Account</td>\n    <td class=\"td\">M004</td>\n    <td class=\"td\">.04</td>\n    <td class=\"td\">$5.04, $10.04, $50.04</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Invalid Debtor Account Type</td>\n    <td class=\"td\">M005</td>\n    <td class=\"td\">.05</td>\n    <td class=\"td\">$5.05, $10.05, $50.05</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Transaction Forbidden</td>\n    <td class=\"td\">M006</td>\n    <td class=\"td\">.06</td>\n    <td class=\"td\">$5.06, $10.06, $50.06</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Transaction Not Supported</td>\n    <td class=\"td\">M007</td>\n    <td class=\"td\">.07</td>\n    <td class=\"td\">$5.07, $10.07, $50.07</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Not Allowed Currency</td>\n    <td class=\"td\">M008</td>\n    <td class=\"td\">.08</td>\n    <td class=\"td\">$5.08, $10.08, $50.08</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Invalid Amount</td>\n    <td class=\"td\">M009</td>\n    <td class=\"td\">.09</td>\n    <td class=\"td\">$5.09, $10.09, $50.09</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Amount Exceeds Agreed Limit</td>\n    <td class=\"td\">M010</td>\n    <td class=\"td\">.10</td>\n    <td class=\"td\">$5.10, $10.10, $50.10</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">No Mandate Service On Customer</td>\n    <td class=\"td\">M018</td>\n    <td class=\"td\">.18</td>\n    <td class=\"td\">$5.18, $10.18, $50.18</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Mandate Cancelled Due To Fraud</td>\n    <td class=\"td\">M022</td>\n    <td class=\"td\">.22</td>\n    <td class=\"td\">$5.22, $10.22, $50.22</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">No Answer From Customer</td>\n    <td class=\"td\">M027</td>\n    <td class=\"td\">.27</td>\n    <td class=\"td\">$5.27, $10.27, $50.27</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Regulatory Reason</td>\n    <td class=\"td\">M028</td>\n    <td class=\"td\">.28</td>\n    <td class=\"td\">$5.28, $10.28, $50.28</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Creditor not on Whitelist of Debtor</td>\n    <td class=\"td\">M030</td>\n    <td class=\"td\">.30</td>\n    <td class=\"td\">$5.30, $10.30, $50.30</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Creditor on Blacklist of Debtor</td>\n    <td class=\"td\">M031</td>\n    <td class=\"td\">.31</td>\n    <td class=\"td\">$5.31, $10.31, $50.31</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n  <tr>\n    <td class=\"td\">Unknown end Customer</td>\n    <td class=\"td\">M032</td>\n    <td class=\"td\">.32</td>\n    <td class=\"td\">$5.32, $10.32, $50.32</td>\n    <td class=\"td\">Decline</td>\n  </tr>\n</table>\n\n\n<br/>\n\nIn addition to a sample request, the scheme for each endpoint and associated data tables are in the appendix at the end of this document.\n\nTo try out our API, you can use a client such as [Postman](https://www.getpostman.com).\n\nYou can download a postman collection of our API by clicking the link below:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/19891519-fccdc471-7f26-4f4c-bba7-4e0dda5ab9e3?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D19891519-fccdc471-7f26-4f4c-bba7-4e0dda5ab9e3%26entityType%3Dcollection%26workspaceId%3D0a304f49-2e6e-4498-8d43-3b68ee26aee6)\n\n**Note:** Please note we do not accept TLS 1.0 or 1.1 connections\n"
  version: v1
  title: Monoova PayTo PayTo Async API
  contact:
    name: Monoova Support
    email: support@monoova.com
    url: https://www.monoova.com
  x-logo:
    url: https://movdpwebsiteprodae.blob.core.windows.net/images/Monoova-Primary-Logo-Black-RGB.png
    altText: Monoova logo
servers:
- url: https://api.monoova.com
  description: Production URL#
- url: https://sand-api.monoova.com
  description: Sandbox URL
security:
- BearerAuth: []
tags:
- name: PayTo Async API
  description: "The `AsyncResponse` is used in operations where the request is accepted, but the processing is not immediate. This response format provides information for tracking and checking the request status.\n\nThis API adheres to the Microsoft [async-request-reply pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/async-request-reply), ensuring efficient handling of non-immediate requests.\n\nFeaturing high throughput and generous rate limits, this API is optimal for bulk operations, allowing for the efficient processing of larger datasets.\n\n</br>\n\n### HTTP Status Code\n\n- **202 Accepted**:\n  - *Description*: Indicates that the request has been accepted for processing but has not been completed.\n\n### HTTP Headers\n\n- **Location**:\n  - *Description*: Provides the URL where the client can check the status of the asynchronous operation. Clients should periodically poll this URL to retrieve the final result of the request.\n  - *Example*: `https://sand-api.monoova.com/...`\n\n- **Retry-After**:\n  - *Description*: Suggests the number of seconds the client should wait before polling the Location URL again. This helps manage server load by preventing requests that are too frequent.\n  - *Example*: `10`\n"
paths:
  /au/payto/pam-v1/PaymentAgreementAsync/Request/{uniqueRequestId}:
    get:
      tags:
      - PayTo Async API
      summary: Get Async Payment Agreement Request Status
      description: 'Queries the status of an asynchronous API request for creating a payment agreement. This endpoint requires the {uniqueRequestId} returned by the original Async API call. There is no request body.

        '
      operationId: get-async-paymentagreement-status
      parameters:
      - name: uniqueRequestId
        in: path
        required: true
        schema:
          type: string
          description: Unique identifier returned by the original Async API call.
          example: 4834dba5-27b0-465c-aea7-aa530315c68c
      responses:
        '200':
          description: Request is still processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PendingAgreementAsyncResponse'
        '201':
          description: Successful completion. The Location header contains the URL for the updated resource/document.
          headers:
            Location:
              schema:
                type: string
              description: URL to be polled for the updated resource/document.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessAgreementAsyncResponse'
        '400':
          description: Invalid status request.
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '422':
          description: Background job has failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncMandateRequestFailedResponse'
  /au/payto/pas-v1/PaymentInstructionAsync/Request/{uniqueRequestId}:
    get:
      tags:
      - PayTo Async API
      summary: Get Async Payment Instruction Request Status
      description: 'Queries the status of an asynchronous API request, such as "Initiate Payment Async". This endpoint requires the {uniqueRequestId} returned by the original Async API call. No request body is needed.

        '
      operationId: get-async-paymentinitiation-status
      parameters:
      - name: uniqueRequestId
        in: path
        required: true
        schema:
          type: string
          description: Unique identifier returned by the original Async API call.
          example: 4834dba5-27b0-465c-aea7-aa530315c68c
      responses:
        '200':
          description: Request is still processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PendingInitiationAsyncResponse'
        '201':
          description: Successful completion. Location header contains the URL for the updated resource/document.
          headers:
            Location:
              schema:
                type: string
              description: URL to be polled for the updated resource/document.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessInitiationAsyncResponse'
        '400':
          description: Invalid status request.
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '422':
          description: Background job has failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncInitiationRequestFailedResponse'
  /au/payto/pam-v1/PaymentAgreementAsync:
    post:
      tags:
      - PayTo Async API
      summary: Create a Payment Agreement Async
      description: 'The purpose of this endpoint is to asynchronously create a payment agreement. The API returns as soon as the creation request has been captured and validated for background processing.


        The async API follows the Microsoft [async-request-reply pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/async-request-reply).


        Following a successful call, the status of the background request can be monitored using [Get Async Request Status (Payment Instruction)](#tag/PayTo-Async-API/operation/get-async-paymentagreement-status) or by subscription to the [AsyncJobResultNotification](#tag/Webhooks/operation/AsyncRequestNotification) webhook.


        The background request will complete when the payment agreement is either:

        - Created (Note: This does not necessarily mean the payment agreement has been activated.)

        - Failing with a non-recoverable error (retries will occur for transient errors such as timeouts)

        - Timed out on retries (set to 4 days).


        After request completion, the status of the payment agreement can be determined by calling [Get Payment Agreement by UniqueId](#tag/Reporting/operation/get-paymentagreement-id) or by subscription to the [PaymentAgreementNotification](#tag/Webhooks/operation/PaymentAgreementNotification) webhook.

        The request payload and business rules/validations are identical to the synchronous API.

        '
      operationId: post-paymentagreement-async
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentAgreementDto'
      responses:
        '202':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncGenericResponse'
        '400':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '403':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '404':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '500':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '502':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '504':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
  /au/payto/pas-v1/PaymentInstructionAsync:
    post:
      tags:
      - PayTo Async API
      summary: Create Payment Instruction Async
      description: 'The purpose of this endpoint is to asynchronously create a payment instruction. The API returns as soon as the creation request has been captured and validated for background processing.


        The async API follows the Microsoft [async-request-reply pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/async-request-reply).


        Following a successful call, the status of the background request can be monitored using the [Get Async Request Status (Payment Instruction)](#tag/PayTo-Async-API/operation/get-async-paymentinitiation-status) endpoint or by subscription to the [AsyncJobResultNotification](#tag/Webhooks/operation/AsyncRequestNotification) webhook.


        The background request will complete when the payment instruction is either:

        - Created (This does not necessarily mean the payment has already been finalized).

        - Failing with a non-recoverable error. The background request will do retries for transient errors such as timeouts.

        - Timed out on retries (set to 4 days).


        After request completion, the status of the payment can be determined by calling [Get Payment Instruction By UniqueId](#tag/Reporting/operation/get-paymentinstruction-paymentinitiationid) or by subscription to the [Get Payment Instruction By UniqueId](#tag/Webhooks/operation/PaymentInstructionStatusNotification) webhook.


        The request payload and business rules/validations are identical to the synchronous API.

        '
      operationId: post-async-paymentinstruction
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateMandatePaymentDto'
            example:
              paymentAgreementUID: BCORP123456
              paymentInitiationUID: BCORP00000001
              paymentDetails:
                amount: 1.0
                lodgementReference: BCorp PIR 001
      responses:
        '202':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncGenericResponse'
        '400':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '403':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '404':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '500':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '502':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '504':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
  /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/unilateral:
    patch:
      tags:
      - PayTo Async API
      summary: Unilateral Amendment Async
      description: 'The purpose of this endpoint is to asynchronously amend a payment agreement that does not require approval from the Payer.  The API returns as soon as the amend request has been captured and validated for background processing.

        The request payload and business rules/validations are identical to the synchronous API.'
      operationId: patch-async-paymentagreement-id-unilateral
      parameters:
      - name: paymentAgreementUID
        in: path
        required: true
        schema:
          type:
          - string
          - 'null'
          description: Id to uniquely Identify a payment agreement.
          maxLength: 35
          pattern: ^[A-Za-z0-9_-]
          example: MONPAG12345
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AmendUnilateralDetailsDto'
            example:
              description: payroll pag1
              shortDescription: payroll pag1
              payeeDetails:
                payeeType: ORGN
                payeeLinkedBsb: 802980
                payeeLinkedAccount: 33333333
                payeeLinkedPayId: abc@gmail.com
                payeeLinkedPayIdType: EMAIL
                payeeAccountName: PayCo
                ultimatePayee: PayCo
      responses:
        '202':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncGenericResponse'
        '400':
          description: Error
          content:
            application/json:
              example:
                traceId: b008558d-b6df-4935-b2aa-39b2f8d467be
                errors:
                - errorCode: PAM_BR_AMEND_FORBIDDEN
                  errorMessage: Can only amend payment agreement in active or paused status
        '403':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '404':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '500':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '502':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '504':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
  /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/bilateral:
    patch:
      tags:
      - PayTo Async API
      summary: Bilateral Amendment Async
      operationId: patch-async-paymentagreement-id-bilateral
      description: 'The purpose of this endpoint is to asynchronously amend a payment agreement which requires approval from the Payer. Changes made using this end point will only get reflected after payer approves the change.  The API returns as soon as the amend request has been captured and validated for background processing.

        The request payload and business rules/validations are identical to the synchronous API.'
      parameters:
      - name: paymentAgreementUID
        in: path
        required: true
        schema:
          description: Id to uniquely Identify a payment agreement.
          maxLength: 35
          pattern: ^[A-Za-z0-9_-]
          example: MONPAG12345
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmendBilateralDetailsDto'
      responses:
        '202':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncGenericResponse'
        '400':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '403':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '404':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '500':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '502':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '504':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
  /au/payto/pam-v1/PaymentAgreementAsync/{paymentAgreementUID}/status:
    patch:
      tags:
      - PayTo Async API
      summary: Amend Payment Agreement Status Async
      description: 'This endpoint allows the initiator to change the status of a payment agreement. Available statuses are active, pause or cancel.  The API returns as soon as the amend request has been captured and validated for background processing.

        The request payload and business rules/validations are identical to the synchronous API.'
      operationId: patch-async-paymentagreement-id-status
      parameters:
      - name: paymentAgreementUID
        in: path
        required: true
        schema:
          type:
          - string
          - 'null'
          description: Id to uniquely Identify a payment agreement.
          maxLength: 35
          pattern: ^[A-Za-z0-9_-]
          example: MONPAG12345
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmendPaymentAgreementStatusDto'
            example:
              statusChange: pause
              reasonCode: AC02
              reasonDescription: Amend mandate status
      responses:
        '202':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncGenericResponse'
        '400':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '403':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '404':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '500':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '502':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152
                errors:
                - errorCode: string
                  errorMessage: string
        '504':
          description: Error
          content:
            application/json:
              example:
                traceId: f1a7fbd7-ca39-4b98-b247-f4e

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/monoova/refs/heads/main/openapi/monoova-payto-async-api-api-openapi.yml