{
  "openapi": "3.0.3",
  "info": {
    "version": "29.1.1",
    "title": "Electrum Regulated Payments API",
    "description": "The Electrum Regulated Payments API is an asynchronous API that allows partners to participate in various nationally\nregulated payment schemes.\n\nThis document describes the operations exposed _by_ Electrum _for_ partners to consume in order to initiate outbound\nor respond to inbound payments.\n\nAs the Regulated Payments API is asynchronous, partners have a choice of how to integrate with Electrum:\n- Webhooks: Electrum will send events to the partner containing inbound payments to action, or responses to\n  outbound payment requests. Webhooks are defined in _this_ document.\n- Partner API: Electrum will call operations exposed by the partner containing inbound payments to action, or responses to\n  outbound payment requests. The operations are defined in the _Electrum Regulated Payments Partner API_.\n\nReceiving transactional events via webhooks or API are equivalent, except that it may be more familiar or convenient\nto implement one style or the other. Partners may request the method of communication Electrum should use when\nselecting which payment schemes to participate in.\n",
    "contact": {
      "name": "Electrum Support",
      "email": "support@electrum.co.za",
      "url": "https://electrum.co.za"
    },
    "x-logo": {
      "url": "https://electrumpayments.github.io/qr-payment-service-interface-docs/images/logo-small.png"
    },
    "license": {
      "name": "proprietary",
      "url": "https://www.electrum.co.za"
    }
  },
  "servers": [
    {
      "url": "https://example.com/path/payments/api/v1",
      "description": "Payments API sandbox"
    }
  ],
  "tags": [
    {
      "name": "transactional",
      "description": "Operations that participate in transaction processing, which may or may not have financial impact."
    },
    {
      "name": "financial",
      "description": "Operations that participate in transaction processing and have financial impact."
    },
    {
      "name": "credit-transfer",
      "description": "Operations related to credit transfer transactions."
    },
    {
      "name": "direct-debit",
      "description": "Operations related to direct debit transactions."
    },
    {
      "name": "payment-return",
      "description": "Operations related to payment returns."
    },
    {
      "name": "account-management",
      "description": "Operations that involve customer account information."
    },
    {
      "name": "proxy",
      "description": "Operations that involve the management or processing of proxies"
    },
    {
      "name": "scheme-inquiry",
      "description": "Operations that are related to retrieving information from industry for a particular scheme."
    },
    {
      "name": "identifier-determination",
      "description": "Operations used to retrieve additional information related to an identifier"
    },
    {
      "name": "identifier-verification",
      "description": "Operations used to verify information relating to an account identifier"
    },
    {
      "name": "request-to-pay",
      "description": "Operations which pertain to a request for payment from a creditor to a debtor"
    },
    {
      "name": "funds-management",
      "description": "Operations related to the management of funds, including reservations, postings, and voiding of reservations."
    },
    {
      "name": "refund",
      "description": "Operations related to the refund of a prior successful financial transaction."
    },
    {
      "name": "risk-assessment",
      "description": "Operations related to the assessment and identification of risk in transactions."
    },
    {
      "name": "fraud-assessment",
      "description": "Operations related to the processing of fraud assessments for payment transactions."
    },
    {
      "name": "sanctions-assessment",
      "description": "Operations related to the processing of sanctions assessment for payment transactions."
    },
    {
      "name": "mandate-management",
      "description": "Operations related to the lifecycle management of direct debit mandates."
    }
  ],
  "paths": {
    "/health": {
      "get": {
        "summary": "Do a system health check",
        "tags": [
          "operational"
        ],
        "description": "This **synchronous** operation reports on the overall health of the system.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✓\nZA_AC  | ✓\nZA_AVS | ✓\nZA_CDV | ✓\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "healthCheck",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthReport"
                },
                "examples": {
                  "Healthy": {
                    "$ref": "#/components/examples/Healthy"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)"
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)"
          }
        }
      }
    },
    "/transactions/outbound/credit-transfer": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer",
          "financial"
        ],
        "summary": "Perform a customer credit transfer against a scheme",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundCreditTransferResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/outboundcredittransferresponse).\n\nInstructs Electrum to execute an outbound FI-to-FI-customer credit transfer transaction that will credit funds to a beneficiary\nwho is a customer at another financial institution, using the indicated scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✓\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "outboundCreditTransfer",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditTransfer"
              },
              "examples": {
                "RPP": {
                  "$ref": "#/components/examples/OutboundCreditTransferRPP"
                },
                "EFT": {
                  "$ref": "#/components/examples/OutboundCreditTransferEFT"
                },
                "CBPR+": {
                  "$ref": "#/components/examples/OutboundCreditTransferCBPR"
                },
                "TCIB-FI-to-FI": {
                  "$ref": "#/components/examples/TCIBOutboundCreditTransfer"
                },
                "TCIB-to-MNO": {
                  "$ref": "#/components/examples/TCIBOutboundCreditTransferToMobile"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/fi-to-fi-credit-transfer": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer",
          "financial"
        ],
        "summary": "Perform a credit transfer against a scheme to move funds from the debtor financial institution to a creditor financial institution",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundFiToFiCreditTransferResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/outboundfitoficredittransferresponse).\n\nInstructs Electrum to execute an outbound FI-to-FI credit transfer transaction that will credit \nfunds to a financial institution, using the indicated scheme.\n\nTo credit funds to a customer at a financial institution, see [outboundCreditTransfer](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/credit-transfer/outboundcredittransfer)\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundFiToFiCreditTransfer",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FiToFiCreditTransfer"
              },
              "examples": {
                "CBPR+": {
                  "$ref": "#/components/examples/OutboundFiToFiCreditTransferCBPR"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/bulk/credit-transfer": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer",
          "financial",
          "bulk"
        ],
        "summary": "Perform a 'bulk' credit transfer initiation against a scheme",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundBulkCreditTransferResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkcredittransferresponse).\n\nInstructs Electrum to execute multiple outbound credit transfer transactions that will credit funds to different beneficiaries at\nother financial institutions or the partner bank using the indicated scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "outboundBulkCreditTransfer",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditTransferInitiation"
              },
              "examples": {
                "RPP": {
                  "$ref": "#/components/examples/OutboundBulkCreditTransferRPP"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/credit-transfer/status-request": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer"
        ],
        "summary": "Retrieve information about an outbound credit transfer",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundCreditTransferResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/outboundcredittransferresponse)\nin the case of an FI-to-FI-customer credit transfer, or the [outboundFiToFiCreditTransferResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/outboundfitoficredittransferresponse)\nin the case of an FI-to-FI credit transfer.\n\nA query for information about a previously submitted outbound credit transfer. This operation may\nbe called at any time by the partner in order to query the state of the outbound transfer. If\nacknowledged by the server, the current status of the transaction will be communicated to the\npartner via the `outboundCreditTransferResponse` or `outboundFiToFiCreditTransferResponse` operation of the \nPartner API as appropriate.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✓\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "getOutboundCreditTransferStatus",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditTransferStatusRequest"
              },
              "examples": {
                "StatusRequest": {
                  "$ref": "#/components/examples/CreditTransferStatusRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the original transaction cannot be found. Subsequent requests for the transaction status may elicit\neither an HTTP 202 or HTTP 409 response if a `outboundCreditTransfer` operation is submitted later with matching identifiers.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "409": {
            "description": "Conflict. [RFC9110 - 409](https://www.rfc-editor.org/rfc/rfc9110#name-409-conflict)\n\nIndicates that the original `outboundCreditTransfer` operation was negatively acknowledged for some reason. The body of the\nresponse will echo the HTTP status and `ErrorDetail` of the original negative acknowledgement.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginalErrorResponse"
                },
                "examples": {
                  "StatusRequest": {
                    "$ref": "#/components/examples/OriginalErrorResponseBadRequest"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/payment-cancellation": {
      "post": {
        "tags": [
          "transactional",
          "financial"
        ],
        "summary": "Request the cancellation of a prior payment instruction",
        "description": "This operation is invoked by the partner to request the cancellation of a prior payment instruction such as a `direct-debit` or `credit-transfer`.\n\nThis operation is **asynchronous**. \nFor `ZA_AC` cancellations of type `SYSTEM_ERROR_CORRECTION_REQUEST` a successful correction should \nresult in the initiation of a financial [payment return](https://docs.electrumsoftware.com/openapi/elpapi/elpapi-partner/transactional/inboundpaymentreturn).\n\nOtherwise, the result of the payment cancellation is delivered back to the partner by invoking the\n[outboundPaymentCancellationResolution operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/transactional/outboundpaymentcancellationresolution)\nwhich conveys the outcome of payment cancellation request.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundPaymentCancellation",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FiToFiPaymentCancellationRequest"
              },
              "examples": {
                "FiToFiPaymentCancellationRequest": {
                  "$ref": "#/components/examples/FiToFiPaymentCancellationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/bulk/credit-transfer/status-request": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer",
          "bulk"
        ],
        "summary": "Retrieve information about an outbound bulk credit transfer initiation",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundBulkCreditTransferResponse operation]\n(https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkcredittransferresponse).\n\nA query for information about a previously submitted outbound bulk credit transfer initiation. This operation may\nbe called at any time by the partner in order to query the state of the outbound request. If\nacknowledged by the server, the current status of the 'bulk' will be communicated to the\npartner via the `outboundBulkCreditTransferResponse` operation of the Partner API.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "getOutboundBulkCreditTransferStatus",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditTransferInitiationStatusRequest"
              },
              "examples": {
                "BulkStatusRequest": {
                  "$ref": "#/components/examples/BulkCreditTransferStatusRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the original initiation cannot be found. Subsequent requests for the initiation status may elicit\neither an HTTP 202 or HTTP 409 response if a `outboundBulkCreditTransfer` operation is submitted later with matching identifiers.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "409": {
            "description": "Conflict. [RFC9110 - 409](https://www.rfc-editor.org/rfc/rfc9110#name-409-conflict)\n\nIndicates that the original `outboundBulkCreditTransfer` operation was negatively acknowledged for some reason. The body of the\nresponse will echo the HTTP status and `ErrorDetail` of the original negative acknowledgement.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginalErrorResponse"
                },
                "examples": {
                  "BulkStatusRequest": {
                    "$ref": "#/components/examples/OriginalErrorResponseBadRequest"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/credit-transfer-response": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer"
        ],
        "summary": "Respond to an inbound customer credit transfer request",
        "description": "This operation is **asynchronous**. It starts with the [inboundCreditTransfer operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/inboundcredittransfer).\n\nInvoked when a response to a FI-to-FI-customer credit transfer is available. The response will indicate the success or failure of\nthe inbound credit transfer.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✓\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "inboundCreditTransferResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatusReport"
              },
              "examples": {
                "EFT_APPROVED": {
                  "$ref": "#/components/examples/PaymentStatusReportApprovedEFT"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated request transaction cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/credit-transfer-authorisation-response": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer"
        ],
        "summary": "Respond to an inbound customer credit transfer authorisation request",
        "description": "This operation is **asynchronous**. It starts with the [inboundCreditTransferAuthorisation operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/inboundcredittransferauthorisation).\n\nThis operation is called by partners to provide a response approving or declining an inbound FI-to-FI-customer credit transfer\nauthorisation request that Electrum made earlier. For declined authorisations, no further action is taken.\nFor approved authorisations, Electrum will respond with a final callback indicating the successful completion\nof the credit transfer. For declined authorisations, no subsequent response is sent.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "inboundCreditTransferAuthorisationResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatusReport"
              },
              "examples": {
                "RTC_APPROVED": {
                  "$ref": "#/components/examples/PaymentStatusReportInboundRtcApproved"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated request transaction cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/payment-cancellation-resolution": {
      "post": {
        "tags": [
          "financial",
          "transactional"
        ],
        "summary": "Send the response to an inbound payment cancellation request",
        "description": "This operation is **asynchronous**. It starts with the [inboundPaymentCancellation operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/transactional/inboundpaymentcancellation).\n\nThis operation begins with Electrum sending a request to cancel a prior payment instruction such as  a `direct-debit` or `credit-transfer`.\nThe partner will invoke this operation to deliver a `ResolutionOfInvestigation` which contains the resolution outcome of the payment cancellation request.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "inboundPaymentCancellationResolution",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolutionOfInvestigation"
              },
              "examples": {
                "ResolutionOfInvestigation": {
                  "$ref": "#/components/examples/ResolutionOfInvestigation_PaymentCancellation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/credit-transfer/status-request": {
      "post": {
        "tags": [
          "transactional",
          "credit-transfer"
        ],
        "summary": "Retrieve information about an inbound credit transfer",
        "description": "This operation is **asynchronous**. It is responded to by the [inboundCreditTransferCompletion operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/inboundcredittransfercompletion).\n\nA query for information about a previously authorised inbound credit transfer. This operation may\nbe called at any time by the partner in order to query the state of the inbound transfer. If\nacknowledged by the server, the current status of the transaction will be communicated to the\npartner via the `inboundCreditTransferCompletion` operation of the Partner API.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✓\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "getInboundCreditTransferStatus",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditTransferStatusRequest"
              },
              "examples": {
                "StatusRequest": {
                  "$ref": "#/components/examples/CreditTransferStatusRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the original transaction cannot be found. Subsequent requests for the transaction status may elicit\neither an HTTP 202 or HTTP 409 response if a `inboundCreditTransfer` operation is submitted later with matching identifiers.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "409": {
            "description": "Conflict. [RFC9110 - 409](https://www.rfc-editor.org/rfc/rfc9110#name-409-conflict)\n\nIndicates that the original `inboundCreditTransferAuthorisation` operation was negatively acknowledged for some reason.\nThe body of the response will echo the HTTP status and `ErrorDetail` of the original negative acknowledgement.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginalErrorResponse"
                },
                "examples": {
                  "StatusRequest": {
                    "$ref": "#/components/examples/OriginalErrorResponseBadRequest"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/direct-debit": {
      "post": {
        "tags": [
          "transactional",
          "direct-debit",
          "financial"
        ],
        "summary": "Perform a customer direct debit against a scheme",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundDirectDebitResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/direct-debit/outbounddirectdebitresponse).\n\nInstructs Electrum to execute an outbound FI-to-FI-customer direct debit transaction that will debit funds from a debtor\nat another financial institution using the indicated scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundDirectDebit",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectDebit"
              },
              "examples": {
                "EFT": {
                  "$ref": "#/components/examples/OutboundDirectDebitEFT"
                },
                "AC": {
                  "$ref": "#/components/examples/OutboundDirectDebitAC"
                },
                "AC_EMERGENCY": {
                  "$ref": "#/components/examples/OutboundDirectDebitACEmergencyCollection"
                },
                "RMS": {
                  "$ref": "#/components/examples/OutboundDirectDebitRMS"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/direct-debit-response": {
      "post": {
        "summary": "Respond to an inbound customer direct debit request",
        "tags": [
          "transactional",
          "direct-debit",
          "financial"
        ],
        "description": "This operation is **asynchronous**. It starts with the [inboundDirectDebit operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/direct-debit/inbounddirectdebit).\n\nInvoked when a response to an FI-to-FI-customer direct debit is available. The response will indicate the success or failure of the\ninbound customer direct debit.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "inboundDirectDebitResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatusReport"
              },
              "examples": {
                "EFT_APPROVED": {
                  "$ref": "#/components/examples/PaymentStatusReportApprovedEFT"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/payment-return-response": {
      "post": {
        "tags": [
          "transactional",
          "payment-return",
          "financial"
        ],
        "summary": "Respond to an inbound return for an earlier outbound customer direct debit or customer credit transfer",
        "description": "This operation is **asynchronous**. It starts with the [inboundPaymentReturn operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/payment-return/inboundpaymentreturn).\n\nThis operation is called by partners to provide a response to an inbound payment return for an earlier outbound\nFI-to-FI-customer credit transfer or FI-to-FI-customer direct debit. Note that some payment schemes may not support rejecting the return.\nIn these cases, a rejected response will cause Electrum to mark the transaction as broken.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✓\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "inboundPaymentReturnResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatusReport"
              },
              "examples": {
                "EFT": {
                  "$ref": "#/components/examples/PaymentStatusReportApprovedEFT"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/payment-return": {
      "post": {
        "tags": [
          "transactional",
          "payment-return",
          "financial"
        ],
        "summary": "Perform an outbound return for an earlier inbound customer direct debit or customer credit transfer",
        "description": "This operation is **asynchronous**. It is responded to by the [outboundPaymentReturnResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/payment-return/outboundpaymentreturnresponse).\n\nInstructs Electrum to execute a return transaction that will return funds to the debtor of an earlier inbound\nFI-to-FI-customer direct debit or deduct funds from the creditor of an earlier inbound FI-to-FI-customer credit transfer.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✓\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundPaymentReturn",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentReturn"
              },
              "examples": {
                "EFT": {
                  "$ref": "#/components/examples/PaymentReturnEFT"
                },
                "TCIB": {
                  "$ref": "#/components/examples/TCIBOutboundPaymentReturn"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/request-to-pay": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "Request a payment to an account",
        "description": "Instructs Electrum to request an Industry Participant to credit an account at the partner.\nIf the debtor (i.e., the Industry Participant's customer) agrees, an [inboundCreditTransfer\noperation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/inboundcredittransfer)\nwill be performed to credit the account. If the Industry Participant or Industry Operator rejects the\nrequest, this will be communicated via an [outboundRequestToPayResponse\noperation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/outboundrequesttopayresponse).\n\nThe Industry scheme may provide a confirmation that the request for a payment _is to be presented_\nto a payer _prior_ to the payer accepting or rejecting the request for a payment. Where this is the\ncase, such a confirmation is communicated by way of an [outboundRequestToPayResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/outboundrequesttopayresponse).\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundRequestToPay",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPay"
              },
              "examples": {
                "RequestToPayExact": {
                  "$ref": "#/components/examples/RequestToPayExact"
                },
                "RequestToPayAnyAmount": {
                  "$ref": "#/components/examples/RequestToPayAnyAmount"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/request-to-pay-response": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "Response to a prior request to pay",
        "description": "Communicates the status of a prior request to pay initiated by a customer of another Industry Participant.\n\nAn `inboundRequestToPayResponse` may indicate that a request to pay,\nsent to the partner by Electrum, will be presented to the debtor (i.e.\nthe partner's customer), has already been paid or has failed for some\nreason. A new unsolicited `inboundRequestToPayResponse` may be received\nfor each status update of the request to pay.\n\nIf Electrum is unsure of the status of an `inboundRequestToPay`, an\n[inboundRequestToPayStatusRequest](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopaystatusrequest)\nmay be used to solicit an up-to-date `inboundRequestToPayResponse`.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "inboundRequestToPayResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayResponse"
              },
              "examples": {
                "RequestToPayResponsePresented": {
                  "$ref": "#/components/examples/RequestToPayResponsePresented"
                },
                "RequestToPayResponseCancelled": {
                  "$ref": "#/components/examples/RequestToPayResponseCancelled"
                },
                "RequestToPayResponseRejected": {
                  "$ref": "#/components/examples/RequestToPayResponseRejected"
                },
                "RequestToPayResponseExpired": {
                  "$ref": "#/components/examples/RequestToPayResponseExpired"
                },
                "RequestToPayResponsePaid": {
                  "$ref": "#/components/examples/RequestToPayResponsePaid"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/request-to-pay/cancellation-request": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "Cancel a prior request for a payment to an account",
        "description": "Instructs Electrum to notify an Industry Participant that a prior [outboundRequestToPay\noperation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/request-to-pay/outboundrequesttopay)\nshould be cancelled if it has not yet been completed. This does not\nguarantee a cancellation however as the requested payment may already have\nbeen paid or rejected or expired, etc. Whether the cancellation was successful or not is\ncommunicated via an [outboundRequestToPayCancellationResponse operation]\n(https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/outboundrequesttopaycancellationresponse).\nIf the cancellation was successful, the status will be `CANCELLED`. Otherwise the status will\nreflect the current status of the RTP.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundRequestToPayCancellationRequest",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayCancellation"
              },
              "examples": {
                "RequestToPayCancellation": {
                  "$ref": "#/components/examples/RequestToPayCancellation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/inbound/request-to-pay/cancellation-response": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "The outcome of a prior cancellation request",
        "description": "Communicates the outcome of a prior [inboundRequestToPayCancellationRequest operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopaycancellationrequest).\n\nAn [inboundRequestToPayCancellationRequest operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopaycancellationrequest)\nis not guaranteed to be successful. For example, if the associated [inboundRequestToPay](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopay)\nhas already been paid then it cannot be cancelled.\n\nNote too that if the associated [inboundRequestToPay](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopay)\nwas rejected or has already expired then the [inboundRequestToPayCancellationRequest operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopaycancellationrequest)\nwill be deemed to have failed despite the net result of no subsequent payment.\nThis is because the final status of the [inboundRequestToPay](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/inboundrequesttopay)\nwill be something other than a cancellation.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "inboundRequestToPayCancellationResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayCancellationResponse"
              },
              "examples": {
                "RequestToPayCancellationResponseCancelled": {
                  "$ref": "#/components/examples/RequestToPayCancellationResponseCancelled"
                },
                "RequestToPayCancellationResponseAlreadyPaid": {
                  "$ref": "#/components/examples/RequestToPayCancellationResponseAlreadyPaid"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/refund-initiation": {
      "post": {
        "tags": [
          "refund",
          "request-to-pay"
        ],
        "summary": "Initiate the processing of a refund which must relate to a prior successful financial transaction",
        "description": "This operation is *asynchronous*. It is responded to by the [outboundRefundInitiationResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/refund/outboundrefundinitiationresponse). \n\nInitiate the processing of a refund which must relate to a prior successful financial transaction. Non-financial transactions cannot be refunded. Movement of funds in the processing of the refund is in the opposite direction to the original financial transaction.\nRefunds are cleared according to the `RefundInitiationRequest.paymentScheme`. The prior successful financial transaction must be of the same payment scheme.\n\nRTP-Refunds:\nInstructs Electrum to attempt to perform a refund for a prior [outboundRequestToPay operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/request-to-pay/outboundrequesttopay)\nwhich was initiated by the Partner and paid by the recipient of the request-to-pay.\n\nThe original request-to-pay should be referenced through `RefundInitiationRequest.originalTransactionIdentifiers.uetr`.\nRefunds are processed as a new [outboundCreditTransfer](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/credit-transfer/outboundcredittransfer)\nwith Industry, using the new `RefundInitiationRequest.transactionIdentifiers.uetr`. Refunds are additionally subject to the same processing rules as other outbound financial payments.\nFor example, if the refund recipients' account is closed, the refund will be rejected.\n\nAn [outboundRefundInitiation operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/refund/outboundrefundinitiation)\nis not guaranteed to be successful. A `RefundInitiationRequest` is also subject to a number of \"refund\" validations before the refund request is accepted for processing, such as: \n- A matching original request-to-pay must be found, using the `RequestToPayRefundRequests.originalTransactionIdentifiers.uetr`.\n- Original request-to-pay must be in the `PAID` state, indicating the initiator of the request-to-pay has received funds.\n- If provided, the requested refund amount must be less than the paid amount from the original request-to-pay. If omitted, the original paid amount will be used.\n- If provided, the `DebtorAccount` values will be used when reserving funds for the new refund payment. If omitted, the `CreditorAccount` of the original payment will be used. \n\nNOTE: Refunds for inbound request-to-pays are not supported.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundRefundInitiation",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefundInitiationRequest"
              },
              "examples": {
                "RefundInitiationRequest": {
                  "$ref": "#/components/examples/RefundInitiationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/request-to-pay/status-request": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "Request the latest status of a prior request to pay",
        "description": "Requests the latest status of a prior [outboundRequestToPay operation]\n(https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/request-to-pay/outboundrequesttopay).\nIf Electrum knows the final status (e.g. it was cancelled, has expired\nor was paid or rejected), Electrum may report this without confirming\nthe latest status with an Industry Participant. If the last status observed by\nElectrum was a temporary status (e.g. it was presented to the payer but\nhas not yet been accepted or rejected or cancelled or expired),\nElectrum will request the latest status from the Industry Participant.\n\nThe requested status is communicated via an\n[outboundRequestToPayResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/outboundrequesttopayresponse).\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundRequestToPayStatusRequest",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayStatusRequest"
              },
              "examples": {
                "RequestToPayStatusRequest": {
                  "$ref": "#/components/examples/RequestToPayStatusRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/bulk/request-to-pay": {
      "post": {
        "tags": [
          "bulk",
          "transactional",
          "request-to-pay"
        ],
        "summary": "Perform a 'bulk' request to pay initiation against a scheme",
        "description": "This operation is **asynchronous**. It is responded to by the \n[outboundBulkRequestToPayResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkrequesttopayresponse).\n\nInstructs Electrum to request multiple Industry Participants to credit multiple accounts at the partner.\nIf the debtor associated with an RTP (i.e., the Industry Participant's customer) agrees, an [inboundCreditTransfer\noperation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/credit-transfer/inboundcredittransfer)\nwill be performed to credit the account associated with that RTP. If the Industry Participant or Industry Operator rejects the\nrequest, this will be communicated via an [outboundRequestToPayResponse\noperation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/request-to-pay/outboundrequesttopayresponse).\nThese responses will be sent via an async call with the operation \n[outboundBulkRequestToPayResponse](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkrequesttopayresponse).\n\nThe bulk status can be checked with the async request with operation \n[getOutboundBulkRequestToPayStatus](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-redoc/bulk/getoutboundbulkrequesttopaystatus).\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundBulkRequestToPay",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayInitiation"
              },
              "examples": {
                "RequestToPayStatusRequest": {
                  "$ref": "#/components/examples/RequestToPayInitiation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/outbound/bulk/request-to-pay/status-request": {
      "post": {
        "tags": [
          "bulk",
          "request-to-pay",
          "transactional"
        ],
        "summary": "Retrieve information about an outbound bulk request to pay initiation",
        "description": "This operation is **asynchronous**. It is responded to by the \n[outboundBulkRequestToPayResponse operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkrequesttopayresponse).\n\nA query for information about a previously submitted outbound bulk request to pay initiation. This operation may\nbe called at any time by the partner in order to query the state of the outbound request. If\nacknowledged by the server, the current status of the 'bulk' will be communicated to the\npartner via the `outboundBulkRequestToPayResponse` operation of the Partner API.\n\nThe requested status is communicated via an\n[outboundBulkRequestToPayResponse](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/bulk/outboundbulkrequesttopayresponse).\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "getOutboundBulkRequestToPayStatus",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayInitiationStatusRequest"
              },
              "examples": {
                "RequestToPayStatusRequest": {
                  "$ref": "#/components/examples/RequestToPayStatusRequest-2"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        }
      }
    },
    "/accounts": {
      "put": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Add or update a customer account record",
        "description": "This **synchronous** operation adds or updates a customer account record, when making use of Electrum account mirroring. Note\nthat the supplied `Account` details object must include the Account's `primaryIdentifier` (which is in fact\nmandatory in the `Account` object). If the supplied `primaryIdentifier` is known, it will be assumed that this\nis an update operation. If the supplied `primaryIdentifier` is not known, it will be assumed that this is an\ninsert operation.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. Note that the Electrum Account Mirror will overwrite stored information per the request sent. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "putCustomerAccount",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdateRequest"
              },
              "examples": {
                "UpdateRequest": {
                  "$ref": "#/components/examples/AccountUpdateRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/get": {
      "post": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Retrieve a customer account record",
        "description": "This **synchronous** operation retrieves the details of all accounts given an `accountId` when using the Electrum Account Mirror.\nThe `accountId` is one of the unique identifiers for an account (e.g. `GenericAccountIdentifier.value` or\n`MobileNumberIdentifier.value`).\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "getCustomerAccountWithPOST",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountIdentifier"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountLookupResponse"
                },
                "examples": {
                  "AccountLookupResponse": {
                    "$ref": "#/components/examples/AccountLookupResponseExample"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated account cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/delete": {
      "post": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Delete a customer account record",
        "description": "This **synchronous** operation deletes a customer account record from the Electrum account mirror. This is a\npermanent deletion.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "deleteCustomerAccountWithPOST",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountIdentifier"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No content. [RFC9110 - 204](https://www.rfc-editor.org/rfc/rfc9110#name-204-no-content)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated account cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/additional-identifiers": {
      "put": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Update a customer account record with an additional identifier",
        "description": "This **synchronous** operation adds an additional identifier to a customer's account record. It will not report an error if the additional identifier already exists.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAdds an additional identifier to a customer account record | Adds an additional identifier to a customer account record. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "updateCustomerAccountAddId",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAdditionalIdUpdateRequest"
              },
              "examples": {
                "InstitutionId": {
                  "$ref": "#/components/examples/AccountAdditionalIdUpdateRequestInst"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated request transaction cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/additional-identifiers/delete": {
      "post": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Delete an additional identifier for a customer account record",
        "description": "This **synchronous** operation deletes the provided additional identifier from the Electrum account mirror. This is\na permanent deletion. Note: this operation will report a failure if the provided `AccountIdentifier` is the only one\nassociated with the account as this would result in an account with no identifier.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. We recommend using the `PUT /accounts` operation instead. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "deleteCustomerAccountAddIdWithPOST",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountIdentifier"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No content. [RFC9110 - 204](https://www.rfc-editor.org/rfc/rfc9110#name-204-no-content)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n\nIndicates that the associated request transaction cannot be found.\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/schemes/registered-identifiers/register": {
      "post": {
        "tags": [
          "accounts",
          "proxy"
        ],
        "summary": "Register an account identifier externally with a scheme",
        "description": "This operation is **synchronous**.\n\nThis operation can be used to register an account identifier externally with a specific scheme (determined by the body of\nthe operation). This effectively makes the account that is associated with the registered account identifier\naddressable externally from the scheme.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. The Electrum Account Mirror will also automatically store scheme registration information for the identifier in question. | As per description. The Electrum Account Mirror *will not* store the scheme registration information. The client must subsequently use either the `PUT /accounts` or `PUT /accounts/additional-identifiers` to update the identifier scheme registration information within the Account Mirror. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "registerCustomerAccountAddIdWithScheme",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentifierSchemeRegistrationRequest"
              },
              "examples": {
                "IdentifierSchemeRegistrationRequest": {
                  "$ref": "#/components/examples/IdentifierSchemeRegistrationRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentifierSchemeRegistrationResponse"
                },
                "examples": {
                  "IdentifierSchemeRegistrationResponseAccepted": {
                    "$ref": "#/components/examples/IdentifierSchemeRegistrationResponseAccepted"
                  },
                  "IdentifierSchemeRegistrationResponseRejected": {
                    "$ref": "#/components/examples/IdentifierSchemeRegistrationResponseRejected"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/schemes/registered-identifiers/deregister": {
      "post": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Deregister an account identifier externally with a scheme",
        "description": "This **synchronous** operation deregisters an account identifier with a specific scheme. This effectively makes\nit impossible to address the account externally from the scheme.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "deregisterCustomerAccountAddIdWithScheme",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentifierSchemeDeregistrationRequest"
              },
              "examples": {
                "IdentifierSchemeDeregistrationRequest": {
                  "$ref": "#/components/examples/IdentifierSchemeDeregistrationRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentifierSchemeDeregistrationResponse"
                },
                "examples": {
                  "IdentifierSchemeRegistrationResponseAccepted": {
                    "$ref": "#/components/examples/IdentifierSchemeDeregistrationResponseAccepted"
                  },
                  "IdentifierSchemeRegistrationResponseRejected": {
                    "$ref": "#/components/examples/IdentifierSchemeDeregistrationResponseRejected"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/schemes/registered-identifiers/{registeredAccountId}": {
      "get": {
        "tags": [
          "account-management",
          "proxy"
        ],
        "summary": "Retrieve list of schemes where an account identifier is registered",
        "description": "This **synchronous** operation retrieves a set of schemes for which the provided account identifier is registered.\n\nBehaviour:\nElectrum Account Mirror as Primary source of proxy data | Electrum Account Mirror as Secondary source of proxy data | Electrum Account Mirror deactivated\n--- | --- | ---\nAs per description. | As per description. | Not allowed\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✓\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "getRegisteredSchemesForAccountId",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          },
          {
            "name": "registeredAccountId",
            "in": "path",
            "description": "The value of the account identifier for which schemes that it is registered against must be retrieved. This value *must* be URL encoded.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentifierSchemeRegistrations"
                },
                "examples": {
                  "IdentifierSchemeRegistrationsExample": {
                    "$ref": "#/components/examples/IdentifierSchemeRegistrationsExample"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 404](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)\n"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/schemes/inquiry": {
      "post": {
        "tags": [
          "scheme-inquiry"
        ],
        "summary": "Perform an inquiry on a particular scheme",
        "description": "This operation is **synchronous**.\n\nThe scheme inquiry operation can be called to perform an inquiry on some information relevant to the given\nscheme, typically for the purposes of retrieving administrative or operational information. For example, this\noperation would be used to retrieve a list of valid domains for the `ZA_RPP` scheme.\n\nIn this context, a partner sends Electrum an inquiry destined for a particular industry and scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "outboundSchemeInquiry",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchemeInquiryRequest"
              },
              "examples": {
                "ZaRppDomainListSchemeInquiry": {
                  "$ref": "#/components/examples/ZaRppDomainListSchemeInquiry"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchemeInquiryResponse"
                },
                "examples": {
                  "ZaRppListDomainsReport": {
                    "$ref": "#/components/examples/ZaRppListDomainsReport"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/identifiers/outbound/identifier-determination": {
      "post": {
        "tags": [
          "identifier-determination"
        ],
        "summary": "Request identifier information",
        "description": "This operation is **asynchronous**. The outcome of the request is delivered by the `outboundIdentifierDeterminationReport`\n[operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/identifier-determination/outboundidentifierdeterminationreport).\n\nThe outbound identifier determination operation can be called to resolve additional information about an identifier, for example\nto resolve a proxy.\n\nIn the context of an outbound payment, a partner sends Electrum an identifier determination inquiry. Electrum then performs whatever routing, orchestration and protocol translation is necessary to fulfil the request with the correct upstream party.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -------------------------------------------------------------------------------------------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✗          | N/A\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✓          | Proxy Resolution - Validate a proxy and return additional information for use in a subsequent credit transfer\nZA_RTC | ✗          | N/A\n",
        "operationId": "outboundIdentifierDetermination",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentifierDeterminationRequest"
              },
              "examples": {
                "ZA-RPP-Proxy-Resolution-Request": {
                  "$ref": "#/components/examples/ZaRppProxyResolutionIdentifierDeterminationRequest"
                },
                "ZA-RPP-Account-Resolution-Request": {
                  "$ref": "#/components/examples/ZaRppAccountResolutionIdentifierDeterminationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/identifiers/inbound/identifier-determination-report": {
      "post": {
        "tags": [
          "identifier-determination"
        ],
        "summary": "Deliver additional identifier information",
        "description": "This operation is **asynchronous**. It communicates the outcome of an `inboundIdentifierDetermination`\n[operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/identifier-determination/inboundidentifierdetermination).\n\nThe inbound identifier determination operation can be called to determine information related to an identifier, for example\nto resolve a proxy. This operation is the asynchronous response to that operation.\n\nIn the context of an inbound payment, the partner sends Electrum the outcome of an identifier determination which was previously\nforwarded to the partner for processing.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -------------------------------------------------------------------------------------------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✗          | N/A\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✓          | Proxy Resolution - Validate a proxy and return additional information for use in a subsequent credit transfer\nZA_RTC | ✗          | N/A\n",
        "operationId": "inboundIdentifierDeterminationReport",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentifierDeterminationResponse"
              },
              "examples": {
                "Successful-ZA-RPP-Proxy-Resolution-Response": {
                  "$ref": "#/components/examples/ZaRppProxyResolutionSuccessfulResponse"
                },
                "Unsuccessful-ZA-RPP-Proxy-Resolution-Response": {
                  "$ref": "#/components/examples/ZaRppProxyResolutionUnsuccessfulResponse"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/identifiers/outbound/identifier-determination-sync": {
      "post": {
        "tags": [
          "identifier-determination"
        ],
        "summary": "Request identifier information synchronously",
        "description": "This operation is **synchronous**.\n\nThe outbound identifier determination operation can be called to resolve additional information about an identifier, for example\nto resolve a proxy.\n\nIn the context of an outbound payment, a partner sends Electrum an identifier determination inquiry. Electrum then performs whatever routing, orchestration and protocol translation is necessary to fulfil the request with the correct upstream party.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -------------------------------------------------------------------------------------------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✗          | N/A\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✓          | Proxy Resolution - Validate a proxy and return additional information for use in a subsequent credit transfer\nZA_RTC | ✗          | N/A\n",
        "operationId": "outboundSynchronousIdentifierDetermination",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentifierDeterminationRequest"
              },
              "examples": {
                "ZA-RPP-Proxy-Resolution-Request": {
                  "$ref": "#/components/examples/ZaRppProxyResolutionIdentifierDeterminationRequest"
                },
                "ZA-RPP-Account-Resolution-Request": {
                  "$ref": "#/components/examples/ZaRppAccountResolutionIdentifierDeterminationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)\n\nNote that a response containing a 200 (OK) HTTP status does not necessarily mean that the response contains a positive outcome but rather that Electrum successfully processed the request and is providing a response. The functional outcome might still be a negative one (e.g. the identifier was not found). In the event that Electrum encounters a *technical* error when processing the request, the appropriate 4xx or 5xx response will be used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentifierDeterminationResponse"
                },
                "examples": {
                  "Successful-ZA-RPP-Proxy-Resolution-Response": {
                    "$ref": "#/components/examples/ZaRppProxyResolutionSuccessfulResponse"
                  },
                  "Unsuccessful-ZA-RPP-Proxy-Resolution-Response": {
                    "$ref": "#/components/examples/ZaRppProxyResolutionUnsuccessfulResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "409": {
            "description": "Conflict. [RFC9110 - 409](https://www.rfc-editor.org/rfc/rfc9110#name-409-conflict)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/identifiers/check-digit-verification": {
      "post": {
        "tags": [
          "identifier-verification"
        ],
        "summary": "Validate the check digit for the provided identifier",
        "description": "This **synchronous** operation is designed for identifier validation.\n\nThe Check Digit Verification (CDV) operation facilitates identifier validation through specific check digit algorithms. Notably, these algorithms may vary across Payment Systems. To distinguish between them, a verification scheme is employed. Presently, the supported scheme is 'ZA_CDV.'\n\nThis operation allows verification of the provided account number, bank identifier, and account type identifier against the provided verification scheme's check digit algorithm. It assesses the plausibility of these identifiers within the context of the chosen verification scheme.\n\nValidation Scheme | Applicable | Function Enabled\n----------------- | ---------- | -----------------------------------------------------------------------------------------------------------------------------------\nCBPR+             | ✗          | N/A\nTCIB              | ✗          | N/A\nZA_AC             | ✗          | N/A\nZA_AVS            | ✗          | N/A\nZA_CDV            | ✓          | South African Check Digit Verification - Check digit verification within the context of the South African National Payments System.\nZA_EFT            | ✗          | N/A\nZA_RMS            | ✗          | N/A\nZA_RPP            | ✗          | N/A\nZA_RTC            | ✗          | N/A\n",
        "operationId": "validateIdentifierUsingCheckDigit",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          },
          {
            "in": "query",
            "name": "verbose",
            "description": "Set to `true` to return detailed information about the check digit verification in the response.",
            "schema": {
              "type": "boolean"
            },
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckDigitVerificationRequest"
              },
              "examples": {
                "ZA_CDV": {
                  "$ref": "#/components/examples/ZaCdvCheckDigitVerificationRequestExample"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckDigitVerificationReport"
                },
                "examples": {
                  "ValidationPassed": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportPassedExample"
                  },
                  "ValidationFailed": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportFailedExample"
                  },
                  "ValidationSkipped": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportSkippedExample"
                  },
                  "ValidationVerbosePassed": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportVerbosePassedExample"
                  },
                  "ValidationVerboseFailed": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportVerboseFailedExample"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "BadRequest": {
                    "$ref": "#/components/examples/ErrorDetailBadRequest"
                  },
                  "ValidationVerboseError": {
                    "$ref": "#/components/examples/CheckDigitVerificationReportVerboseErrorExample"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/request-to-pay/get": {
      "post": {
        "tags": [
          "request-to-pay"
        ],
        "summary": "Get the details of a request to pay",
        "description": "This **synchronous** operation is designed for retrieving the details of\na request to pay.\n\nA request to pay has various properties which may need to be retrieved\nat the time the payment is to be made and the request to pay may also\ntransition through various states. At any time, this operation may be\nused to determine Electrum's latest view of the request to pay.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✗\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✓\nZA_RTC | ✗\n",
        "operationId": "getRequestToPayWithPOST",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestToPayStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestToPayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "404": {
            "description": "Not Found. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-404-not-found)"
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/inbound/account-verification-report": {
      "post": {
        "tags": [
          "account-verification"
        ],
        "summary": "Deliver account verification outcome.",
        "description": "This operation is **asynchronous**. It communicates the outcome of an `inboundAccountVerification`\n[operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/account-verification/inboundaccountverification).\n\nThe inbound account verification report operation can be called to deliver the outcome of a previously requested\naccount verification request.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -----------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✓          | Verifying account information\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✗          | N/A\nZA_RTC | ✗          | N/A\n",
        "operationId": "inboundAccountVerificationReport",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountVerificationResponse"
              },
              "examples": {
                "ZA-Account-Verification-Response": {
                  "$ref": "#/components/examples/ZaAccountVerificationResponse"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/outbound/account-verification": {
      "post": {
        "tags": [
          "account-verification"
        ],
        "summary": "Verify account information",
        "description": "This operation is **asynchronous**. The outcome of the request is delivered by the `outboundAccountVerificationReport`\n[operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/account-verification/outboundaccountverificationreport).\n\nThe outbound account verification operation can be called to verify whether information held by the caller regarding\nan account (store of value) is valid.\n\nIn the context of payments, this operation is often used prior to making payment, or loading a beneficiary to\na banking profile.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -----------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✓          | Verifying account information\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✗          | N/A\nZA_RTC | ✗          | N/A\n",
        "operationId": "outboundAccountVerification",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountVerificationRequest"
              },
              "examples": {
                "ZA-Account-Verification-Request": {
                  "$ref": "#/components/examples/ZaAccountVerificationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/outbound/account-verification-sync": {
      "post": {
        "tags": [
          "account-verification"
        ],
        "summary": "Verify account information synchronously",
        "description": "This operation is **synchronous**.\n\nThe outbound account verification operation can be called to verify whether information held by the caller regarding\nan account (store of value) is valid.\n\nIn the context of payments, this operation is often used prior to making payment, or loading a beneficiary to\na banking profile.\n\nScheme | Applicable | Function Enabled\n------ | ---------- | -----------------------------\nCBPR+  | ✗          | N/A\nTCIB   | ✗          | N/A\nZA_AC  | ✗          | N/A\nZA_AVS | ✓          | Verifying account information\nZA_CDV | ✗          | N/A\nZA_EFT | ✗          | N/A\nZA_RMS | ✗          | N/A\nZA_RPP | ✗          | N/A\nZA_RTC | ✗          | N/A\n",
        "operationId": "outboundSynchronousAccountVerification",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountVerificationRequest"
              },
              "examples": {
                "ZA-Account-Verification-Request": {
                  "$ref": "#/components/examples/ZaAccountVerificationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK. [RFC9110 - 200](https://www.rfc-editor.org/rfc/rfc9110#name-200-ok)\n\nNote that a response containing a 200 (OK) HTTP status does not necessarily mean that the response contains \na positive outcome but rather that Electrum successfully processed the request and is providing a response. \nThe functional outcome might still be a negative one (e.g. the information provided failed verification). \nIn the event that Electrum encounters a *technical* error when processing the request, the appropriate \n4xx or 5xx response will be used.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountVerificationResponse"
                },
                "examples": {
                  "ZA-Account-Verification-Response": {
                    "$ref": "#/components/examples/ZaAccountVerificationResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/funds-management/reservation-response": {
      "post": {
        "summary": "Deliver the response to a reservation request",
        "tags": [
          "funds-management"
        ],
        "description": "This operation is **asynchronous**. It starts with the [createReservation operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/funds-management/createreservation).\n\nInvoked when a response to a reservation is available. The response will indicate the success or failure of the reservation.\n\nFunds reservations are scheme agnostic and may be used in conjunction with any scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "createReservationResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Receipt"
              },
              "examples": {
                "ReservationApproved": {
                  "$ref": "#/components/examples/FundsManagementApprovedResponse"
                },
                "ReservationRejected": {
                  "$ref": "#/components/examples/FundsManagementRejectedResponse"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/funds-management/reservation/void-response": {
      "post": {
        "tags": [
          "funds-management"
        ],
        "summary": "Deliver the response to a reservation void request",
        "description": "This operation is **asynchronous**. It starts with the [voidReservation operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/funds-management/voidreservation).\n\nInvoked when a response to a reservation-void is available. It indicates the success or failure of the reservation void.\n\nFunds reservations are scheme agnostic and may be used in conjunction with any scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "voidReservationResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Receipt"
              },
              "examples": {
                "VoidReservationResponse": {
                  "$ref": "#/components/examples/VoidReservationResponse"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/funds-management/posting-response": {
      "post": {
        "tags": [
          "funds-management"
        ],
        "summary": "Deliver the response to a posting request",
        "description": "This operation is **asynchronous**. It starts with the [createPosting operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/funds-management/createposting).\n\nInvoked when a response to a posting is available. It indicates the success or failure of the posting.\n\nPostings are scheme agnostic and may be used in conjunction with any scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "createPostingResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Receipt"
              },
              "examples": {
                "PostingResponse": {
                  "$ref": "#/components/examples/PostingResponse"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/risk-assessment/fraud-assessment-report": {
      "post": {
        "tags": [
          "risk-assessment",
          "fraud-assessment"
        ],
        "summary": "Respond to a fraud assessment request.",
        "description": "This operation is **asynchronous**, and is a response to the [fraudAssessment operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/risk-assessment/fraudassessment).\n\nInvoked when a response to a fraud assessment request is available. The response will indicate the success, failure or ongoing nature of the fraud assessment request.\n\nFraud assessments are scheme agnostic and may be used in conjunction with any payment scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✓\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "fraudAssessmentResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FraudAssessmentReport"
              },
              "examples": {
                "FraudAssessmentReportPassed": {
                  "$ref": "#/components/examples/FraudAssessmentReportPassed"
                },
                "FraudAssessmentReportPending": {
                  "$ref": "#/components/examples/FraudAssessmentReportPending"
                },
                "FraudAssessmentReportFailed": {
                  "$ref": "#/components/examples/FraudAssessmentReportFailed"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/risk-assessment/sanctions-assessment-report": {
      "post": {
        "tags": [
          "risk-assessment",
          "sanctions-assessment"
        ],
        "summary": "Respond to a sanctions assessment request.",
        "description": "This operation is **asynchronous**, and is a response to the [sanctionsAssessment operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/risk-assessment/sanctionsassessment).\n\nInvoked when a response to a sanctions assessment request is available. The response will indicate the success, failure or ongoing nature of the sanctions assessment request.\n\nSanctions assessments are scheme agnostic and may be used in conjunction with any payment scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✓\nTCIB   | ✓\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✓\nZA_RMS | ✓\nZA_RPP | ✓\nZA_RTC | ✓\n",
        "operationId": "sanctionsAssessmentResponse",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SanctionsAssessmentReport"
              },
              "examples": {
                "SanctionsAssessmentReportAllowed": {
                  "$ref": "#/components/examples/SanctionsAssessmentReportAllowed"
                },
                "SanctionsAssessmentReportBlocked": {
                  "$ref": "#/components/examples/SanctionsAssessmentReportBlocked"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/initiation": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Initiate a new mandate request",
        "description": "This operation is **asynchronous**. The outcome is delivered via the \n[outboundMandateAcceptanceReport operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/outboundmandateccceptancereport).\n\nInstructs Electrum to send a mandate initiation request to the debtor's bank to establish a new\ndirect debit mandate. The debtor bank will authenticate the mandate with the debtor and respond with an\nacceptance or rejection. The debtor and creditor may be at the same bank.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundMandateInitiation",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateInitiationRequest"
              },
              "examples": {
                "AC_MANDATE_INITIATION": {
                  "$ref": "#/components/examples/MandateInitiationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/amendment": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Request an amendment to an existing mandate",
        "description": "This operation is **asynchronous**. The outcome is delivered via the \n[outboundMandateAcceptanceReport operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/outboundmandateccceptancereport).\n\nInstructs Electrum to send a mandate amendment request to the debtor's bank to modify the terms\nof an existing mandate. Depending on the type of amendment, the debtor may need to re-authenticate. The debtor \nbank will respond with an acceptance or rejection. The debtor and creditor may be at the same bank.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundMandateAmendment",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateAmendmentRequest"
              },
              "examples": {
                "AC_MANDATE_AMENDMENT": {
                  "$ref": "#/components/examples/MandateAmendmentRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/cancellation": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Request cancellation of an existing mandate",
        "description": "This operation is **asynchronous**. The outcome is delivered via the \n[outboundMandateAcceptanceReport operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/outboundmandateccceptancereport).\n\nInstructs Electrum to send a mandate cancellation request to the debtor's bank to terminate\nan existing mandate. The debtor and creditor may be at the same bank.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundMandateCancellation",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateCancellationRequest"
              },
              "examples": {
                "AC_MANDATE_CANCELLATION": {
                  "$ref": "#/components/examples/MandateCancellationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/suspension": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Request suspension of an existing mandate",
        "description": "This operation is **asynchronous**. The outcome is delivered via the \n[outboundMandateStatusReport operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/outboundMandateStatusReport).\n\nInstructs Electrum to send a mandate suspension request to the creditor's bank to suspend\nan existing mandate. The debtor and creditor may be at the same bank.\n\nIf a suspension request is sent by the client outside of a clearing house processing window for suspensions, \nthe suspension will be sent to the clearing house in the next processing window.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundMandateSuspension",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateSuspensionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "AC_MANDATE_SUSPENSION_REQUEST": {
                    "$ref": "#/components/examples/MandateSuspensionRequest"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/information-request": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Request information of an existing mandate",
        "description": "This operation initiates a Request for Mandate Information to retrieve the current status and details of a mandate from the authoritative Mandate Register.\n\nThis operation is **asynchronous**. The outcome is delivered via the \n[outboundMandateAcceptanceReport operation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/outboundmandateccceptancereport).\n\n**Usage :**\n1. **Creditor Verify (Interbank):** Instructs Electrum to send a request to the Debtor's Bank. This is used by a Creditor to verify that the Mandate Information stored on the Debtor Bank's register matches their records.\n2. **Debtor Inquiry (Hosted Store):** Used by the Debtor Bank to retrieve mandate details from the Mandate Store to fulfill a request from the Debtor. This is only supported when Electrum hosts the Mandate Store. \n\nThe debtor and creditor may be at the same bank.\n\n**Scheme Data Notes:**\n* `authenticationType` must be set to `NOT_APPLICABLE` — debtor authentication is not required for information requests.\n* `requestTransmissionNumber` should be set to `1` for the initial request.\n* `mandateRequestTransactionIdentifier` is optional — Electrum will generate a compliant MRTI if not provided.\n* `originalMessageInformation` is optional on the partner request — Electrum will populate it from the latest message recorded against the mandate before forwarding to the scheme.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "outboundMandateInformationRequest",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateInformationRequest"
              },
              "examples": {
                "AC_MANDATE_INFORMATION_REQUEST": {
                  "$ref": "#/components/examples/MandateInformationRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/outbound/status-report": {
      "post": {
        "operationId": "outboundMandateStatusReport",
        "summary": "Send a mandate status report relating to an outbound mandate maintenance operation",
        "tags": [
          "mandate-management"
        ],
        "description": "This operation is **asynchronous**.\n\nUse cases include:\n- Mandate management operation rejection (e.g. validation failure)\n- Acknowledgement of Mandate Acceptance Report\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerPaymentStatusReport"
              },
              "examples": {
                "AC_MANDATE_STATUS_REPORT_REJECTED": {
                  "$ref": "#/components/examples/CustomerPaymentStatusReportRejected"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/inbound/acceptance-report": {
      "post": {
        "tags": [
          "mandate-management"
        ],
        "summary": "Respond to an inbound mandate request",
        "description": "This operation is **asynchronous**. It is the response to inbound mandate operations:\n- [inboundMandateInitiation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/inboundmandateinitiation)\n- [inboundMandateAmendment](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/inboundmandateamendment)\n- [inboundMandateCancellation](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/inboundmandatecancellation)\n\nDelivers the acceptance or rejection of a mandate initiation, amendment or cancellation request\nreceived from a creditor bank. Also used when responding to a mandate information request.\n\nThe original request is referenced via the `originalMessageIdentifiers` field (from the base response message)\nand the `originalMessageInformation.messageNameIdentification` field indicates the type of the original request.\nThe debtor and creditor may be at the same bank.\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "operationId": "inboundMandateAcceptanceReport",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MandateAcceptanceReport"
              },
              "examples": {
                "AC_MANDATE_ACCEPTANCE_REPORT": {
                  "$ref": "#/components/examples/MandateAcceptanceReport"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mandates/inbound/status-report": {
      "post": {
        "operationId": "inboundMandateStatusReport",
        "summary": "Send a mandate status report relating to an inbound mandate maintenance operation",
        "tags": [
          "mandate-management"
        ],
        "description": "This operation is **asynchronous**.\n\nUse cases include:\n- Mandate maintenance acknowledgment (e.g., validation passed, debtor contacted)\n- Mandate maintenance rejection (validation failure)\n- To indicate whether a mandate suspension was accepted or rejected. Is also used to respond to the \n[inboundMandateSuspension](https://docs.electrumsoftware.com/openapi/elpapi-cicd/elpapi-partner-redoc/mandate-management/inboundmandatesuspension) operation\n\nScheme | Applicable\n------ | ----------\nCBPR+  | ✗\nTCIB   | ✗\nZA_AC  | ✓\nZA_AVS | ✗\nZA_CDV | ✗\nZA_EFT | ✗\nZA_RMS | ✗\nZA_RPP | ✗\nZA_RTC | ✗\n",
        "parameters": [
          {
            "in": "header",
            "name": "traceparent",
            "schema": {
              "$ref": "#/components/schemas/traceparent"
            }
          },
          {
            "in": "header",
            "name": "tracestate",
            "schema": {
              "$ref": "#/components/schemas/tracestate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerPaymentStatusReport"
              },
              "examples": {
                "AC_MANDATE_STATUS_REPORT_REJECTED": {
                  "$ref": "#/components/examples/CustomerPaymentStatusReportRejected"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. [RFC9110 - 202](https://www.rfc-editor.org/rfc/rfc9110#name-202-accepted)"
          },
          "400": {
            "description": "Bad request. [RFC9110 - 400](https://www.rfc-editor.org/rfc/rfc9110#name-400-bad-request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. [RFC9110 - 401](https://www.rfc-editor.org/rfc/rfc9110#name-401-unauthorized)"
          },
          "403": {
            "description": "Forbidden. [RFC9110 - 403](https://www.rfc-editor.org/rfc/rfc9110#name-403-forbidden)"
          },
          "405": {
            "description": "Method not allowed. [RFC9110 - 405](https://www.rfc-editor.org/rfc/rfc9110#name-405-method-not-allowed)"
          },
          "422": {
            "description": "Unprocessable content. [RFC9110 - 422](https://www.rfc-editor.org/rfc/rfc9110#name-422-unprocessable-content)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. [RFC6585 - 429](https://www.rfc-editor.org/rfc/rfc6585.html#section-4)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. [RFC9110 - 500](https://www.rfc-editor.org/rfc/rfc9110#name-500-internal-server-error)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. [RFC9110 - 503](https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                },
                "examples": {
                  "ServerError": {
                    "$ref": "#/components/examples/ErrorDetailServerError"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "traceparent": {
        "description": "A value used to trace an HTTP message within an Electrum Regulated Payments implementation.\nThis field must be set as per the `traceparent` element defined in the [W3C Trace Context Level 2\nspecification](https://www.w3.org/TR/trace-context-2).\n",
        "pattern": "^[A-Fa-f0-9]{2}\\-[A-Fa-f0-9]{32}\\-[A-Fa-f0-9]{16}\\-[A-Fa-f0-9]{2}$",
        "type": "string"
      },
      "tracestate": {
        "description": "A value used to provide context to an HTTP message as it is traced within an Electrum Regulated\nPayments implementation. This field must be set as per the `tracestate` element defined in the\n[W3C Trace Context Level 2 specification](https://www.w3.org/TR/trace-context-2).\n",
        "pattern": "^[A-Za-z0-9=, _\\*/@]{0,1024}$",
        "type": "string"
      },
      "HealthDetail": {
        "properties": {
          "component": {
            "description": "The name of the component reporting",
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "component",
          "message"
        ],
        "type": "object"
      },
      "HealthReport": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/HealthDetail"
            },
            "type": "array"
          },
          "status": {
            "description": "* `PASS`: The service is healthy\n* `FAIL`: The service is unhealthy\n* `WARN`: The service is healthy with some concerns\n",
            "enum": [
              "PASS",
              "FAIL",
              "WARN"
            ],
            "type": "string"
          },
          "version": {
            "description": "The version of the service",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "MessageIdentifiers": {
        "description": "Holds a point-to-point unique message identification string as well as a message's creation date time.\n",
        "properties": {
          "creationDateTime": {
            "description": "The date and time at which the message was created, in senders local timezone or UTC.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
            "format": "date-time",
            "type": "string"
          },
          "messageIdentification": {
            "description": "A reference used to unambiguously identify the message between the sending and receiving party.\nTake note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.\n",
            "maxLength": 35,
            "type": "string"
          }
        },
        "required": [
          "messageIdentification",
          "creationDateTime"
        ],
        "type": "object"
      },
      "SupplementaryData": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.\n",
        "type": "object"
      },
      "BaseMessage": {
        "description": "A model containing the foundational elements shared across messages and generally expected in a message used\nduring processing with the Electrum Regulated Payments API.\n",
        "properties": {
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "supplementaryData": {
            "$ref": "#/components/schemas/SupplementaryData"
          }
        },
        "required": [
          "messageIdentifiers"
        ],
        "type": "object"
      },
      "TransactionIdentifiers": {
        "description": "Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.\n",
        "properties": {
          "endToEndIdentification": {
            "description": "Unique identification, as assigned by the initiating party, to unambiguously identify the\ntransaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nNote: this is distinct from the UETR.\n",
            "maxLength": 35,
            "type": "string"
          },
          "instructionIdentification": {
            "description": "Unique identification, as assigned by an instructing party for an instructed party, to\nunambiguously identify the instruction. The instruction identification is a point to point\nreference that can be used between the instructing party and the instructed party to refer\nto the individual instruction. It can be included in several messages related to the instruction.\n",
            "maxLength": 35,
            "type": "string"
          },
          "transactionIdentification": {
            "description": "Unique identification, as assigned by the first instructing agent, to unambiguously identify the\ntransaction that is passed on, unchanged, throughout the entire interbank chain.\nUsage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level.\nUsage: The instructing agent has to make sure that the transaction identification is unique for a pre-agreed period.\n",
            "maxLength": 35,
            "type": "string"
          },
          "uetr": {
            "description": "Universally unique identifier to provide an end-to-end reference of a payment transaction.\nThis identifier remains the same for all messages related to the same transaction.\n",
            "format": "UUID",
            "type": "string"
          }
        },
        "required": [
          "endToEndIdentification",
          "uetr"
        ],
        "type": "object"
      },
      "BaseTransactionMessage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A model containing the foundational elements shared across messages relating to transactions.\n",
            "properties": {
              "transactionIdentifiers": {
                "$ref": "#/components/schemas/TransactionIdentifiers"
              }
            },
            "required": [
              "transactionIdentifiers"
            ],
            "type": "object"
          }
        ]
      },
      "Amount": {
        "properties": {
          "currency": {
            "description": "A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.\n",
            "pattern": "^[A-Z]{3}$",
            "type": "string"
          },
          "value": {
            "description": "The payment amount in the denomination of the indicated currency, in the\nformat '<major units>.<minor units> with the number of minor units (fractional digits)\ncompliant with the number of decimal places published in ISO 4217.\nCurrency Code | Example | Valid | Notes\n--- | --- | --- | ---\nUSD | 10.0 | ✓ | Represents 10 USD and no cents.\nUSD | 10.00 | ✓ |\nUSD | 10.001 | ✗ | US dollar does not support three decimal places.\nJPY | 10.0 | ✓ | Represents 10 Japanese Yen.\nJPY | 10.1 | ✗ | Japanese Yen does not support decimal places.\n",
            "format": "double",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "value",
          "currency"
        ],
        "type": "object"
      },
      "TransactionAmounts": {
        "properties": {
          "bankSettlementAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "The inter-bank amount of money to be moved between the instructing and instructed agent, which may include charges\nor deductions, expressed in the currency as ordered by the initiating party\n"
          },
          "instructedAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "The amount of money to be moved between the debtor and creditor, before deduction of\ncharges, expressed in the currency as ordered by the initiating party.\n"
          }
        },
        "required": [
          "bankSettlementAmount"
        ],
        "type": "object"
      },
      "AddressTypeCode": {
        "description": "* `ADDR`: A postal address.\n* `PBOX`: A postal office (PO) box address.\n* `HOME`: A (residential) home address.\n* `BIZZ`: A business address.\n* `MLTO`: Address to which mail is sent.\n* `DLVY`: Address to which delivery is to take place\n",
        "enum": [
          "ADDR",
          "PBOX",
          "HOME",
          "BIZZ",
          "MLTO",
          "DLVY"
        ],
        "type": "string"
      },
      "CountryCode": {
        "description": "A code to identify a country, a dependency, or another area of particular geopolitical interest,\non the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
        "pattern": "[A-Z]{2,2}",
        "type": "string"
      },
      "PostalAddress": {
        "properties": {
          "addressLine": {
            "items": {
              "maxLength": 70,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 7,
            "minItems": 0,
            "type": "array"
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressTypeCode"
          },
          "buildingName": {
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "buildingNumber": {
            "maxLength": 16,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "countrySubDivision": {
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "department": {
            "maxLength": 70,
            "minLength": 1,
            "type": "string"
          },
          "districtName": {
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "floor": {
            "maxLength": 70,
            "minLength": 1,
            "type": "string"
          },
          "postBox": {
            "maxLength": 16,
            "minLength": 1,
            "type": "string"
          },
          "postCode": {
            "maxLength": 16,
            "minLength": 1,
            "type": "string"
          },
          "room": {
            "maxLength": 70,
            "minLength": 1,
            "type": "string"
          },
          "streetName": {
            "maxLength": 70,
            "minLength": 1,
            "type": "string"
          },
          "subDepartment": {
            "maxLength": 70,
            "minLength": 1,
            "type": "string"
          },
          "townLocationName": {
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "townName": {
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PhoneNumber": {
        "pattern": "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
        "type": "string"
      },
      "ContactDetails": {
        "properties": {
          "emailAddress": {
            "format": "email",
            "type": "string"
          },
          "mobileNumber": {
            "$ref": "#/components/schemas/PhoneNumber"
          },
          "phoneNumber": {
            "$ref": "#/components/schemas/PhoneNumber"
          }
        },
        "type": "object"
      },
      "OrganisationIdentifierBic": {
        "description": "An organisation identified by a code allocated to a financial or non-financial institution by the ISO 9362\nRegistration Authority, as described in ISO 9362: 2014 - Banking - Banking telecommunication messages -\nBusiness identifier code (BIC).\n",
        "properties": {
          "BIC": {
            "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}",
            "type": "string"
          },
          "schema": {
            "description": "Indicates the identifier as a BIC organisation identifier, always `BIC`",
            "type": "string"
          }
        },
        "required": [
          "BIC",
          "schema"
        ],
        "type": "object"
      },
      "OrganisationIdentifierLei": {
        "description": "An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services -\nLegal Entity Identifier (LEI).\n",
        "properties": {
          "LEI": {
            "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}",
            "type": "string"
          },
          "schema": {
            "description": "Indicates the identifier as a LEI organisation identifier, always `LEI`",
            "type": "string"
          }
        },
        "required": [
          "LEI",
          "schema"
        ],
        "type": "object"
      },
      "OrganisationIdentificationCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `BANK` : BankPartyIdentification. Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.\n* `CBID` : CentralBankIdentificationNumber. A unique identification number assigned by a central bank to identify an organisation.\n* `CHID` : ClearingIdentificationNumber. A unique identification number assigned by a clearing house to identify an organisation\n* `CINC` : CertificateOfIncorporationNumber. A unique identification number assigned by a designated authority to a certificate of incorporation and used to identify an organisation.\n* `COID` : CountryIdentificationCode. Country authority given organisation identification (e.g., corporate registration number)\n* `CUST` : CustomerNumber. Number assigned by an issuer to identify a customer or number assigned by a party to identify a creditor or debtor relationship.\n* `DUNS` : DataUniversalNumberingSystem. A unique identification number provided by Dun & Bradstreet to identify an organisation.\n* `EMPL` : EmployerIdentificationNumber. Number assigned by a registration authority to an employer.\n* `GS1G` : GS1GLNIdentifier. Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules.The number is used to retrieve detailed information that is linked to it.\n* `SREN` : SIREN. The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.\n* `SRET` : SIRET. The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity\n* `TXID` : TaxIdentificationNumber. Number assigned by a tax authority to identify an organisation.\n* `BDID` : BusinessDomainIdentifier. Identifier of the business domain in which the organisation is active.\n* `BOID` : BusinessOtherIdentification. Other identification of the organisation.\n",
            "enum": [
              "BANK",
              "CBID",
              "CHID",
              "CINC",
              "COID",
              "CUST",
              "DUNS",
              "EMPL",
              "GS1G",
              "SREN",
              "SRET",
              "TXID",
              "BDID",
              "BOID"
            ],
            "type": "string"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "ProprietaryValueLiteral": {
        "description": "A proprietary value.",
        "maxLength": 35,
        "type": "string"
      },
      "ProprietaryValue": {
        "description": "A model that describes a proprietary value assigned by some party, the purpose of which is to provide for the\npossibility of parties using values that are not standardised.\n",
        "properties": {
          "schema": {
            "description": "Identifies the value as being proprietary (i.e. not published in an external list). Always `PROPRIETARY`\n",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ProprietaryValueLiteral"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "OrganisationIdentifierScheme": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/OrganisationIdentificationCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/OrganisationIdentificationCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "OrganisationIdentifierOther": {
        "description": "A unique identification of an organisation, as assigned by an institution, using an identification scheme.\n",
        "properties": {
          "identification": {
            "maxLength": 35,
            "type": "string"
          },
          "issuer": {
            "description": "The name of the entity that assigns the identification",
            "maxLength": 35,
            "type": "string"
          },
          "schema": {
            "description": "Indicates the identifier as a unique identification of an organisation, as assigned by an institution. Always `OTHER`",
            "type": "string"
          },
          "scheme": {
            "$ref": "#/components/schemas/OrganisationIdentifierScheme"
          }
        },
        "required": [
          "identification",
          "schema"
        ],
        "type": "object"
      },
      "OrganisationIdentifier": {
        "description": "Holds identification details for an organisation.",
        "discriminator": {
          "mapping": {
            "BIC": "#/components/schemas/OrganisationIdentifierBic",
            "LEI": "#/components/schemas/OrganisationIdentifierLei",
            "OTHER": "#/components/schemas/OrganisationIdentifierOther"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/OrganisationIdentifierBic"
          },
          {
            "$ref": "#/components/schemas/OrganisationIdentifierLei"
          },
          {
            "$ref": "#/components/schemas/OrganisationIdentifierOther"
          }
        ],
        "type": "object"
      },
      "OrganisationIdentification": {
        "properties": {
          "identifiers": {
            "items": {
              "$ref": "#/components/schemas/OrganisationIdentifier"
            },
            "type": "array"
          },
          "schema": {
            "description": "Identifies the party as an organisation, always `ORGANISATION`",
            "type": "string"
          }
        },
        "required": [
          "identifiers",
          "schema"
        ],
        "type": "object"
      },
      "PersonIdentificationCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `ARNU`: AlienRegistrationNumber. A number assigned by a social security agency to identify a non-resident person.\n* `BANK`: BankPartyIdentification. Unique and unambiguous identification of a person using bank account number.\n* `CCPT`: PassportNumber. A number assigned by an authority to identify the passport number of a person.\n* `CUST`: CustomerIdentificationNumber. A number assigned by an issuer to identify a customer.\n* `DRLC`: DriversLicenseNumber. A number assigned by an authority to identify a driver's license.\n* `EMPL`: EmployeeIdentificationNumber. A number assigned by a registration authority to an employee.\n* `NIDN`: NationalIdentityNumber. A number assigned by an authority to identify the national identity number of a person.\n* `SOSE`: SocialSecurityNumber. A number assigned by an authority to identify the social security number of a person.\n* `TELE`: TelephoneNumber. A number assigned by a telephone or mobile phone operator to identify a person. A person may have multiple phone numbers.\n* `TXID`: TaxIdentificationNumber. A number assigned by a tax authority to identify a person.\n* `POID`: PersonOtherIdentification. Other identification of the person.\n",
            "enum": [
              "ARNU",
              "BANK",
              "CCPT",
              "CUST",
              "DRLC",
              "EMPL",
              "NIDN",
              "SOSE",
              "TELE",
              "TXID",
              "POID"
            ],
            "type": "string"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "PersonIdentifierScheme": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/PersonIdentificationCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PersonIdentificationCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "PersonIdentifier": {
        "properties": {
          "identification": {
            "description": "Unique and unambiguous identification of a person, for example a passport.\n",
            "maxLength": 35,
            "type": "string"
          },
          "issuer": {
            "description": "The entity that assigns the identification",
            "maxLength": 35,
            "type": "string"
          },
          "scheme": {
            "$ref": "#/components/schemas/PersonIdentifierScheme"
          }
        },
        "required": [
          "identification"
        ],
        "type": "object"
      },
      "PersonIdentification": {
        "properties": {
          "identifiers": {
            "items": {
              "$ref": "#/components/schemas/PersonIdentifier"
            },
            "type": "array"
          },
          "schema": {
            "description": "Identifies the party as a person, always `PERSON`\n",
            "type": "string"
          }
        },
        "required": [
          "identifiers",
          "schema"
        ],
        "type": "object"
      },
      "PartyIdentification": {
        "description": "The identification of a party, either a person or an organisation.\n",
        "discriminator": {
          "mapping": {
            "ORGANISATION": "#/components/schemas/OrganisationIdentification",
            "PERSON": "#/components/schemas/PersonIdentification"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PersonIdentification"
          },
          {
            "$ref": "#/components/schemas/OrganisationIdentification"
          }
        ],
        "type": "object"
      },
      "Party": {
        "description": "This model is the basic representation of a Party. It is expanded on depending on whether the party is a person\nor an organisation.\n",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/PostalAddress"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/ContactDetails"
          },
          "countryOfResidence": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "identification": {
            "$ref": "#/components/schemas/PartyIdentification"
          },
          "knownAsName": {
            "description": "The name by which this party is commonly known in day to day use. For example, a shortening of their legal\nname or a nickname that they commonly use. This is \"non-official\". However, it is acceptable for this field\nto be set to the same as `legalName`.\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          },
          "legalName": {
            "description": "The legal name by which this party is known (the \"FICA\" name). This is the full name of the party\nas found on country-issued documentation (national identity, company registration documentation etc).\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ExternalAccountIdentificationCode": {
        "description": "* `AIIN`: Issuer Identification Number - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).\n* `BBAN`: Basic Bank Account Number - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.\n* `CUID`: (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.\n* `UPIC`: Universal Payment Identification Code - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.\n",
        "enum": [
          "AIIN",
          "BBAN",
          "CUID",
          "UPIC"
        ],
        "type": "string"
      },
      "GenericAccountIdentificationSchemeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalAccountIdentificationCode"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "GenericAccountIdentificationScheme": {
        "description": "Identifies the scheme that defines the identification of a generic account.",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/GenericAccountIdentificationSchemeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/GenericAccountIdentificationSchemeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "GenericAccountIdentifier": {
        "properties": {
          "issuer": {
            "description": "The entity that assigns the identification",
            "maxLength": 35,
            "type": "string"
          },
          "schema": {
            "description": "Identifies this account identifier as generic, always `GENERIC`",
            "type": "string"
          },
          "scheme": {
            "$ref": "#/components/schemas/GenericAccountIdentificationScheme"
          },
          "value": {
            "maxLength": 40,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "IBAN": {
        "description": "An identifier used internationally by financial institutions to uniquely identify the account of a customer at\na financial institution, as described in the latest edition of the international standard ISO 13616: 2007\n",
        "pattern": "[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}",
        "type": "string"
      },
      "IBANIdentifier": {
        "properties": {
          "schema": {
            "description": "Indicates the account identifier is an IBAN, always `IBAN`",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/IBAN"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "BankingIdentifier": {
        "discriminator": {
          "mapping": {
            "GENERIC": "#/components/schemas/GenericAccountIdentifier",
            "IBAN": "#/components/schemas/IBANIdentifier"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/IBANIdentifier"
          },
          {
            "$ref": "#/components/schemas/GenericAccountIdentifier"
          }
        ],
        "type": "object"
      },
      "NonBankingIdentifier": {
        "discriminator": {
          "mapping": {
            "CUSTOM": "#/components/schemas/CustomIdentifier",
            "MOBILE": "#/components/schemas/MobileNumberIdentifier"
          },
          "propertyName": "schema"
        },
        "properties": {
          "namespace": {
            "description": "An identifier's namespace provides a context for the identifier to distinguish different identifiers which\nmay have the same value but be intended to identify different accounts. For example, a bank may use the same\nMSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.\n\nThis may be used by the following schemes:\n  - ZA_RPP\n",
            "maxLength": 40,
            "minLength": 1,
            "type": "string"
          },
          "schema": {
            "description": "Indicates the schema of the identifier, e.g. `MOBILE`, `CUSTOM`.",
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "CustomIdentifier": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NonBankingIdentifier"
          },
          {
            "properties": {
              "value": {
                "maxLength": 2048,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ]
      },
      "MobileNumberIdentifier": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NonBankingIdentifier"
          },
          {
            "properties": {
              "value": {
                "$ref": "#/components/schemas/PhoneNumber"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ]
      },
      "ExternalCashAccountType1Code": {
        "description": "* `CACC` : Current - Account used to post debits and credits when no specific account has been nominated.\n* `CARD` : Card Account - Account used for credit card payments.\n* `CASH` : Cash Payment - Account used for the payment of cash.\n* `CHAR` : Charges - Account used for charges if different from the account for payment.\n* `CISH` : Cash Income - Account used for payment of income if different from the current cash account.\n* `COMM` : Commission - Account used for commission if different from the account  for payment.\n* `CPAC` : Clearing Participant Settlement Account - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.\n* `LLSV` : Limited Liquidity Savings Account - Account used for savings with special interest and withdrawal terms.\n* `LOAN` : Loan - Account used for loans.\n* `MGLD` : Marginal Lending - Account used for a marginal lending facility.\n* `MOMA` : Money Market - Account used for money markets if different from the cash account.\n* `NREX` : Non-Resident External - Account used for non-resident external.\n* `ODFT` : Overdraft - Account is used for overdrafts.\n* `ONDP` : Overnight Deposit - Account used for overnight deposits.\n* `OTHR` : Other Account - Account not otherwise specified.\n* `SACC` : Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.\n* `SLRY` : Salary - Accounts used for salary payments.\n* `SVGS` : Savings - Account used for savings.\n* `TAXE` : Tax - Account used for taxes if different from the account for payment.\n* `TRAN` : Transacting Account - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.\n* `TRAS` : Cash Trading - Account used for trading if different from the current cash account.\n",
        "enum": [
          "CACC",
          "CARD",
          "CASH",
          "CHAR",
          "CISH",
          "COMM",
          "CPAC",
          "LLSV",
          "LOAN",
          "MGLD",
          "MOMA",
          "NREX",
          "ODFT",
          "ONDP",
          "OTHR",
          "SACC",
          "SLRY",
          "SVGS",
          "TAXE",
          "TRAN",
          "TRAS"
        ],
        "type": "string"
      },
      "AccountTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalCashAccountType1Code"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "AccountType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/AccountTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AccountTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "PaymentAccount": {
        "description": "Representation of an account for payment purposes.\nNote that at least one of `identification` or `proxy` is expected to be present.\n",
        "properties": {
          "currency": {
            "description": "Identification of the currency in which the account is held.",
            "pattern": "^[A-Z]{3}$",
            "type": "string"
          },
          "identification": {
            "$ref": "#/components/schemas/BankingIdentifier"
          },
          "name": {
            "description": "Name of the account, as assigned by the account servicing institution, in agreement with the account owner\nin order to provide an additional means of identification of the account.\n",
            "maxLength": 70,
            "type": "string"
          },
          "proxy": {
            "$ref": "#/components/schemas/NonBankingIdentifier"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType"
          }
        },
        "type": "object"
      },
      "FinancialInstitutionIdentifier": {
        "properties": {
          "bicfi": {
            "description": "A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as\ndescribed in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)\n",
            "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type": "string"
          },
          "memberId": {
            "description": "Identification of a member of a clearing system.",
            "maxLength": 35,
            "type": "string"
          },
          "namespaces": {
            "items": {
              "description": "An identifier's namespace provides a context for the identifier to distinguish different identifiers which\nmay have the same value but be intended to identify different accounts. For example, a bank may use the same\nMSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.\n\nThis may be used by the following schemes:\n  - ZA_RPP\n",
              "maxLength": 40,
              "minLength": 1,
              "type": "string"
            },
            "type": "array"
          },
          "schema": {
            "description": "Indicates the account identifier is a Financial Institution Identifier, always `FII`",
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "AccountIdentifier": {
        "discriminator": {
          "mapping": {
            "CUSTOM": "#/components/schemas/CustomIdentifier",
            "FII": "#/components/schemas/FinancialInstitutionIdentifier",
            "GENERIC": "#/components/schemas/GenericAccountIdentifier",
            "IBAN": "#/components/schemas/IBANIdentifier",
            "MOBILE": "#/components/schemas/MobileNumberIdentifier"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/IBANIdentifier"
          },
          {
            "$ref": "#/components/schemas/GenericAccountIdentifier"
          },
          {
            "$ref": "#/components/schemas/MobileNumberIdentifier"
          },
          {
            "$ref": "#/components/schemas/CustomIdentifier"
          },
          {
            "$ref": "#/components/schemas/FinancialInstitutionIdentifier"
          }
        ],
        "type": "object"
      },
      "PaymentSchemeName": {
        "description": "Identifies the scheme used for the payment\n* `ZA_RTC`: South African Realtime Clearing scheme.\n* `ZA_RPP`: South African Realtime Payments Platform scheme.\n* `ZA_EFT`: South African Electronic Funds Transfer scheme.\n* `ZA_AC` : South African Authenticated Collections scheme.\n* `ZA_RMS`: South African Registered Mandate Service scheme.\n* `CBPR_PLUS`: Cross-Border Payments and Reporting Plus.\n* `TCIB`: Transactions Cleared on an Immediate Basis scheme.\n",
        "enum": [
          "ZA_RTC",
          "ZA_RPP",
          "ZA_EFT",
          "ZA_AC",
          "ZA_RMS",
          "CBPR_PLUS",
          "TCIB"
        ],
        "type": "string"
      },
      "AccountIdentification": {
        "description": "Holds details pertaining to an identifier of an account or store of value.",
        "properties": {
          "accountKnownAs": {
            "description": "A name or label of the account.",
            "maxLength": 40,
            "type": "string"
          },
          "identifier": {
            "$ref": "#/components/schemas/AccountIdentifier"
          },
          "registeredSchemes": {
            "description": "The list of schemes with which the identifier is registered.",
            "items": {
              "$ref": "#/components/schemas/PaymentSchemeName"
            },
            "type": "array"
          }
        },
        "required": [
          "identifier"
        ],
        "type": "object"
      },
      "BranchIdentification": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/PostalAddress"
          },
          "identification": {
            "description": "Unique and unambiguous identification of a branch of a financial institution.",
            "type": "string"
          },
          "name": {
            "description": "The name by which this branch is known and is usually used to identify the branch.",
            "maxLength": 140,
            "type": "string"
          }
        },
        "required": [
          "identification"
        ],
        "type": "object"
      },
      "ExternalClearingSystemIdentification1Code": {
        "description": "* `MA` (MoroccoClearingSystemID): Clearing System ID used in Morocco\n* `ATBLZ` (AustrianBankleitzahl): Bank Branch code used in Austria.\n* `AUBSB` (AustralianBankStateBranchCodeBSB): Bank Branch code used in Australia.\n* `CACPA` (CanadianPaymentsAssociationPaymentRoutingNumber): Bank Branch code used in Canada.\n* `CHBCC` (SwissFinancialInstitutionIdentificationShort): Financial Institution Identification (IID) used in Switzerland, without check digit.\n* `CHSIC` (SwissFinancialInstitutionIdentificationLong): Financial Institution Identification (IID) used in Switzerland, including check digit.\n* `CNAPS` (CNAPSIdentifier): Bank Branch code used in China.\n* `DEBLZ` (GermanBankleitzahl): Bank Branch code used in Germany.\n* `ESNCC` (SpanishDomesticInterbankingCode): Bank Branch code used in Spain.\n* `GBDSC` (UKDomesticSortCode): Bank Branch code used in the UK.\n* `GRBIC` (HelenicBankIdentificationCode): Bank Branch code used in Greece.\n* `HKNCC` (HongKongBankCode): Bank Branch code used in Hong Kong.\n* `IENCC` (IrishNationalClearingCode): Bank Branch code used in Ireland.\n* `INFSC` (IndianFinancialSystemCode): Bank Branch code used in India.\n* `ITNCC` (ItalianDomesticIdentificationCode): Bank Branch code used in Italy.\n* `JPZGN` (JapanZenginClearingCode): Bank Branch code used in Japan.\n* `NZNCC` (NewZealandNationalClearingCode): Bank Branch code used in New Zealand.\n* `PLKNR` (PolishNationalClearingCode): Bank Branch code used in Poland.\n* `PTNCC` (PortugueseNationalClearingCode): Bank Branch code used in Portugal.\n* `RUCBC` (RussianCentralBankIdentificationCode): Bank Branch code used in Russia.\n* `SESBA` (SwedenBankgiroClearingCode): Bank Branch code used in Sweden.\n* `SGIBG` (IBGSortCode): Bank Branch code used in Singapore.\n* `THCBC` (ThaiCentralBankIdentificationCode): Bank Identification code used in Thailand.\n* `TWNCC` (FinancialInstitutionCode): Bank Branch code used in Taiwan.\n* `USABA` (UnitedStatesRoutingNumberFedwireNACHA): Routing Transit number assigned by the ABA for US financial institutions.\n* `USPID` (CHIPSParticipantIdentifier): Bank identifier used by CHIPs in the US.\n* `ZANCC` (SouthAfricanNationalClearingCode): Bank Branch code used in South Africa.\n* `NZRSA` (NewZealandRTGSClearingCode): RTGS settlement account used in New Zealand.\n* `MZBMO` (BancoDeMocambiqueRTGS): Banco de Mocambique RTGS system.\n* `CNCIP` (CrossBorderInterbankPaymentSystem): Chinese Cross-border Interbank Payment System (CIPS) Identifier.\n* `KRBOK` (SouthKoreaCentralBankIdentificationCode): Participant Institution code used by BOK-Wire+ in South Korea.\n* `BRISP` (BrazilianBankIdentificationCode): Bank Identification code used in Brazil (ISPB).\n* `NACSC` (NamibiaClearingSystemCode): Clearing system Identification code used in Namibia.\n* `ZWTSS` (ZimbabweClearingSystemCode): System Identification Code used in the Zimbabwe settlement system.\n* `AD` (AndorraClearingSystemID): Clearing System ID used in Andorra\n* `EGNCC` (EgyptianNationalClearingCode): RTGS Clearing system Identification code used in Egypt.\n* `AE` (UnitedArabEmiratesClearingSystemID): Clearing System ID used in United Arab Emirates\n* `AF` (AfghanistanClearingSystemID): Clearing System ID used in Afghanistan\n* `AI` (AntiguaandBermudaClearingSystemID): Clearing System ID used in Antigua and Bermuda\n* `AL` (AlbaniaClearingSystemID): Clearing System ID used in Albania\n* `AM` (ArmeniaClearingSystemID): Clearing System ID used in Armenia\n* `AO` (AngolaClearingSystemID): Clearing System ID used in Angola\n* `AR` (ArgentinaClearingSystemID): Clearing System ID used in Argentina\n* `AS` (AmericanSamoaClearingSystemID): Clearing System ID used in American Samoa\n* `AW` (ArubaClearingSystemID): Clearing System ID used in Aruba\n* `AZ` (AzerbaijanClearingSystemID): Clearing System ID used in Azerbaijan\n* `BA` (BosniaandHerzegovinaClearingSystemID): Clearing System ID used in Bosnia and Herzegovina\n* `BD` (BangladeshClearingSystemID): Clearing System ID used in Bangladesh\n* `BG` (BulgariaClearingSystemID): Clearing System ID used in Bulgaria\n* `BH` (BahrainClearingSystemID): Clearing System ID used in Bahrain\n* `BI` (BurundiClearingSystemID): Clearing System ID used in Burundi\n* `BL` (SaintBarthelemyClearingSystemID): Clearing System ID used in Saint Barthelemy\n* `BM` (BermudaClearingSystemID): Clearing System ID used in Bermuda\n* `BN` (BruneiDarussalamClearingSystemID): Clearing System ID used in Brunei Darussalam\n* `BO` (BoliviaClearingSystemID): Clearing System ID used in Bolivia\n* `BS` (BahamasClearingSystemID): Clearing System ID used in Bahamas\n* `BT` (BhutanClearingSystemID): Clearing System ID used in Bhutan\n* `BW` (BotswanaClearingSystemID): Clearing System ID used in Botswana\n* `BY` (BelarusClearingSystemID): Clearing System ID used in Belarus\n* `BZ` (BelizeClearingSystemID): Clearing System ID used in Belize\n* `CD` (DemocraticRepublicofTheCongoClearingSystemID): Clearing System ID used in Democratic Republic of The Congo\n* `CL` (ChileClearingSystemID): Clearing System ID used in Chile\n* `CO` (ColombiaClearingSystemID): Clearing System ID used in Colombia\n* `CR` (CostaRicaClearingSystemID): Clearing System ID used in Costa Rica\n* `CV` (CaboVerdeClearingSystemID): Clearing System ID used in Cabo Verde\n* `CW` (CuracaoClearingSystemID): Clearing System ID used in Curacao\n* `CY` (CyprusClearingSystemID): Clearing System ID used in Cyprus\n* `CZ` (CzechRepublicClearingSystemID): Clearing System ID used in Czech Republic\n* `DO` (DominicanRepublicClearingSystemID): Clearing System ID used in Dominican Republic\n* `DZ` (AlgeriaClearingSystemID): Clearing System ID used in Algeria\n* `EC` (EcuadorClearingSystemID): Clearing System ID used in Ecuador\n* `EE` (EstoniaClearingSystemID): Clearing System ID used in Estonia\n* `GE` (GeorgiaClearingSystemID): Clearing System ID used in Georgia\n* `GH` (GhanaClearingSystemID): Clearing System ID used in Ghana\n* `GN` (GuineaClearingSystemID): Clearing System ID used in Guinea\n* `GT` (GuatemalaClearingSystemID): Clearing System ID used in Guatemala\n* `GY` (GuyanaClearingSystemID): Clearing System ID used in Guyana\n* `HN` (HondurasClearingSystemID): Clearing System ID used in Honduras\n* `HR` (CroatiaClearingSystemID): Clearing System ID used in Croatia\n* `HT` (HaitiClearingSystemID): Clearing System ID used in Haiti\n* `HU` (HungaryClearingSystemID): Clearing System ID used in Hungary\n* `ID` (IndonesiaClearingSystemID): Clearing System ID used in Indonesia\n* `IL` (IsraelClearingSystemID): Clearing System ID used in Israel\n* `IQ` (IraqClearingSystemID): Clearing System ID used in Iraq\n* `IS` (IcelandClearingSystemID): Clearing System ID used in Iceland\n* `JM` (JamaicaClearingSystemID): Clearing System ID used in Jamaica\n* `JO` (JordanClearingSystemID): Clearing System ID used in Jordan\n* `KE` (KenyaClearingSystemID): Clearing System ID used in Kenya\n* `KG` (TheKyrgyzRepublicClearingSystemID): Clearing System ID used in The Kyrgyz Republic\n* `KH` (CambodiaClearingSystemID): Clearing System ID used in Cambodia\n* `KM` (ComorosClearingSystemID): Clearing System ID used in Comoros\n* `KW` (KuwaitClearingSystemID): Clearing System ID used in Kuwait\n* `KZ` (KazakhstanClearingSystemID): Clearing System ID used in Kazakhstan\n* `LB` (LebanonClearingSystemID): Clearing System ID used in Lebanon\n* `LK` (SriLankaClearingSystemID): Clearing System ID used in Sri Lanka\n* `LR` (LiberiaClearingSystemID): Clearing System ID used in Liberia\n* `LS` (LesothoClearingSystemID): Clearing System ID used in Lesotho\n* `LT` (LithuaniaClearingSystemID): Clearing System ID used in Lithuania\n* `LV` (LatviaClearingSystemID): Clearing System ID used in Latvia\n* `LY` (LibyaClearingSystemID): Clearing System ID used in Libya\n* `MD` (MoldovaClearingSystemID): Clearing System ID used in Moldova\n* `ME` (MontenegroClearingSystemID): Clearing System ID used in Montenegro\n* `MG` (MadagascarClearingSystemID): Clearing System ID used in Madagascar\n* `MK` (NorthMacedoniaClearingSystemID): Clearing System ID used in North Macedonia\n* `MN` (MongoliaClearingSystemID): Clearing System ID used in Mongolia\n* `MO` (MacaoClearingSystemID): Clearing System ID used in Macao\n* `MR` (MauritaniaClearingSystemID): Clearing System ID used in Mauritania\n* `MT` (MaltaClearingSystemID): Clearing System ID used in Malta\n* `MU` (MauritiusClearingSystemID): Clearing System ID used in Mauritius\n* `MW` (MalawiClearingSystemID): Clearing System ID used in Malawi\n* `MX` (MexicoClearingSystemID): Clearing System ID used in Mexico\n* `MY` (MalaysiaClearingSystemID): Clearing System ID used in Malaysia\n* `NG` (NigeriaClearingSystemID): Clearing System ID used in Nigeria\n* `NI` (NicaraguaClearingSystemID): Clearing System ID used in Nicaragua\n* `NP` (NepalClearingSystemID): Clearing System ID used in Nepal\n* `OM` (OmanClearingSystemID): Clearing System ID used in Oman\n* `PA` (PanamaClearingSystemID): Clearing System ID used in Panama\n* `PE` (PeruClearingSystemID): Clearing System ID used in Peru\n* `PG` (PapuaNewGuineaClearingSystemID): Clearing System ID used in Papua New Guinea\n* `PH` (PhilippinesClearingSystemID): Clearing System ID used in Philippines\n* `PK` (PakistanClearingSystemID): Clearing System ID used in Pakistan\n* `PS` (PalestineClearingSystemID): Clearing System ID used in Palestine\n* `PY` (ParaguayClearingSystemID): Clearing System ID used in Paraguay\n* `QA` (QatarClearingSystemID): Clearing System ID used in Qatar\n* `RO` (RomaniaClearingSystemID): Clearing System ID used in Romania\n* `RS` (SerbiaClearingSystemID): Clearing System ID used in Serbia\n* `RW` (RwandaClearingSystemID): Clearing System ID used in Rwanda\n* `SA` (SaudiArabiaClearingSystemID): Clearing System ID used in Saudi Arabia\n* `SC` (SeychellesClearingSystemID): Clearing System ID used in Seychelles\n* `SD` (SudanClearingSystemID): Clearing System ID used in Sudan\n* `SI` (SloveniaClearingSystemID): Clearing System ID used in Slovenia\n* `SK` (SlovakiaClearingSystemID): Clearing System ID used in Slovakia\n* `SL` (SierraLeoneClearingSystemID): Clearing System ID used in Sierra Leone\n* `ST` (SaoTomeandPrincipeClearingSystemID): Clearing System ID used in Sao Tome and Principe\n* `SV` (ElSalvadorClearingSystemID): Clearing System ID used in El Salvador\n* `SZ` (EswatiniClearingSystemID): Clearing System ID used in Eswatini\n* `TJ` (TajikistanClearingSystemID): Clearing System ID used in Tajikistan\n* `TL` (Timor): LesteClearingSystemID\tClearing System ID used in Timor-Leste\n* `TM` (TurkmenistanClearingSystemID): Clearing System ID used in Turkmenistan\n* `TN` (TunisiaClearingSystemID): Clearing System ID used in Tunisia\n* `TR` (TurkeyClearingSystemID): Clearing System ID used in Turkey\n* `TT` (TrinidadandTobagoClearingSystemID): Clearing System ID used in Trinidad and Tobago\n* `TZ` (TanzaniaClearingSystemID): Clearing System ID used in Tanzania\n* `UA` (UkraineClearingSystemID): Clearing System ID used in Ukraine\n* `UG` (UgandaClearingSystemID): Clearing System ID used in Uganda\n* `UY` (UruguayClearingSystemID): Clearing System ID used in Uruguay\n* `UZ` (UzbekistanClearingSystemID): Clearing System ID used in Uzbekistan\n* `VA` (VaticanCityClearingSystemID): Clearing System ID used in Vatican City\n* `VE` (VenezuelaClearingSystemID): Clearing System ID used in Venezuela\n* `VN` (VietnamClearingSystemID): Clearing System ID used in Vietnam\n* `XK` (KosovoClearingSystemID): Clearing System ID used in Kosovo\n* `ZM` (ZambiaClearingSystemID): Clearing System ID used in Zambia\n* `MARPA` (MoroccoRTGSParticipantIdentificationCode): RTGS participant identification code used in the Kingdom of Morocco.\n* `MARAC` (MoroccoRTGSNationalClearingCode): RTGS clearing system identification used in the Kingdom of Morocco.\n",
        "enum": [
          "MA",
          "ATBLZ",
          "AUBSB",
          "CACPA",
          "CHBCC",
          "CHSIC",
          "CNAPS",
          "DEBLZ",
          "ESNCC",
          "GBDSC",
          "GRBIC",
          "HKNCC",
          "IENCC",
          "INFSC",
          "ITNCC",
          "JPZGN",
          "NZNCC",
          "PLKNR",
          "PTNCC",
          "RUCBC",
          "SESBA",
          "SGIBG",
          "THCBC",
          "TWNCC",
          "USABA",
          "USPID",
          "ZANCC",
          "NZRSA",
          "MZBMO",
          "CNCIP",
          "KRBOK",
          "BRISP",
          "NACSC",
          "ZWTSS",
          "AD",
          "EGNCC",
          "AE",
          "AF",
          "AI",
          "AL",
          "AM",
          "AO",
          "AR",
          "AS",
          "AW",
          "AZ",
          "BA",
          "BD",
          "BG",
          "BH",
          "BI",
          "BL",
          "BM",
          "BN",
          "BO",
          "BS",
          "BT",
          "BW",
          "BY",
          "BZ",
          "CD",
          "CL",
          "CO",
          "CR",
          "CV",
          "CW",
          "CY",
          "CZ",
          "DO",
          "DZ",
          "EC",
          "EE",
          "GE",
          "GH",
          "GN",
          "GT",
          "GY",
          "HN",
          "HR",
          "HT",
          "HU",
          "ID",
          "IL",
          "IQ",
          "IS",
          "JM",
          "JO",
          "KE",
          "KG",
          "KH",
          "KM",
          "KW",
          "KZ",
          "LB",
          "LK",
          "LR",
          "LS",
          "LT",
          "LV",
          "LY",
          "MD",
          "ME",
          "MG",
          "MK",
          "MN",
          "MO",
          "MR",
          "MT",
          "MU",
          "MW",
          "MX",
          "MY",
          "NG",
          "NI",
          "NP",
          "OM",
          "PA",
          "PE",
          "PG",
          "PH",
          "PK",
          "PS",
          "PY",
          "QA",
          "RO",
          "RS",
          "RW",
          "SA",
          "SC",
          "SD",
          "SI",
          "SK",
          "SL",
          "ST",
          "SV",
          "SZ",
          "TJ",
          "TL",
          "TM",
          "TN",
          "TR",
          "TT",
          "TZ",
          "UA",
          "UG",
          "UY",
          "UZ",
          "VA",
          "VE",
          "VN",
          "XK",
          "ZM",
          "MARPA",
          "MARAC"
        ],
        "type": "string"
      },
      "ClearingSystemCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalClearingSystemIdentification1Code"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "ClearingSystemIdentification": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ClearingSystemCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ClearingSystemCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "ClearingSystemMemberIdentification": {
        "properties": {
          "clearingSystem": {
            "$ref": "#/components/schemas/ClearingSystemIdentification"
          },
          "memberId": {
            "description": "Identification of a member of a clearing system.",
            "maxLength": 35,
            "type": "string"
          }
        },
        "required": [
          "memberId"
        ],
        "type": "object"
      },
      "InstitutionIdentification": {
        "properties": {
          "additionalIdentifications": {
            "items": {
              "$ref": "#/components/schemas/AccountIdentification"
            },
            "type": "array"
          },
          "address": {
            "$ref": "#/components/schemas/PostalAddress"
          },
          "bicfi": {
            "description": "A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as\ndescribed in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)\n",
            "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type": "string"
          },
          "branch": {
            "$ref": "#/components/schemas/BranchIdentification"
          },
          "clearingSystemMemberId": {
            "$ref": "#/components/schemas/ClearingSystemMemberIdentification"
          },
          "companyRegistration": {
            "deprecated": true,
            "description": "A unique identifier assigned to a company or organisation by a duly appointed authority within a country.",
            "maxLength": 35,
            "type": "string"
          },
          "lei": {
            "description": "An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).",
            "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}",
            "type": "string"
          },
          "memberId": {
            "deprecated": true,
            "description": "Deprecated. Please use the preferred `clearingSystemMemberId.memberId` instead.\nIdentification of a member of a clearing system.\n",
            "maxLength": 35,
            "type": "string"
          },
          "name": {
            "description": "Name by which an institution is known and which is usually used to identify that institution",
            "maxLength": 140,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreditorAgentInstruction": {
        "description": "Further information related to the processing of the payment instruction that may need to be\nacted upon by the creditor's agent. The instruction may relate to a level of service, or may be an\ninstruction that has to be executed by the creditor's agent, or may be information required by the\ncreditor's agent\n",
        "properties": {
          "code": {
            "description": "* `CHQB`: (PayCreditorByCheque) (Ultimate) creditor must be paid by cheque.\n* `HOLD`: (HoldCashForCreditor) Amount of money must be held for the (ultimate) creditor, who will call. Pay on identification.\n* `PHOB`: (PhoneBeneficiary) Please advise/contact (ultimate) creditor/claimant by phone.\n* `PRTK`: (PayerTokenRequested) Indicates that a payer token is requested/used.\n* `RECI`: (ReceiverCustomerInformation) Further information regarding the intended recipient.\n* `TELB`: (Telecom) Please advise/contact (ultimate) creditor/claimant by the most efficient means of telecommunication.\n* `TKCM`: (TokenCounterpartyMismatch) Token found with counterparty mismatch.\n* `TKSG`: (TokenSingleUse) Single Use Token already used.\n* `TKSP`: (TokenSuspended) Token found with suspended status.\n* `TKVE`: (TokenValueLimitExceeded) Token found with value limit rule violation.\n* `TKXP`: (TokenExpired) Token expired.\n* `TOKN`: (Token) Token information.\n* `VLTK`: (TokenValidation) Additional validation information to be used in conjunction with the token.\n* `SEID`: (SecondaryIdentification): Use of Secondary Identification of Creditor Account (which may relate to Head Office Collection Account, Building Society Roll Number or Credit Card Primary Account Number).\n* `RT14`: A `ZA-RPP` scheme-specific instruction regarding fraud scores.\n",
            "enum": [
              "CHQB",
              "HOLD",
              "PHOB",
              "PRTK",
              "RECI",
              "TELB",
              "TKCM",
              "TKSG",
              "TKSP",
              "TKVE",
              "TKXP",
              "TOKN",
              "VLTK",
              "SEID",
              "RT14"
            ],
            "type": "string"
          },
          "information": {
            "description": "Further information complementing the coded instruction or instruction to the next agent that\nis bilaterally agreed or specific to a user community.\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ChargeBearer": {
        "description": "* `DEBT` (BorneByDebtor): All transaction charges are to be borne by the debtor\n* `CRED` (BorneByCreditor): All transaction charges are to be borne by the creditor\n* `SHAR` (Shared): In a credit transfer context, means that transaction charges on the sender side are to be borne by\n          the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct\n          debit context, means that transaction charges on the sender side are to be borne by the creditor,\n          transaction charges on the receiver side are to be borne by the debtor.\n* `SLEV` (FollowingServiceLevel): Charges are to be applied following the rules agreed in the service level and/or scheme\n",
        "enum": [
          "DEBT",
          "CRED",
          "SHAR",
          "SLEV"
        ],
        "type": "string"
      },
      "ChargeTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `BRKF` (BrokerageFee): Fee paid to a broker for services provided.\n* `BTCH` (Batch): Fee paid for processing a batch of transactions.\n* `COMM` (Commission): Fee paid for services provided.\n* `SUMM` (Summation): Summation of individual fees.\n* `AMND` (Amendment): Payment order was changed based on request to do so from the (original) sending bank or as a result of receiving amended information from the (original) sending bank.\n* `CFEE` (CancellationFee): Used when fees are assessed for cancellation of a payment.\n* `CLEF` (ClearingFee): Used when fees are assessed for standard processing of financial institution type transfers.\n* `INVS` (Investigation): Charges related to the processing of an investigation case/inquiry.\n* `INTE` (Interest): Interest related charges.\n* `NSTP` (NonSTPCharges): Charge for a payment that required an intervention during processing.\n* `DEBT` (BorneByDebtor): Claim is being submitted in response to receiving a customer credit transfer with DEBT in Charge Bearer code.\n* `TELE` (TelecommunicationCharges): Charges relating to the most appropriate and efficient means of telecommunications available, for example, SWIFT, telex, telephone, facsimile, as determined by the party executing the payment instruction.\n* `ACCM` (AccMaintenanceFee): Account maintenance fee.\n* `RECH` (ReportingCharges): Charge for a reporting message (camt.05X).\n",
            "enum": [
              "BRKF",
              "BTCH",
              "COMM",
              "SUMM",
              "AMND",
              "CFEE",
              "CLEF",
              "INVS",
              "INTE",
              "NSTP",
              "DEBT",
              "TELE",
              "ACCM",
              "RECH"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "ChargeType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ChargeTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ChargeTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "Charge": {
        "properties": {
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "type": {
            "$ref": "#/components/schemas/ChargeType"
          }
        },
        "required": [
          "amount",
          "agent"
        ],
        "type": "object"
      },
      "CbprPlusCustomerCreditSchemeData": {
        "description": "Information necessary for FI to FI customer credit transfers, specifically for CBPR+",
        "properties": {
          "chargeBearer": {
            "$ref": "#/components/schemas/ChargeBearer"
          },
          "charges": {
            "items": {
              "$ref": "#/components/schemas/Charge"
            },
            "type": "array"
          },
          "exchangeRate": {
            "description": "Factor used to convert an amount from one currency into another. This reflects the price at\nwhich one currency was bought with another currency.\n",
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "chargeBearer"
        ],
        "type": "object"
      },
      "CbprPlusCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "type": "string"
          },
          "schemeData": {
            "$ref": "#/components/schemas/CbprPlusCustomerCreditSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "TcibCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ShortenedAccountNumber": {
        "description": "An account number, shortened to 11 characters according to the account number reduction rules\nin the EFT technical standards. This field is intended for internal use by Electrum and generally should not\nbe populated by partner implementations.\n",
        "maxLength": 11,
        "minLength": 11,
        "type": "string"
      },
      "ZaEftSchemeData": {
        "properties": {
          "shortenedCreditorAccountNumber": {
            "$ref": "#/components/schemas/ShortenedAccountNumber"
          },
          "shortenedDebtorAccountNumber": {
            "$ref": "#/components/schemas/ShortenedAccountNumber"
          },
          "userCode": {
            "description": "A code allocated by PayInc. Sometimes also referred to as `BankCode`. May equal Installation code for in-house operation.\n",
            "maxLength": 4,
            "type": "string"
          },
          "userReference": {
            "description": "An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or\nthe creditor's statement for credit transfers. Note that when populating a value for a _direct debit_, the\nfirst 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum\nwill populate this value automatically, in which case at most 20 characters should be used as a reference\nto avoid truncation. Allowed characters are limited to printable ASCII U+0020 to U+007A (space through 'z').\n",
            "maxLength": 30,
            "pattern": "^[\\u0020-\\u007A]*$",
            "type": "string"
          }
        },
        "required": [
          "userReference"
        ],
        "type": "object"
      },
      "ZaEftCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaEftSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "ZaRppSchemeData": {
        "properties": {
          "hasRtp": {
            "description": "Indicates whether the RPP transaction was initiated via a Request To Pay.\n",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ZaRppCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaRppSchemeData"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRtcCreditTransferPaymentSchemeData": {
        "properties": {
          "businessReference": {
            "description": "Business reference number. The first two numeric digits identify the bank and the last 8\ncharacters contain a unique alphanumeric value generated by the originating bank (unique for the\ntransaction).\n",
            "maxLength": 10,
            "pattern": "^\\d{2}[\\dA-z]{8}$",
            "type": "string"
          },
          "originatorEchoData": {
            "description": "Echo data reserved for originator use. Must remain unaltered by the beneficiary.",
            "maxLength": 20,
            "pattern": "^[\\dA-z ]*$",
            "type": "string"
          },
          "userReference": {
            "description": "An explanation of the transaction, e.g. to be printed on the account holder's statement.\n",
            "maxLength": 20,
            "pattern": "^[\\dA-z ]*$",
            "type": "string"
          }
        },
        "required": [
          "businessReference"
        ],
        "type": "object"
      },
      "ZaRtcCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaRtcCreditTransferPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "CreditTransferPaymentScheme": {
        "description": "Designates which scheme a customer credit transfer is associated with and describes scheme-specific information for the\ncredit transfer.\n",
        "discriminator": {
          "mapping": {
            "CBPR_PLUS": "#/components/schemas/CbprPlusCreditTransferPaymentScheme",
            "TCIB": "#/components/schemas/TcibCreditTransferPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftCreditTransferPaymentScheme",
            "ZA_RPP": "#/components/schemas/ZaRppCreditTransferPaymentScheme",
            "ZA_RTC": "#/components/schemas/ZaRtcCreditTransferPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaRtcCreditTransferPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaRppCreditTransferPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaEftCreditTransferPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/CbprPlusCreditTransferPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/TcibCreditTransferPaymentScheme"
          }
        ],
        "type": "object"
      },
      "ExternalCategoryPurpose1Code": {
        "description": "* `BONU` (BonusPayment): Transaction is the payment of a bonus.\n* `CASH` (CashManagementTransfer): Transaction is a general cash management instruction.\n* `CBLK` (CardBulkClearing): A service that is settling money for a bulk of card transactions, while referring to a specific transaction file or other information like terminal ID, card acceptor ID or other transaction details.\n* `CCRD` (CreditCardPayment): Transaction is related to a payment of credit card.\n* `CORT` (TradeSettlementPayment): Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n* `DCRD` (DebitCardPayment): Transaction is related to a payment of debit card.\n* `DIVI` (Dividend): Transaction is the payment of dividends.\n* `DVPM` (DeliverAgainstPayment): Code used to pre-advise the account servicer of a forthcoming deliver against payment instruction.\n* `EPAY` (Epayment): Transaction is related to ePayment.\n* `FCIN` (FeeCollectionAndInterest): Transaction is related to the payment of a fee and interest.\n* `FCOL` (FeeCollection): A service that is settling card transaction related fees between two parties.\n* `GP2P` (PersontoPersonPayment): General Person-to-Person Payment. Debtor and Creditor are natural persons.\n* `GOVT` (GovernmentPayment): Transaction is a payment to or from a government department.\n* `HEDG` (Hedging): Transaction is related to the payment of a hedging operation.\n* `ICCP` (IrrevocableCreditCardPayment): Transaction is reimbursement of credit card payment.\n* `IDCP` (IrrevocableDebitCardPayment): Transaction is reimbursement of debit card payment.\n* `INTC` (IntraCompanyPayment): Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n* `INTE` (Interest): Transaction is the payment of interest.\n* `LBOX` (LockboxTransactions): Transaction is related to identify cash handling via Night Safe or Lockbox by bank or vendor on behalf of a physical store.\n* `LOAN` (Loan): Transaction is related to the transfer of a loan to a borrower.\n* `MP2B` (Commercial): Mobile P2B Payment\n* `MP2P` (Consumer): Mobile P2P Payment\n* `OTHR` (OtherPayment): Other payment purpose.\n* `PENS` (PensionPayment): Transaction is the payment of pension.\n* `RPRE` (Represented): Collection used to re-present previously reversed or returned direct debit transactions.\n* `RRCT` (ReimbursementReceivedCreditTransfer): Transaction is related to a reimbursement for commercial reasons of a correctly received credit transfer.\n* `RVPM` (ReceiveAgainstPayment): Code used to pre-advise the account servicer of a forthcoming receive against payment instruction.\n* `SALA` (SalaryPayment): Transaction is the payment of salaries.\n* `SECU` (Securities): Transaction is the payment of securities.\n* `SSBE` (SocialSecurityBenefit): Transaction is a social security benefit, ie payment made by a government to support individuals.\n* `SUPP` (SupplierPayment): Transaction is related to a payment to a supplier.\n* `TAXS` (TaxPayment): Transaction is the payment of taxes.\n* `TRAD` (Trade): Transaction is related to the payment of a trade finance transaction.\n* `TREA` (TreasuryPayment): Transaction is related to treasury operations.  E.g. financial contract settlement.\n* `VATX` (ValueAddedTaxPayment): Transaction is the payment of value added tax.\n* `WHLD` (WithHolding): Transaction is the payment of withholding tax.\n* `SWEP` (CashManagementSweepAccount): Classification - Cash Management. Transaction relates to a cash management instruction, requesting a sweep of the account of the Debtor above an agreed floor amount, up to a target or zero balance. The purpose is to move the funds from multiple accounts to a single bank account. Funds can move domestically or across border and more than one bank can be used.\n* `TOPG` (CashManagementTopAccount): Classification - Cash Management. Transaction relates to a cash management instruction, requesting to top the account of the Creditor above a certain floor amount, up to a target or zero balance. The floor amount, if not pre-agreed by the parties involved, may be specified.\n* `ZABA` (CashManagementZeroBalanceAccount): Transaction relates to a cash management instruction, requesting to zero balance the account of the Debtor. Zero Balance Accounts empty or fill the balances in accounts at the same bank, in the same country into or out of a main account each day.\n* `VOST` (CrossborderMIPayments): Transaction to be processed as a domestic payment instruction originated from a foreign bank.\n* `FCDT` (ForeignCurrencyDomesticTransfer): Foreign Currency Transaction that is processed between two domestic financial institutions.\n* `CIPC` (CashInPreCredit): Transaction is a direct debit for a cash order of notes and/or coins.\n* `CONC` (CashOutNotesCoins): Transaction is a direct debit for a cash order of notes and/or coins.\n* `CGWV` (CarrierGuardedWholesaleValuables): Transaction is a payment towards a Party for the collection of cash by the Cash in Transit company.\n* `SAVG` (Savings): Transfer to / from savings or to retirement account.\n* `CTDF` (DoddFrank1073Payment): Cross border transaction initiated by US natural person that is subject to compliance with Dodd Frank 1073.\n",
        "enum": [
          "BONU",
          "CASH",
          "CBLK",
          "CCRD",
          "CORT",
          "DCRD",
          "DIVI",
          "DVPM",
          "EPAY",
          "FCIN",
          "FCOL",
          "GP2P",
          "GOVT",
          "HEDG",
          "ICCP",
          "IDCP",
          "INTC",
          "INTE",
          "LBOX",
          "LOAN",
          "MP2B",
          "MP2P",
          "OTHR",
          "PENS",
          "RPRE",
          "RRCT",
          "RVPM",
          "SALA",
          "SECU",
          "SSBE",
          "SUPP",
          "TAXS",
          "TRAD",
          "TREA",
          "VATX",
          "WHLD",
          "SWEP",
          "TOPG",
          "ZABA",
          "VOST",
          "FCDT",
          "CIPC",
          "CONC",
          "CGWV",
          "SAVG",
          "CTDF"
        ],
        "type": "string"
      },
      "CategoryPurposeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalCategoryPurpose1Code"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "CategoryPurpose": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/CategoryPurposeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CategoryPurposeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "LocalInstrumentTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `0000` - BusinessPayment\n* `0001` - ConvertedBankPayment\n* `0002` - StandingOrder\n* `0090` - MassPaymentBeneficiary\n* `0091` - MassPaymentOurs\n* `0092` - MassPaymentShared\n* `0220` - StandingAuthorisationGeneral\n* `0221` - OneOffAuthorisation\n* `0222` - StandingAuthorisationCompanies\n* `0223` - StandingAuthorisationLotteries\n* `0224` - OneOffAuthorisationCharities\n* `0225` - OneOffAuthorisationTuitionFees\n* `0226` - OneOffAuthorisationConstructionIndustry\n* `0227` - StandingAuthorisationCompaniesWithoutDebtorRevocationRight\n* `04` - PreauthorisedDirectDebitDE\n* `05` - NonPreauthorisedDirectDebitDE\n* `08` - PreauthorisedDirectDebitOrdinaireNormalClearing4Day\n* `19` - BusinessToCustomerDirectDebit\n* `58` - BusinessToBusinessDirectDebit\n* `60` - RecoveredBillofExchangeorPromissoryNote\n* `82` - NonPreauthorisedDirectDebitAT\n* `83` - PreauthorisedDirectDebitAT\n* `85` - PreauthorisedDirectDebitAccéléréAcceleratedClearing2DayOrdinaireNormalClearing4Day\n* `89` - PreauthorisedDirectDebitVérifiéVerifiedClearing\n* `AC01` - IncorrectAccountNumber\n* `ACCEPT` - PaymentViaAcceptgiroOwnedByCurrence\n* `ADD` - AuthenticatedDirectDebit\n* `ARC` - AccountsReceivableCheck\n* `ASTI` - AncillarySystemTransferInitiation\n* `B2B` - SEPABusinessToBusinessDirectDebit\n* `B2BAMIPM` - SEPAB2BDirectDebitAMI\n* `BACP` - BackupPayment\n* `BPA` - BatchPaymentsAruba\n* `BSE` - PaperlessChequeCollection\n* `BTR` - BankTransfer\n* `CARD` - CardClearing\n* `CCD` - CashConcentrationOrDisbursementCorporateCounterparty\n* `CCI` - CashConcentrationIntragroup\n* `CHN` - TruncatedChecks\n* `CIE` - CustomerInitiatedEntry\n* `CKS` - CheckSameDaySettlementWire\n* `CLSCCPERX` - CLSClearedFXForEurex\n* `CLSCCPLCH` - CLSClearedFXForLCH\n* `COR1` - SEPADirectDebit1DaySettlement\n* `CORAMIPM` - SEPACoreDirectDebitAMI\n* `CORE` - SEPADirectDebitCore\n* `CPP` - CashPerPost\n* `CR1AMIPM` - SEPACoreD1DirectDebitAMI\n* `CRP` - CreditTransferPreferred\n* `CTP` - CustomerTransferPlus\n* `CTR` - CustomerTransfer\n* `CTX` - CorporateTradeExchange\n* `DDFA` - DirectDebitFixedAmount\n* `DDMC` - DirectDebitConfirmedElectronicMandate\n* `DDMP` - DirectDebitPaperMandateWithPaperAuthorisation\n* `DDMU` - DirectDebitUnconfirmedElectronicMandate\n* `DDNR` - CoreNoRefund\n* `DDT` - DirectDebits\n* `DEP` - DepositToSendersAccount\n* `DRB` - BankToBankDrawdownRequestOrResponseNonvalue\n* `DRC` - CustomerOrCorporateDrawdownRequestOrResponseNonvalue\n* `DRW` - DrawdownResponseValueToHonorADrawdownRequest\n* `FADAMIPM` - SEPAFADirectDebitAMI\n* `FFR` - FedFundsReturned\n* `FFS` - FedFundsSold\n* `GST` - TruncatedCreditTransfers\n* `IAT` - InternationalACH\n* `ICMC` - IncidentManagementCorrection\n* `IDEAL` - PaymentsViaInternetOwnedByCurrence\n* `IN` - CrossBorderCustomerCreditTransfer\n* `INST` - InstantCreditTransfer\n* `INSTIDEAL` - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransfer\n* `INSTNT01` - InstantCreditTransferNotTimeCritical\n* `INSTNT01IDEAL` - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferNotTimeCritical\n* `INSTTC01` - InstantCreditTransferTimeCritical\n* `INSTTC01IDEAL` - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferTimeCritical\n* `IPA` - InstantPaymentsAruba\n* `ISE` - ImageBasedChequeCollection\n* `ITP` - InstantCreditTransferPreferred\n* `MANP` - MandatedPayment\n* `NLDO` - DutchDomesticBulkPayment\n* `NLGOV` - DirectDebitInitiatedByTheGovernmentWithSpecialConditions\n* `NLUP` - DutchUrgentPayment\n* `ONCL` - Overnight\n* `PERI` - PaymentWithERI\n* `POP` - PointOfPurchase\n* `POS` - PointOfSale\n* `PPD` - PrearrangedPaymentOrDepositConsumerCounterparty\n* `RCK` - RepresentedCheckEntry\n* `RDD` - ReturnedDirectDebits\n* `RIBA` - NonPreauthorisedDirectDebitRIBA\n* `RIDO` - PreauthorisedRevocableDirectDebit\n* `RIDV` - PreauthorisedRevocableUrgentDirectDebit\n* `RTR` - ReturnedCreditTransfers\n* `SBTI` - SettlementBankTransferInitiation\n* `SCN` - RevokedTruncatedChecks\n* `SDCL` - SameDayClearedPayments\n* `SDD` - RevokedDirectDebits\n* `SDN` - PaymentsViaStandaardDigitaleNota\n* `SGT` - RevokedTruncatedCreditTransfers\n* `SRD` - RevokedReturnedDirectDebits\n* `SRT` - RevokedReturnedCreditTransfers\n* `STR` - RevokedCreditTransfers\n* `SVC` - NonValueServiceMessage\n* `TEL` - TelephoneInitiatedEntry\n* `TRF` - CreditTransfers\n* `UDD` - UnauthenticatedDirectDebit\n* `WEB` - InternetInitiatedEntry\n",
            "enum": [
              "0000",
              "0001",
              "0002",
              90,
              91,
              92,
              "0220",
              "0221",
              "0222",
              "0223",
              "0224",
              "0225",
              "0226",
              "0227",
              "04",
              "05",
              8,
              "19",
              "58",
              "60",
              "82",
              "83",
              "85",
              "89",
              "AC01",
              "ACCEPT",
              "ADD",
              "ARC",
              "ASTI",
              "B2B",
              "B2BAMIPM",
              "BACP",
              "BPA",
              "BSE",
              "BTR",
              "CARD",
              "CCD",
              "CCI",
              "CHN",
              "CIE",
              "CKS",
              "CLSCCPERX",
              "CLSCCPLCH",
              "COR1",
              "CORAMIPM",
              "CORE",
              "CPP",
              "CR1AMIPM",
              "CRP",
              "CTP",
              "CTR",
              "CTX",
              "DDFA",
              "DDMC",
              "DDMP",
              "DDMU",
              "DDNR",
              "DDT",
              "DEP",
              "DRB",
              "DRC",
              "DRW",
              "FADAMIPM",
              "FFR",
              "FFS",
              "GST",
              "IAT",
              "ICMC",
              "IDEAL",
              "IN",
              "INST",
              "INSTIDEAL",
              "INSTNT01",
              "INSTNT01IDEAL",
              "INSTTC01",
              "INSTTC01IDEAL",
              "IPA",
              "ISE",
              "ITP",
              "MANP",
              "NLDO",
              "NLGOV",
              "NLUP",
              "ONCL",
              "PERI",
              "POP",
              "POS",
              "PPD",
              "RCK",
              "RDD",
              "RIBA",
              "RIDO",
              "RIDV",
              "RTR",
              "SBTI",
              "SCN",
              "SDCL",
              "SDD",
              "SDN",
              "SGT",
              "SRD",
              "SRT",
              "STR",
              "SVC",
              "TEL",
              "TRF",
              "UDD",
              "WEB"
            ],
            "type": "string"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "LocalInstrumentType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/LocalInstrumentTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/LocalInstrumentTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "ExternalServiceLevel1Code": {
        "description": "* `BKTR` (BookTransaction): Payment through internal book transfer.\n* `G001` (TrackedCustomerCreditTransfer): Tracked Customer Credit Transfer.\n* `G002` (TrackedStopAndRecall): Tracked Stop and Recall\n* `G003` (TrackedOutboundCorporateTransfer): Tracked Outbound Corporate Transfer.\n* `G004` (TrackedFinancialInstitutionTransfer): Tracked Financial Institution Transfer.\n* `NPCA` (NordicPaymentsCouncilAreaTransfer): Payments must be executed following the NPC Area Payment scheme.\n* `NUGP` (NonurgentPriorityPayment): Payment must be executed as a non-urgent transaction with priority settlement.\n* `NURG` (NonurgentPayment): Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction.\n* `PRPT` (EBAPriorityService): Transaction must be processed according to the EBA Priority Service.\n* `SDVA` (SameDayValue): Payment must be executed with same day value to the creditor.\n* `SEPA` (SingleEuroPaymentsArea): Payment must be executed following the Single Euro Payments Area scheme.\n* `SVDE` (DomesticChequeClearingAndSettlement): Payment execution following the cheque agreement and traveller cheque agreement of the German Banking Industry Committee (Die Deutsche Kreditwirtschaft - DK) and Deutsche Bundesbank – Scheck Verrechnung Deutschland.\n* `URGP` (UrgentPayment): Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction.\n* `URNS` (UrgentPaymentNetSettlement): Payment must be executed as an urgent transaction cleared through a real-time net settlement system, which is typically identified as a wire or high value transaction.\n* `INST` (InstantCreditTransferOrInstantDirectDebit): Used for payment initiation to identify that a Payment or Direct Debit initiation must be executed as an instant or real-time payment instrument.\n* `SRTP` (ServiceRequestToPay): Request to Pay (RTP) transaction refers to an RTP scheme (such as for example the SEPA Request to Pay (SRTP) scheme).\n* `SVAT` (ScheckVerarbeitungAustria): Scheck Verarbeitung Austria (Cheque Processing).\n* `G006` (TrackedCaseManagement): Specifies the service conditions applicable to a tracked exceptions and investigations case.\n* `G007` (TrackedInboundCustomerCreditTransfer): Specifies the service level for a tracked inbound customer credit transfer.\n* `G005` (TrackedInstantCustomerCreditTransfer): Tracked Instant Customer Credit Transfer.\n* `G009` (TrackedLowValueCrossBorderCustomerCreditTransfer): Specifies the service level for a tracked low-value cross-border customer credit transfer.\n* `WFSM` (WaitForSettlement): Transaction is to be treated as an advice and only applied to the account of the creditor or next agent after settlement of the cover has been confirmed.\n* `EOLO` (EuroOneLegOut): Payment is executed following a Euro One-Leg Out Scheme.\n* `SPLI` (SplitPayment): A split payment is a payment that is split into several payments of lower value, namely with the purpose to comply with maximum amount thresholds applicable to some domestic Payment Market Infrastructures or to reduce counterparty liquidity risk.\n",
        "enum": [
          "BKTR",
          "G001",
          "G002",
          "G003",
          "G004",
          "NPCA",
          "NUGP",
          "NURG",
          "PRPT",
          "SDVA",
          "SEPA",
          "SVDE",
          "URGP",
          "URNS",
          "INST",
          "SRTP",
          "SVAT",
          "G006",
          "G007",
          "G005",
          "G009",
          "WFSM",
          "EOLO",
          "SPLI"
        ],
        "type": "string"
      },
      "ServiceLevelCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalServiceLevel1Code"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "ServiceLevel": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ServiceLevelCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ServiceLevelCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "PaymentTypeInformation": {
        "properties": {
          "categoryPurpose": {
            "$ref": "#/components/schemas/CategoryPurpose"
          },
          "localInstrument": {
            "$ref": "#/components/schemas/LocalInstrumentType"
          },
          "serviceLevel": {
            "items": {
              "$ref": "#/components/schemas/ServiceLevel"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PurposeTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `ACCT` : AccountManagement\n* `ADCS` : AdvisoryDonationCopyrightServices\n* `ADMG` : AdministrativeManagement\n* `ADVA` : AdvancePayment\n* `AEMP` : ActiveEmploymentPolicy\n* `AGRT` : AgriculturalTransfer\n* `AIRB` : Air\n* `ALLW` : Allowance\n* `ALMY` : AlimonyPayment\n* `AMEX` : Amex\n* `ANNI` : Annuity\n* `ANTS` : AnesthesiaServices\n* `AREN` : AccountsReceivablesEntry\n* `AUCO` : AuthenticatedCollections\n* `B112` : TrailerFeePayment\n* `BBSC` : BabyBonusScheme\n* `BCDM` : BearerChequeDomestic\n* `BCFG` : BearerChequeForeign\n* `BECH` : ChildBenefit\n* `BENE` : UnemploymentDisabilityBenefit\n* `BEXP` : BusinessExpenses\n* `BFWD` : BondForward\n* `BKDF` : BankLoanDelayedDrawFunding\n* `BKFE` : BankLoanFees\n* `BKFM` : BankLoanFundingMemo\n* `BKIP` : BankLoanAccruedInterestPayment\n* `BKPP` : BankLoanPrincipalPaydown\n* `BLDM` : BuildingMaintenance\n* `BNET` : BondForwardNetting\n* `BOCE` : BackOfficeConversionEntry\n* `BOND` : Bonds\n* `BONU` : BonusPayment.\n* `BR12` : TrailerFeeRebate\n* `BUSB` : Bus\n* `CABD` : CorporateActions-Bonds\n* `CAEQ` : CorporateActions-Equities\n* `CAFI` : CustodianManagementFeeInhouse\n* `CASH` : CashManagementTransfer\n* `CBCR` : CreditCard\n* `CBFF` : CapitalBuilding\n* `CBFR` : CapitalBuildingRetirement\n* `CBLK` : CardBulkClearing\n* `CBTV` : CableTVBill\n* `CCHD` : CashCompensationHelplessnessDisability\n* `CCIR` : CrossCurrencyIRS\n* `CCPC` : CCPClearedInitialMargin\n* `CCPM` : CCPClearedVariationMargin\n* `CCRD` : CreditCardPayment\n* `CCSM` : CCPClearedInitialMarginSegregatedCash\n* `CDBL` : CreditCardBill\n* `CDCB` : CardPaymentWithCashBack\n* `CDCD` : CashDisbursementCashSettlement\n* `CDCS` : CashDisbursementWithSurcharging\n* `CDDP` : CardDeferredPayment\n* `CDEP` : CreditDefaultEventPayment\n* `CDOC` : OriginalCredit\n* `CDQC` : QuasiCash\n* `CFDI` : CapitalFallingDueInhouse\n* `CFEE` : CancellationFee\n* `CGDD` : CardGeneratedDirectDebit\n* `CHAR` : CharityPayment\n* `CLPR` : CarLoanPrincipalRepayment\n* `CMDT` : CommodityTransfer\n* `COLL` : CollectionPayment\n* `COMC` : CommercialPayment\n* `COMM` : Commission\n* `COMP` : CompensationPayment\n* `COMT` : ConsumerThirdPartyConsolidatedPayment\n* `CORT` : TradeSettlementPayment\n* `COST` : Costs\n* `CPKC` : CarparkCharges\n* `CPYR` : Copyright\n* `CRDS` : CreditDefaultSwap\n* `CRPR` : CrossProduct\n* `CRSP` : CreditSupport\n* `CRTL` : CreditLine\n* `CSDB` : CashDisbursementCashManagement\n* `CSLP` : CompanySocialLoanPaymentToBank\n* `CVCF` : ConvalescentCareFacility\n* `DBCR` : DebitCard\n* `DBTC` : DebitCollectionPayment\n* `DCRD` : DebitCardPayment\n* `DEPT` : Deposit\n* `DERI` : Derivatives\n* `DICL` : Diners\n* `DIVD` : Dividend\n* `DMEQ` : DurableMedicaleEquipment\n* `DNTS` : DentalServices\n* `DSMT` : PrintedOrderDisbursement\n* `DVPM` : DeliverAgainstPayment\n* `ECPG` : GuaranteedEPayment\n* `ECPR` : EPaymentReturn\n* `ECPU` : NonGuaranteedEPayment\n* `EDUC` : Education\n* `EFTC` : LowValueCredit\n* `EFTD` : LowValueDebit\n* `ELEC` : ElectricityBill\n* `ENRG` : Energies\n* `EPAY` : Epayment\n* `EQPT` : EquityOption\n* `EQTS` : Equities\n* `EQUS` : EquitySwap\n* `ESTX` : EstateTax\n* `ETUP` : EPurseTopUp\n* `EXPT` : ExoticOption\n* `EXTD` : ExchangeTradedDerivatives\n* `FACT` : FactorUpdateRelatedPayment\n* `FAND` : FinancialAidInCaseOfNaturalDisaster\n* `FCOL` : FeeCollection\n* `FCPM` : LatePaymentOfFeesAndCharges\n* `FEES` : PaymentOfFees\n* `FERB` : Ferry\n* `FIXI` : FixedIncome\n* `FLCR` : FleetCard\n* `FNET` : FuturesNettingPayment\n* `FORW` : ForwardForeignExchange\n* `FREX` : ForeignExchange\n* `FUTR` : Futures\n* `FWBC` : ForwardBrokerOwnedCashCollateral\n* `FWCC` : ForwardClientOwnedCashCollateral\n* `FWLV` : ForeignWorkerLevy\n* `FWSB` : ForwardBrokerOwnedCashCollateralSegregated\n* `FWSC` : ForwardClientOwnedSegregatedCashCollateral\n* `FXNT` : ForeignExchangeRelatedNetting\n* `GAFA` : GovernmentFamilyAllowance\n* `GAHO` : GovernmentHousingAllowance\n* `GAMB` : GamblingOrWageringPayment\n* `GASB` : GasBill\n* `GDDS` : PurchaseSaleOfGoods\n* `GDSV` : PurchaseSaleOfGoodsAndServices\n* `GFRP` : GuaranteeFundRightsPayment\n* `GIFT` : Gift\n* `GOVI` : GovernmentInsurance\n* `GOVT` : GovernmentPayment\n* `GSCB` : PurchaseSaleOfGoodsAndServicesWithCashBack\n* `GSTX` : GoodsServicesTax\n* `GVEA` : AustrianGovernmentEmployeesCategoryA\n* `GVEB` : AustrianGovernmentEmployeesCategoryB\n* `GVEC` : AustrianGovernmentEmployeesCategoryC\n* `GVED` : AustrianGovernmentEmployeesCategoryD\n* `GWLT` : GovermentWarLegislationTransfer\n* `HEDG` : Hedging\n* `HLRP` : PropertyLoanRepayment\n* `HLST` : PropertyLoanSettlement\n* `HLTC` : HomeHealthCare\n* `HLTI` : HealthInsurance\n* `HREC` : HousingRelatedContribution\n* `HSPC` : HospitalCare\n* `HSTX` : HousingTax\n* `ICCP` : IrrevocableCreditCardPayment\n* `ICRF` : IntermediateCareFacility\n* `IDCP` : IrrevocableDebitCardPayment\n* `IHRP` : InstalmentHirePurchaseAgreement\n* `INPC` : InsurancePremiumCar\n* `INPR` : InsurancePremiumRefund\n* `INSC` : PaymentOfInsuranceClaim\n* `INSM` : Installment\n* `INSU` : InsurancePremium\n* `INTC` : IntraCompanyPayment\n* `INTE` : Interest\n* `INTP` : IntraPartyPayment\n* `INTX` : IncomeTax\n* `INVS` : InvestmentAndSecurities\n* `IPAY` : InstantPayments\n* `IPCA` : InstantPaymentsCancellation\n* `IPDO` : InstantPaymentsForDonations\n* `IPEA` : InstantPaymentsInECommerceWithoutAddressData\n* `IPEC` : InstantPaymentsInECommerceWithAddressData\n* `IPEW` : InstantPaymentsInECommerce\n* `IPPS` : InstantPaymentsAtPOS\n* `IPRT` : InstantPaymentsReturn\n* `IPU2` : InstantPaymentsUnattendedVendingMachineWith2FA\n* `IPUW` : InstantPaymentsUnattendedVendingMachineWithout2FA\n* `IVPT` : InvoicePayment\n* `LBIN` : LendingBuyInNetting\n* `LBRI` : LaborInsurance\n* `LCOL` : LendingCashCollateralFreeMovement\n* `LFEE` : LendingFees\n* `LICF` : LicenseFee\n* `LIFI` : LifeInsurance\n* `LIMA` : LiquidityManagement\n* `LMEQ` : LendingEquityMarkedToMarketCashCollateral\n* `LMFI` : LendingFixedIncomeMarkedToMarketCashCollateral\n* `LMRK` : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral\n* `LOAN` : Loan\n* `LOAR` : LoanRepayment\n* `LOTT` : LotteryPayment\n* `LREB` : LendingRebatePayments\n* `LREV` : LendingRevenuePayments\n* `LSFL` : LendingClaimPayment\n* `LTCF` : LongTermCareFacility\n* `MAFC` : MedicalAidFundContribution\n* `MARF` : MedicalAidRefund\n* `MARG` : DailyMarginOnListedDerivatives\n* `MBSB` : MBSBrokerOwnedCashCollateral\n* `MBSC` : MBSClientOwnedCashCollateral\n* `MCDM` : MultiCurrenyChequeDomestic\n* `MCFG` : MultiCurrenyChequeForeign\n* `MDCS` : MedicalServices\n* `MGCC` : FuturesInitialMargin\n* `MGSC` : FuturesInitialMarginClientOwnedSegregatedCashCollateral\n* `MOMA` : MoneyMarket\n* `MP2B` : MobileP2BPayment\n* `MP2P` : MobileP2PPayment\n* `MSVC` : MultipleServiceTypes\n* `MTUP` : MobileTopUp\n* `NETT` : Netting\n* `NITX` : NetIncomeTax\n* `NOWS` : NotOtherwiseSpecified\n* `NWCH` : NetworkCharge\n* `NWCM` : NetworkCommunication\n* `OCCC` : ClientOwnedOCCPledgedCollateral\n* `OCDM` : OrderChequeDomestic\n* `OCFG` : OrderChequeForeign\n* `OFEE` : OpeningFee\n* `OPBC` : OTCOptionBrokerOwnedCashCollateral\n* `OPCC` : OTCOptionClientOwnedCashCollateral\n* `OPSB` : OTCOptionBrokerOwnedSegregatedCashCollateral\n* `OPSC` : OTCOptionClientOwnedCashSegregatedCashCollateral\n* `OPTN` : FXOption\n* `OTCD` : OTCDerivatives\n* `OTHR` : Other\n* `OTLC` : OtherTelecomRelatedBill\n* `PADD` : PreauthorizedDebit\n* `PAYR` : Payroll\n* `PCOM` : PropertyCompletionPayment\n* `PDEP` : PropertyDeposit\n* `PEFC` : PensionFundContribution\n* `PENO` : PaymentBasedOnEnforcementOrder\n* `PENS` : PensionPayment\n* `PHON` : TelephoneBill\n* `PLDS` : PropertyLoanDisbursement\n* `PLRF` : PropertyLoanRefinancing\n* `POPE` : PointOfPurchaseEntry\n* `PPTI` : PropertyInsurance\n* `PRCP` : PricePayment\n* `PRME` : PreciousMetal\n* `PTSP` : PaymentTerms\n* `PTXP` : PropertyTax\n* `RAPI` : RapidPaymentInstruction\n* `RCKE` : RepresentedCheckEntry\n* `RCPT` : ReceiptPayment\n* `RDTX` : RoadTax\n* `REBT` : Rebate\n* `REFU` : Refund\n* `RELG` : RentalLeaseGeneral\n* `RENT` : Rent\n* `REOD` : AccountOverdraftRepayment\n* `REPO` : RepurchaseAgreement\n* `RHBS` : RehabilitationSupport\n* `RIMB` : ReimbursementOfAPreviousErroneousTransaction\n* `RINP` : RecurringInstallmentPayment\n* `RLWY` : Railway\n* `ROYA` : Royalties\n* `RPBC` : BilateralRepoBrokerOwnedCollateral\n* `RPCC` : RepoClientOwnedCollateral\n* `RPNT` : BilateralRepoInternetNetting\n* `RPSB` : BilateralRepoBrokerOwnedSegregatedCashCollateral\n* `RPSC` : BilateralRepoClientOwnedSegregatedCashCollateral\n* `RRBN` : RoundRobin\n* `RRCT` : ReimbursementReceivedCreditTransfer\n* `RRTP` : RelatedRequestToPay\n* `RVPM` : ReceiveAgainstPayment\n* `RVPO` : ReverseRepurchaseAgreement\n* `SALA` : SalaryPayment\n* `SASW` : ATM\n* `SAVG` : Savings\n* `SBSC` : SecuritiesBuySellSellBuyBack\n* `SCIE` : SingleCurrencyIRSExotic\n* `SCIR` : SingleCurrencyIRS\n* `SCRP` : SecuritiesCrossProducts\n* `SCVE` : PurchaseSaleOfServices\n* `SECU` : Securities\n* `SEPI` : SecuritiesPurchaseInhouse\n* `SERV` : ServiceCharges\n* `SHBC` : BrokerOwnedCollateralShortSale\n* `SHCC` : ClientOwnedCollateralShortSale\n* `SHSL` : ShortSell\n* `SLEB` : SecuritiesLendingAndBorrowing\n* `SLOA` : SecuredLoan\n* `SLPI` : PaymentSlipInstruction\n* `SPLT` : SplitPayments\n* `SPSP` : SalaryPensionSumPayment\n* `SSBE` : SocialSecurityBenefit\n* `STDY` : Study\n* `SUBS` : Subscription\n* `SUPP` : SupplierPayment\n* `SWBC` : SwapBrokerOwnedCashCollateral\n* `SWCC` : SwapClientOwnedCashCollateral\n* `SWFP` : SwapContractFinalPayment\n* `SWPP` : SwapContractPartialPayment\n* `SWPT` : Swaption\n* `SWRS` : SwapContractResetPayment\n* `SWSB` : SwapsBrokerOwnedSegregatedCashCollateral\n* `SWSC` : SwapsClientOwnedSegregatedCashCollateral\n* `SWUF` : SwapContractUpfrontPayment\n* `TAXR` : TaxRefund\n* `TAXS` : TaxPayment\n* `TBAN` : TBAPairOffNetting\n* `TBAS` : ToBeAnnounced\n* `TBBC` : TBABrokerOwnedCashCollateral\n* `TBCC` : TBAClientOwnedCashCollateral\n* `TBIL` : TelecommunicationsBill\n* `TCSC` : TownCouncilServiceCharges\n* `TELI` : TelephoneInitiatedTransaction\n* `TLRF` : NonUSMutualFundTrailerFeePayment\n* `TLRR` : NonUSMutualFundTrailerFeeRebatePayment\n* `TMPG` : TMPGClaimPayment\n* `TPRI` : TriPartyRepoInterest\n* `TPRP` : TriPartyRepoNetting\n* `TRAD` : Commercial\n* `TRCP` : TreasuryCrossProduct\n* `TREA` : TreasuryPayment\n* `TRFD` : TrustFund\n* `TRNC` : TruncatedPaymentSlip\n* `TRPT` : RoadPricing\n* `TRVC` : TravellerCheque\n* `UBIL` : Utilities\n* `UNIT` : UnitTrustPurchase\n* `VATX` : ValueAddedTaxPayment\n* `VIEW` : VisionCare\n* `WEBI` : InternetInitiatedTransaction\n* `WHLD` : WithHolding\n* `WTER` : WaterBill\n",
            "enum": [
              "BKDF",
              "BKFE",
              "BKFM",
              "BKIP",
              "BKPP",
              "CBLK",
              "CDCB",
              "CDCD",
              "CDCS",
              "CDDP",
              "CDOC",
              "CDQC",
              "ETUP",
              "FCOL",
              "MTUP",
              "ACCT",
              "CASH",
              "COLL",
              "CSDB",
              "DEPT",
              "INTC",
              "INTP",
              "LIMA",
              "NETT",
              "BFWD",
              "CCIR",
              "CCPC",
              "CCPM",
              "CCSM",
              "CRDS",
              "CRPR",
              "CRSP",
              "CRTL",
              "EQPT",
              "EQUS",
              "EXPT",
              "EXTD",
              "FIXI",
              "FWBC",
              "FWCC",
              "FWSB",
              "FWSC",
              "MARG",
              "MBSB",
              "MBSC",
              "MGCC",
              "MGSC",
              "OCCC",
              "OPBC",
              "OPCC",
              "OPSB",
              "OPSC",
              "OPTN",
              "OTCD",
              "REPO",
              "RPBC",
              "RPCC",
              "RPSB",
              "RPSC",
              "RVPO",
              "SBSC",
              "SCIE",
              "SCIR",
              "SCRP",
              "SHBC",
              "SHCC",
              "SHSL",
              "SLEB",
              "SLOA",
              "SWBC",
              "SWCC",
              "SWPT",
              "SWSB",
              "SWSC",
              "TBAS",
              "TBBC",
              "TBCC",
              "TRCP",
              "AGRT",
              "AREN",
              "BEXP",
              "BOCE",
              "COMC",
              "CPYR",
              "GDDS",
              "GDSV",
              "GSCB",
              "LICF",
              "MP2B",
              "POPE",
              "ROYA",
              "SCVE",
              "SERV",
              "SUBS",
              "SUPP",
              "TRAD",
              "CHAR",
              "COMT",
              "MP2P",
              "ECPG",
              "ECPR",
              "ECPU",
              "EPAY",
              "CLPR",
              "COMP",
              "DBTC",
              "GOVI",
              "HLRP",
              "HLST",
              "INPC",
              "INPR",
              "INSC",
              "INSU",
              "INTE",
              "LBRI",
              "LIFI",
              "LOAN",
              "LOAR",
              "PENO",
              "PPTI",
              "RELG",
              "RINP",
              "TRFD",
              "FORW",
              "FXNT",
              "ADMG",
              "ADVA",
              "BCDM",
              "BCFG",
              "BLDM",
              "BNET",
              "CBFF",
              "CBFR",
              "CCRD",
              "CDBL",
              "CFEE",
              "CGDD",
              "CORT",
              "COST",
              "CPKC",
              "DCRD",
              "DSMT",
              "DVPM",
              "EDUC",
              "FACT",
              "FAND",
              "FCPM",
              "FEES",
              "GIFT",
              "GOVT",
              "ICCP",
              "IDCP",
              "IHRP",
              "INSM",
              "IVPT",
              "MCDM",
              "MCFG",
              "MSVC",
              "NOWS",
              "OCDM",
              "OCFG",
              "OFEE",
              "OTHR",
              "PADD",
              "PTSP",
              "RCKE",
              "RCPT",
              "REBT",
              "REFU",
              "RENT",
              "REOD",
              "RIMB",
              "RPNT",
              "RRBN",
              "RRCT",
              "RRTP",
              "RVPM",
              "SLPI",
              "SPLT",
              "STDY",
              "TBAN",
              "TBIL",
              "TCSC",
              "TELI",
              "TMPG",
              "TPRI",
              "TPRP",
              "TRNC",
              "TRVC",
              "WEBI",
              "IPAY",
              "IPCA",
              "IPDO",
              "IPEA",
              "IPEC",
              "IPEW",
              "IPPS",
              "IPRT",
              "IPU2",
              "IPUW",
              "ANNI",
              "CAFI",
              "CFDI",
              "CMDT",
              "DERI",
              "DIVD",
              "FREX",
              "HEDG",
              "INVS",
              "PRME",
              "SAVG",
              "SECU",
              "SEPI",
              "TREA",
              "UNIT",
              "FNET",
              "FUTR",
              "ANTS",
              "CVCF",
              "DMEQ",
              "DNTS",
              "HLTC",
              "HLTI",
              "HSPC",
              "ICRF",
              "LTCF",
              "MAFC",
              "MARF",
              "MDCS",
              "VIEW",
              "CDEP",
              "SWFP",
              "SWPP",
              "SWRS",
              "SWUF",
              "ADCS",
              "AEMP",
              "ALLW",
              "ALMY",
              "BBSC",
              "BECH",
              "BENE",
              "BONU",
              "CCHD",
              "COMM",
              "CSLP",
              "GFRP",
              "GVEA",
              "GVEB",
              "GVEC",
              "GVED",
              "GWLT",
              "HREC",
              "PAYR",
              "PEFC",
              "PENS",
              "PRCP",
              "RHBS",
              "SALA",
              "SPSP",
              "SSBE",
              "LBIN",
              "LCOL",
              "LFEE",
              "LMEQ",
              "LMFI",
              "LMRK",
              "LREB",
              "LREV",
              "LSFL",
              "ESTX",
              "FWLV",
              "GSTX",
              "HSTX",
              "INTX",
              "NITX",
              "PTXP",
              "RDTX",
              "TAXS",
              "VATX",
              "WHLD",
              "TAXR",
              "B112",
              "BR12",
              "TLRF",
              "TLRR",
              "AIRB",
              "BUSB",
              "FERB",
              "RLWY",
              "TRPT",
              "CBTV",
              "ELEC",
              "ENRG",
              "GASB",
              "NWCH",
              "NWCM",
              "OTLC",
              "PHON",
              "UBIL",
              "WTER",
              "BOND",
              "CABD",
              "CAEQ",
              "CBCR",
              "DBCR",
              "DICL",
              "EQTS",
              "FLCR",
              "EFTC",
              "EFTD",
              "MOMA",
              "RAPI",
              "GAMB",
              "LOTT",
              "GAFA",
              "GAHO",
              "AMEX",
              "SASW",
              "AUCO",
              "PCOM",
              "PDEP",
              "PLDS",
              "PLRF"
            ],
            "type": "string"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "PurposeType": {
        "description": "Specifies the underlying reason for the payment transaction",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/PurposeTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PurposeTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "RegulatoryAuthority": {
        "properties": {
          "country": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "name": {
            "description": "The name of the entity requiring the regulatory reporting information",
            "maxLength": 140,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RegulatoryReportingDetail": {
        "properties": {
          "additionalInformation": {
            "description": "Additional details that cater for specific domestic regulatory requirements",
            "items": {
              "maxLength": 35,
              "type": "string"
            },
            "type": "array"
          },
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "code": {
            "description": "Specifies the nature, purpose, and reason for the transaction to be reported for regulatory\nand statutory requirements in a coded form.\n",
            "maxLength": 10,
            "type": "string"
          },
          "country": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "date": {
            "format": "date",
            "type": "string"
          },
          "type": {
            "description": "Specifies the type of the information supplied in the regulatory reporting detail",
            "maxLength": 35,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RegulatoryReporting": {
        "properties": {
          "applicability": {
            "description": "Identifies whether the regulatory reporting information applies to the debit side, to the credit\nside or to both debit and credit sides of the transaction.\n",
            "enum": [
              "CREDIT",
              "DEBIT",
              "BOTH"
            ],
            "type": "string"
          },
          "authority": {
            "$ref": "#/components/schemas/RegulatoryAuthority"
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/RegulatoryReportingDetail"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "CreditorReferenceType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/CreditorReferenceTypeCode",
            "PROPRIETARY": "#/components/schemas/CreditorReferenceTypeProprietary"
          },
          "propertyName": "schema"
        },
        "properties": {
          "issuer": {
            "description": "Entity that assigns the credit reference type",
            "maxLength": 35,
            "type": "string"
          },
          "schema": {
            "description": "Identifies the value as being either proprietary (`PROPRIETARY`) or as being a pre-defined code (`CODE`).\n",
            "enum": [
              "CODE",
              "PROPRIETARY"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "CreditorReferenceTypeCode": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreditorReferenceType"
          },
          {
            "description": "Specifies the type of creditor reference.",
            "properties": {
              "value": {
                "description": "* `RADM` (RemittanceAdviceMessage): Document is a remittance advice sent separately from the current transaction.\n* `RPIN` (RelatedPaymentInstruction): Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.\n* `FXDR` (ForeignExchangeDealReference): Document is a pre-agreed or pre- arranged foreign exchange transaction to which the payment transaction refers.\n* `DISP` (DispatchAdvice): Document is a dispatch advice.\n* `PUOR` (PurchaseOrder): Document is a purchase order.\n* `SCOR` (StructuredCommunicationReference): Document is a structured communication reference provided by the creditor to identify the referred transaction.\n",
                "enum": [
                  "RADM",
                  "RPIN",
                  "FXDR",
                  "DISP",
                  "PUOR",
                  "SCOR"
                ],
                "type": "string"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "CreditorReferenceTypeProprietary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreditorReferenceType"
          },
          {
            "properties": {
              "value": {
                "$ref": "#/components/schemas/ProprietaryValueLiteral"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "CreditorReference": {
        "properties": {
          "reference": {
            "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.",
            "maxLength": 35,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/CreditorReferenceType"
          }
        },
        "type": "object"
      },
      "ReferredDocumentAmount": {
        "properties": {
          "duePayableAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount specified is the exact amount due and payable to the creditor."
          },
          "remittedAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of money remitted for the referred document."
          }
        },
        "type": "object"
      },
      "ReferredDocumentType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ReferredDocumentTypeCode",
            "PROPRIETARY": "#/components/schemas/ReferredDocumentTypeProprietary"
          },
          "propertyName": "schema"
        },
        "properties": {
          "issuer": {
            "description": "Identification of the issuer of the reference document _type_.",
            "maxLength": 35,
            "type": "string"
          },
          "schema": {
            "description": "Identifies the value as being either proprietary (`PROPRIETARY`) or as being a pre-defined code (`CODE`).\n",
            "enum": [
              "CODE",
              "PROPRIETARY"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ReferredDocumentTypeCode": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferredDocumentType"
          },
          {
            "description": "Specifies the type of referred document",
            "properties": {
              "value": {
                "description": "* `AROI` : AccountReceivableOpenItem\n* `BOLD` : BillOfLading\n* `CINV` : CommercialInvoice\n* `CMCN` : CommercialContract\n* `CNFA` : CreditNoteRelatedToFinancialAdjustment\n* `CREN` : CreditNote\n* `DEBN` : DebitNote\n* `DISP` : DispatchAdvice\n* `DNFA` : DebitNoteRelatedToFinancialAdjustment\n* `HIRI` : HireInvoice\n* `MSIN` : MeteredServiceInvoice\n* `PUOR` : PurchaseOrder\n* `SBIN` : SelfBilledInvoice\n* `SOAC` : StatementOfAccount\n* `TSUT` : TradeServicesUtilityTransaction\n* `VCHR` : Voucher\n",
                "enum": [
                  "AROI",
                  "BOLD",
                  "CINV",
                  "CMCN",
                  "CNFA",
                  "CREN",
                  "DEBN",
                  "DISP",
                  "DNFA",
                  "HIRI",
                  "MSIN",
                  "PUOR",
                  "SBIN",
                  "SOAC",
                  "TSUT",
                  "VCHR"
                ],
                "type": "string"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "ReferredDocumentTypeProprietary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferredDocumentType"
          },
          {
            "properties": {
              "value": {
                "$ref": "#/components/schemas/ProprietaryValueLiteral"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "ReferredDocument": {
        "properties": {
          "documentIdentifier": {
            "description": "Unique and unambiguous identification of the referred document.",
            "maxLength": 35,
            "type": "string"
          },
          "relatedDate": {
            "description": "The date associated with the referred document.",
            "format": "date",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ReferredDocumentType"
          }
        },
        "type": "object"
      },
      "TaxParty": {
        "properties": {
          "registrationIdentification": {
            "description": "Unique identification, as assigned by an organisation, to unambiguously identify a party",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "taxIdentification": {
            "description": "Tax identification number",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "taxType": {
            "description": "Type of tax payer.",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TaxAuthorisation": {
        "properties": {
          "name": {
            "description": "Name of the tax payer or tax payer's authorised representative",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "description": "Title or position of the tax payer or tax payer's authorised representative",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AuthorisedTaxParty": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TaxParty"
          },
          {
            "properties": {
              "authorisation": {
                "$ref": "#/components/schemas/TaxAuthorisation"
              }
            },
            "type": "object"
          }
        ]
      },
      "TaxRemittance": {
        "properties": {
          "creditor": {
            "$ref": "#/components/schemas/TaxParty"
          },
          "date": {
            "description": "Date by which tax is due",
            "format": "date",
            "type": "string"
          },
          "debtor": {
            "$ref": "#/components/schemas/AuthorisedTaxParty"
          },
          "referenceNumber": {
            "description": "Tax reference information that is specific to a taxing agency.",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          },
          "sequenceNumber": {
            "description": "Sequential number of the tax report.",
            "format": "int64",
            "type": "integer"
          },
          "totalTaxAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalTaxableBaseAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "ultimateDebtor": {
            "$ref": "#/components/schemas/AuthorisedTaxParty"
          }
        },
        "type": "object"
      },
      "StructuredRemittanceInformation": {
        "properties": {
          "additionalRemittanceInformation": {
            "items": {
              "maxLength": 140,
              "type": "string"
            },
            "maxItems": 3,
            "type": "array"
          },
          "creditorReference": {
            "$ref": "#/components/schemas/CreditorReference"
          },
          "invoicer": {
            "$ref": "#/components/schemas/Party"
          },
          "originatorReference": {
            "description": "An explanation of the transaction, this field may be used to capture the information which may then be displayed on the payment originator's bank statement (ie. the debtor for a credit transfer or the creditor for a direct debit). This field is not supported by all Electrum partner implementations, and will be ignored if provided in an unsupported use-case.",
            "maxLength": 35,
            "type": "string"
          },
          "referredDocumentAmount": {
            "$ref": "#/components/schemas/ReferredDocumentAmount"
          },
          "referredDocuments": {
            "items": {
              "$ref": "#/components/schemas/ReferredDocument"
            },
            "type": "array"
          },
          "taxRemittance": {
            "$ref": "#/components/schemas/TaxRemittance"
          }
        },
        "type": "object"
      },
      "RemittanceInformation": {
        "properties": {
          "structured": {
            "items": {
              "$ref": "#/components/schemas/StructuredRemittanceInformation"
            },
            "type": "array"
          },
          "unstructured": {
            "items": {
              "maxLength": 140,
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "TaxInformation": {
        "properties": {
          "totalAmount": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "required": [
          "totalAmount"
        ],
        "type": "object"
      },
      "CreditTransfer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "A model containing the necessary information to request a transfer funds between a payer and a payee\n",
            "properties": {
              "amounts": {
                "$ref": "#/components/schemas/TransactionAmounts"
              },
              "creditor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party to which an amount of money is due.\n"
              },
              "creditorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
              },
              "creditorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the creditor.\n"
              },
              "creditorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit\nentry will be made as a result of the payment transaction.\n"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that owes an amount of money to the (ultimate) creditor.\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "debtorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain.\n"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that initiates the payment.\n"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that instructs the next party in the chain to carry out the (set of) instruction(s)\n"
              },
              "instructionForCreditorAgent": {
                "description": "Further information related to the processing of the payment instruction, provided by the\ninitiating party, and intended for the creditor agent.\n",
                "items": {
                  "$ref": "#/components/schemas/CreditorAgentInstruction"
                },
                "minItems": 0,
                "type": "array"
              },
              "intermediaryAgents": {
                "description": "Agents between the debtor's agent and the creditor's agent.\nUsage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent\nbetween the DebtorAgent and the IntermediaryAgent2\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/CreditTransferPaymentScheme"
              },
              "paymentTypeInformation": {
                "$ref": "#/components/schemas/PaymentTypeInformation",
                "description": "Set of elements used to further specify the type of transaction.\n"
              },
              "previousInstructingAgents": {
                "description": "Agent(s) between the debtor's agent and the instructing agent.\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "purpose": {
                "$ref": "#/components/schemas/PurposeType"
              },
              "regulatoryReporting": {
                "items": {
                  "$ref": "#/components/schemas/RegulatoryReporting"
                },
                "maxItems": 10,
                "type": "array"
              },
              "remittanceInformation": {
                "$ref": "#/components/schemas/RemittanceInformation"
              },
              "schema": {
                "enum": [
                  "CreditTransfer"
                ],
                "type": "string"
              },
              "settlementDate": {
                "description": "Date on which the amount of money ceases to be available to the agent that owes it and\nwhen the amount of money becomes available to the agent to which it is due.\n",
                "format": "date",
                "type": "string"
              },
              "tax": {
                "$ref": "#/components/schemas/TaxInformation"
              }
            },
            "required": [
              "paymentScheme",
              "amounts",
              "creditor",
              "creditorAccount",
              "creditorAgent",
              "debtor",
              "debtorAgent",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "ErrorDetail": {
        "description": "A model carrying information detailing the reason for an error that occurred.\n",
        "properties": {
          "detail": {
            "description": "An optional string containing details relevant to the error, for example\nan explanation of which field(s) in a message body failed validation and why.\n",
            "type": "string"
          },
          "message": {
            "description": "A human friendly description of the error that occurred.",
            "type": "string"
          },
          "schema": {
            "enum": [
              "ErrorDetail"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "message"
        ],
        "type": "object"
      },
      "Instruction": {
        "properties": {
          "code": {
            "description": "* `PHOA`: Please advise/contact next agent by phone\n* `TELA`: Please advise/contact next agent by the most efficient means of telecommunication.\n",
            "enum": [
              "PHOA",
              "TELA"
            ],
            "type": "string"
          },
          "information": {
            "description": "Further information complementing the coded instruction or instruction to the next agent that\nis bilaterally agreed or specific to a user community.\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CbprPlusFiToFiCreditTransferPaymentScheme": {
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "FiToFiCreditTransferPaymentScheme": {
        "description": "Designates which scheme an FI to FI credit transfer is associated with and describes scheme-specific information\nfor it.\n",
        "discriminator": {
          "mapping": {
            "CBPR_PLUS": "#/components/schemas/CbprPlusFiToFiCreditTransferPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CbprPlusFiToFiCreditTransferPaymentScheme"
          }
        ],
        "type": "object"
      },
      "UnstructuredRemittanceInformation": {
        "description": "Information supplied to enable the matching of an entry with the items that the transfer is\nintended to settle, such as commercial invoices in an accounts' receivable system\n",
        "properties": {
          "unstructured": {
            "items": {
              "maxLength": 140,
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "FiToFiCreditTransfer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "An FiToFiCreditTransfer is sent by a debtor financial institution to a creditor financial institution,\ndirectly or through other agents and/or a payment clearing and settlement system. It is used to move funds\nfrom a debtor account to a creditor, where both debtor and creditor are financial institutions.\n",
            "properties": {
              "creditor": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The financial institution that receives an amount of money from the financial institutional debtor\n"
              },
              "creditorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
              },
              "creditorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the creditor.\n"
              },
              "creditorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit\nentry will be made as a result of the payment transaction\n"
              },
              "debtor": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The financial institution that owes an amount of money to the (ultimate) financial institutional creditor\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "debtorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain\n"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that instructs the next party in the chain to carry out the (set of) instruction(s)\n"
              },
              "instructionForCreditorAgent": {
                "description": "Further information related to the processing of the payment instruction, provided by the\ninitiating party, and intended for the creditor agent.\n",
                "items": {
                  "$ref": "#/components/schemas/CreditorAgentInstruction"
                },
                "minItems": 0,
                "type": "array"
              },
              "instructionForNextAgent": {
                "description": "Further information related to the processing of the payment instruction that may need to be acted upon\nby the next agent, which is not the creditor agent.\n",
                "items": {
                  "$ref": "#/components/schemas/Instruction"
                },
                "minItems": 0,
                "type": "array"
              },
              "interbankSettlementAmount": {
                "$ref": "#/components/schemas/Amount"
              },
              "intermediaryAgents": {
                "description": "Agents between the debtor's agent and the creditor's agent.\nUsage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent\nbetween the DebtorAgent and the IntermediaryAgent2\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/FiToFiCreditTransferPaymentScheme"
              },
              "paymentTypeInformation": {
                "$ref": "#/components/schemas/PaymentTypeInformation",
                "description": "Set of elements used to further specify the type of transaction.\n"
              },
              "purpose": {
                "$ref": "#/components/schemas/PurposeType"
              },
              "remittanceInformation": {
                "$ref": "#/components/schemas/UnstructuredRemittanceInformation"
              },
              "schema": {
                "enum": [
                  "FiToFiCreditTransfer"
                ],
                "type": "string"
              },
              "settlementDate": {
                "description": "Date on which the amount of money ceases to be available to the agent that owes it and\nwhen the amount of money becomes available to the agent to which it is due.\n",
                "format": "date",
                "type": "string"
              }
            },
            "required": [
              "paymentScheme",
              "interbankSettlementAmount",
              "debtor",
              "creditor",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "CreditTransferInitiationInstruction": {
        "description": "A model containing information required to initiate a credit disbursement\n",
        "properties": {
          "amounts": {
            "$ref": "#/components/schemas/TransactionAmounts",
            "description": "The amount of money to be moved between the debtor and creditor entity, which may include charges\nor deductions, expressed in the currency as ordered by the initiating party\n"
          },
          "creditor": {
            "$ref": "#/components/schemas/Party",
            "description": "Party to which an amount of money is due.\n"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/PaymentAccount",
            "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "Financial institution servicing an account for the creditor.\n"
          },
          "instructionForCreditorAgent": {
            "description": "Further information related to the processing of the payment instruction, provided by the\ninitiating party, and intended for the creditor agent.\n",
            "items": {
              "$ref": "#/components/schemas/CreditorAgentInstruction"
            },
            "minItems": 0,
            "type": "array"
          },
          "paymentScheme": {
            "$ref": "#/components/schemas/CreditTransferPaymentScheme",
            "description": "Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.\n"
          },
          "paymentTypeInformation": {
            "$ref": "#/components/schemas/PaymentTypeInformation",
            "description": "Set of elements used to further specify the type of transaction.\n"
          },
          "purpose": {
            "$ref": "#/components/schemas/PurposeType",
            "description": "Specifies the underlying reason for the payment transaction\n"
          },
          "remittanceInformation": {
            "$ref": "#/components/schemas/RemittanceInformation",
            "description": "Information supplied to enable the matching of an entry with the items that the transfer is\nintended to settle, such as commercial invoices in an accounts' receivable system.\n"
          },
          "supplementaryData": {
            "$ref": "#/components/schemas/SupplementaryData",
            "description": "A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.\n"
          },
          "tax": {
            "$ref": "#/components/schemas/TaxInformation",
            "description": "Provides details on tax related to this credit transaction\n"
          },
          "transactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers",
            "description": "Unique identification, as assigned by the first initiating agent, to unambiguously identify the\ntransaction that is passed on, unchanged, throughout the entire interbank chain\n"
          }
        },
        "required": [
          "paymentScheme",
          "amounts",
          "creditor",
          "creditorAccount",
          "creditorAgent",
          "transactionIdentifiers"
        ],
        "type": "object"
      },
      "CreditTransferInitiation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A model containing the necessary information to request the initiation of multiple credit disbursements from a single debtor\n",
            "properties": {
              "controlSum": {
                "$ref": "#/components/schemas/Amount",
                "description": "Sum of the credit amounts of every individual credit transfer.\n"
              },
              "creditTransferInitiationInstructions": {
                "description": "List of instructions to initiate each credit transfer within the bulk with other financial institutions or the partner bank\n",
                "items": {
                  "$ref": "#/components/schemas/CreditTransferInitiationInstruction"
                },
                "minItems": 1,
                "type": "array"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that owes money to the creditors associated with each individual credit transfer\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result\nof the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that initiates the payment.\n"
              },
              "numberOfTransactions": {
                "description": "Number of individual credit transfer instructions within the bulk that should be initiated.\n",
                "type": "integer"
              },
              "paymentInformationId": {
                "description": "Universally unique identifier to provide an end-to-end reference to the bulk initiation.\nThis identifier remains the same for all messages related to the bulk transaction.\nNote: this is distinct from the UETR's of the individual transactions\n",
                "format": "UUID",
                "type": "string"
              },
              "paymentSchemeName": {
                "$ref": "#/components/schemas/PaymentSchemeName",
                "description": "Identifies the payment scheme applied to all the credits within the bulk\n"
              },
              "remittanceInformation": {
                "$ref": "#/components/schemas/RemittanceInformation",
                "description": "Information supplied to enable the matching of an entry with the items that the transfer is\nintended to settle, such as commercial invoices in an accounts' receivable system.\n"
              },
              "requestedExecutionDate": {
                "description": "Date at which the initiating party requests the clearing agent to process the payment.\n",
                "format": "date",
                "type": "string"
              },
              "schema": {
                "enum": [
                  "CreditTransferInitiation"
                ],
                "type": "string"
              }
            },
            "required": [
              "paymentInformationId",
              "paymentSchemeName",
              "controlSum",
              "debtor",
              "debtorAgent",
              "debtorAccount",
              "creditTransferInitiationInstructions",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "CreditTransferStatusRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "originalMessageIdentifiers": {
                "$ref": "#/components/schemas/MessageIdentifiers"
              },
              "originalTransactionIdentifiers": {
                "$ref": "#/components/schemas/TransactionIdentifiers"
              },
              "schema": {
                "enum": [
                  "CreditTransferStatusRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "originalMessageIdentifiers",
              "originalTransactionIdentifiers",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "Provides details to identify a previously submitted credit transfer transaction.\n"
      },
      "OriginalErrorResponse": {
        "description": "A model carrying information detailing a previously returned error response. If the original response included an `ErrorDetail` payload it is returned in the `detail` field.\n",
        "properties": {
          "detail": {
            "$ref": "#/components/schemas/ErrorDetail"
          },
          "httpStatus": {
            "description": "The HTTP status of the HTTP response which originally communicated the error.",
            "type": "string"
          },
          "schema": {
            "enum": [
              "OriginalErrorResponse"
            ],
            "type": "string"
          }
        },
        "required": [
          "httpStatus"
        ],
        "type": "object"
      },
      "InstitutionChoice": {
        "properties": {
          "institution": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "schema": {
            "enum": [
              "INSTITUTION"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "institution"
        ],
        "type": "object"
      },
      "PartyChoice": {
        "properties": {
          "party": {
            "$ref": "#/components/schemas/Party"
          },
          "schema": {
            "enum": [
              "PARTY"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "party"
        ],
        "type": "object"
      },
      "PartyInstitutionChoice": {
        "discriminator": {
          "mapping": {
            "INSTITUTION": "#/components/schemas/InstitutionChoice",
            "PARTY": "#/components/schemas/PartyChoice"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PartyChoice"
          },
          {
            "$ref": "#/components/schemas/InstitutionChoice"
          }
        ]
      },
      "CaseAssignment": {
        "properties": {
          "assignee": {
            "$ref": "#/components/schemas/PartyInstitutionChoice"
          },
          "assigner": {
            "$ref": "#/components/schemas/PartyInstitutionChoice"
          },
          "creationDateTime": {
            "description": "The date and time at which the message was created, in senders local timezone or UTC.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
            "format": "date-time",
            "type": "string"
          },
          "identification": {
            "description": "Uniquely identifies a case assignment\n",
            "maxLength": 35,
            "type": "string"
          }
        },
        "required": [
          "assigner",
          "assignee",
          "identification",
          "creationDateTime"
        ],
        "type": "object"
      },
      "Case6": {
        "properties": {
          "creator": {
            "$ref": "#/components/schemas/PartyInstitutionChoice"
          },
          "identification": {
            "maxLength": 35,
            "type": "string"
          },
          "reopenCaseIndication": {
            "description": "Indicates whether or not the case was previously closed and is now re-opened",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ZaAcFiToFiPaymentCancellationPaymentSchemeData": {
        "properties": {
          "cancellationType": {
            "description": "Identifies the specific business process applicable to the cancellation request.\n* `RECALL`: A request to revoke a payment instruction that has **not yet settled** or is currently in\n   **tracking**. If successful, the instruction is cancelled without financial movement (no settlement occurs).\n  If the partner makes use of Electrum's collections capabilities, this type is only expected for outbound use.\n* `SYSTEM_ERROR_CORRECTION_REQUEST`: Represents the case where a bank has experienced a technical issue that\n  resulted in settled debit collections being processed incorrectly (e.g., a batch of debits was duplicated),\n  and the industry bank is requesting that the partner bank correct the error.\n\n  A successful correction means the partner bank initiates a financial Payment Return to recover the funds\n  *from* the industry bank in order to refund the debtor.\n\n  This case is notably different from standard recalls and disputes in that:\n  (1) This strictly requires prior industry/PASA authorisation to invoke,\n  (2) it may be rejected by the partner bank if the correction cannot be applied (e.g., original transaction not found, or the transaction was already reversed via a customer dispute),\n  (3) partial reversals are not permitted, and\n  (4) the bank from industry is limited to exactly 2 (two) retry attempts for the same transaction if an earlier request was rejected.\n",
            "enum": [
              "RECALL",
              "SYSTEM_ERROR_CORRECTION_REQUEST"
            ],
            "type": "string"
          }
        },
        "required": [
          "cancellationType"
        ],
        "type": "object"
      },
      "ZaAcFiToFiPaymentCancellationPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaAcFiToFiPaymentCancellationPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "ZaEftFiToFiPaymentCancellationPaymentSchemeData": {
        "properties": {
          "cancellationType": {
            "description": "Identifies the type of EFT payment cancellation.\n* `SYSTEM_ERROR_CORRECTION_REQUEST`: Only expected for inbound use and represents the case where a bank from\n  industry has experienced a technical issue that resulted in payments to or from the partner bank being\n  reflected incorrectly (e.g. credits or debits were duplicated) and the industry bank is requesting that\n  the partner bank **attempt** to correct the error. A successful correction means that the partner bank will\n  initiate a financial Payment Return.\n\n  This case is notably different from unpaids, standard recalls and disputes in that:\n  (1) it strictly requires prior industry/PASA authorisation to invoke\n  (2) the system error correction request is expected to be best effort and may be rejected\n  by the partner bank if the request cannot be honoured (e.g. due to insufficient funds or a closed account)\n  (3) the bank from industry may retry system error correction requests for the same transaction on\n  different days if an earlier request was rejected.\n",
            "enum": [
              "SYSTEM_ERROR_CORRECTION_REQUEST"
            ],
            "type": "string"
          }
        },
        "required": [
          "cancellationType"
        ],
        "type": "object"
      },
      "ZaEftFiToFiPaymentCancellationPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaEftFiToFiPaymentCancellationPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "FiToFiPaymentCancellationPaymentScheme": {
        "description": "Designates which scheme a payment cancellation is associated with and describes scheme-specific information for the\ncancellation.\n",
        "discriminator": {
          "mapping": {
            "ZA_AC": "#/components/schemas/ZaAcFiToFiPaymentCancellationPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftFiToFiPaymentCancellationPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaEftFiToFiPaymentCancellationPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaAcFiToFiPaymentCancellationPaymentScheme"
          }
        ],
        "type": "object"
      },
      "PaymentMethod": {
        "description": "* `CreditTransfer` - Transfer of an amount of money in the books of the account servicer.\n* `DirectDebit` - Collection of an amount of money from the debtor's account by the creditor, the amount and date of collection may vary.\n",
        "enum": [
          "CreditTransfer",
          "DirectDebit"
        ],
        "type": "string"
      },
      "BaseOriginalTransactionData": {
        "properties": {
          "amounts": {
            "$ref": "#/components/schemas/TransactionAmounts"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "creditorAgentAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "debtorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "debtorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "debtorAgentAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "paymentMethod": {
            "$ref": "#/components/schemas/PaymentMethod",
            "description": "Specifies the means of payment for the original transaction.\n"
          },
          "paymentTypeInformation": {
            "$ref": "#/components/schemas/PaymentTypeInformation"
          },
          "purpose": {
            "$ref": "#/components/schemas/PurposeType"
          },
          "remittanceInformation": {
            "$ref": "#/components/schemas/RemittanceInformation"
          },
          "settlementDate": {
            "description": "Date on which the amount of money ceases to be available to the agent that owes it and when the amount of\nmoney becomes available to the agent to which it is due.\n",
            "format": "date",
            "type": "string"
          },
          "supplementaryData": {
            "$ref": "#/components/schemas/SupplementaryData"
          }
        },
        "type": "object"
      },
      "MandateInformation": {
        "description": "Provides a reference to the direct debit mandate signed between the creditor and the debtor.\n\nNote: This model is not relevant to the `ZA_EFT` scheme. Electrum will not process these\nfields for EFT payments (e.g. tracking days are not honoured for EFT).\n",
        "properties": {
          "mandateIdentification": {
            "description": "Unique identification to unambiguously identify the mandate.\nThis links the direct debit collection to the original mandate.\n\nFor DebiCheck, this field contains the scheme-assigned Mandate Reference Number\nwhich is the authoritative identifier for linking collections to mandates.\n",
            "maxLength": 35,
            "type": "string"
          },
          "trackingDays": {
            "description": "Specifies the number of days the direct debit instruction must be tracked.\nThe debtor has this period to dispute the collection.\n",
            "maximum": 99,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "OriginalTransactionReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOriginalTransactionData"
          },
          {
            "properties": {
              "creditor": {
                "$ref": "#/components/schemas/PartyInstitutionChoice"
              },
              "debtor": {
                "$ref": "#/components/schemas/PartyInstitutionChoice"
              },
              "mandateInformation": {
                "$ref": "#/components/schemas/MandateInformation"
              }
            },
            "type": "object"
          }
        ],
        "description": "Contains key elements related to the original transaction that is being referred to.\n"
      },
      "CancellationReasonCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AC02` InvalidDebtorAccountNumber - Debtor account number invalid or missing.\n* `AC03` InvalidCreditorAccountNumber - Wrong account number in Credit Transfer.\n* `AGNT` IncorrectAgent - Agent in the payment workflow is incorrect.\n* `AM09` WrongAmount - Amount is not the amount agreed or expected.\n* `BE16` InvalidDebtorIdentificationCode - Debtor or Ultimate Debtor identification code missing or invalid.\n* `COVR` CoverCancelledOrReturned - Cover payments has either been returned or cancelled.\n* `CURR` IncorrectCurrency - Currency of the payment is incorrect.\n* `CUST` RequestedByCustomer - Cancellation requested by the Debtor.\n* `CUTA` CancelUponUnableToApply - Cancellation requested because an investigation request has been received and no remediation is possible.\n* `DS24` TimeOut - Cancellation requested because the original payment order expired due to time-out.\n* `DT01` InvalidDate - Invalid date (for example, wrong or missing settlement date).\n* `DUPL` DuplicatePayment - Payment is a duplicate of another payment.\n* `FRAD` FraudulentOrigin - Cancellation requested following a transaction that was originated fraudulently. The use of the FraudulentOrigin code should be governed by jurisdictions.\n* `FRNA` ForwardToNextAgent - To complement a rejection response, suggesting the request for cancelation should be forwarded to the next agent in the payment transaction chain.\n* `FRTR` FinalResponse - Direct Debit Tracking recalled as Mandate Cancelled\n* `INDM` IndemnityRequired - To express the wish to establish a bilateral indemnity agreement.\n* `MODT` ModifiedTransaction - The underlying transaction in relation to an RTP was modified.\n* `PAID` TransactionAlreadyPaid - The underlying transaction in relation to an RTP was already paid (via other means).\n* `SVNR` ServiceNotRendered - The payment is cancelled since a cash amount rendered was not correct or goods or a service was not rendered to the customer, e.g. in an e-commerce situation.\n* `SYAD` RequestToSettlementSystemAdministrator - Cancellation requested by System Member to Settlement System Administrator to indicate that the cancellation request must not be forwarded further in the chain.\n* `TECH` TechnicalProblem - Cancellation requested following technical problems resulting in an erroneous transaction.\n* `UPAY` UnduePayment - Payment is not justified.\n* `ENUE` EndUserError - Cancellation or request for return requested by the Debtor specifically due to one or more errors by debtor in the original Credit Transfer. Usage: This code can be used for any error in the original Credit Transfer made by the Debtor. Can also be used if multiple errors were made in the original Credit Transfer.\n* `UAPA` UnauthorizedPayment - \"The Debtor is requesting a return of the payment because the payment was not properly authorized. Usage: This code can be used in the case where a Credit Transfer was made without proper authorization from the Debtor. This could be due to compromised end user credentials.\"\n* `NARR` Narrative - Reason is provided as narrative information in the additional reason information.\n* `INCR` InvalidCancellationRequest - Process a cancellation request with incorrect reference to original batch.\n* `BIAS` BatchInstructionAlreadySettled - Process a cancellation request but batch already settled.\n* `DRTP` DuplicationRequestToPay - Duplication of a request-to-pay message.\n* `WNTB` WarrantyBreach - Breach of warranty provided in connection with a request for payment.\n* `MD06` RefundRequestByEndCustomer - Return of funds requested by end customer.\n* `PPRC` PayeeParticipantRTPCancellation - Request to Pay cancellation initiated because the Payee is not in good standing.\n* `ECAG` ErrorCreditorAgent - Payee (Creditor) cancels the Request To Pay (RTP) request due to error or adjustment agreement with Payer/Debtor.\n* `NFNA` NeverForwardToNextAgent - To complement a cancellation request, instructing the market infrastructure that the request for cancelation should not be forwarded to the next agent in the payment transaction chain.\n",
            "enum": [
              "AC02",
              "AC03",
              "AGNT",
              "AM09",
              "BE16",
              "COVR",
              "CURR",
              "CUST",
              "CUTA",
              "DS24",
              "DT01",
              "DUPL",
              "FRAD",
              "FRNA",
              "FRTR",
              "INDM",
              "MODT",
              "PAID",
              "SVNR",
              "SYAD",
              "TECH",
              "UPAY",
              "ENUE",
              "UAPA",
              "NARR",
              "INCR",
              "BIAS",
              "DRTP",
              "WNTB",
              "MD06",
              "PPRC",
              "ECAG",
              "NFNA"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "CancellationReason": {
        "description": "Specifies the reason for a payment cancellation",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/CancellationReasonCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CancellationReasonCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "CancellationReasonInfo": {
        "properties": {
          "additionalInformation": {
            "description": "Additional information about the reason.\n",
            "items": {
              "maxLength": 105,
              "type": "string"
            },
            "type": "array"
          },
          "originator": {
            "$ref": "#/components/schemas/Party"
          },
          "reason": {
            "$ref": "#/components/schemas/CancellationReason"
          }
        },
        "type": "object"
      },
      "UnderlyingTransaction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OriginalTransactionReference"
          },
          {
            "properties": {
              "cancellationId": {
                "maxLength": 35,
                "type": "string"
              },
              "cancellationReasonInfo": {
                "description": "Reason information for the cancellation",
                "items": {
                  "$ref": "#/components/schemas/CancellationReasonInfo"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "FiToFiPaymentCancellationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "Sent by a financial institution to request the cancellation of an instruction previously sent.\n",
            "properties": {
              "assignment": {
                "$ref": "#/components/schemas/CaseAssignment"
              },
              "case": {
                "$ref": "#/components/schemas/Case6"
              },
              "originalTransactionIdentifiers": {
                "$ref": "#/components/schemas/TransactionIdentifiers",
                "description": "Identifies the original transaction to cancel"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/FiToFiPaymentCancellationPaymentScheme"
              },
              "schema": {
                "enum": [
                  "FiToFiPaymentCancellationRequest"
                ],
                "type": "string"
              },
              "underlyingTransaction": {
                "$ref": "#/components/schemas/UnderlyingTransaction"
              }
            },
            "required": [
              "originalTransactionIdentifiers",
              "paymentScheme",
              "underlyingTransaction",
              "assignment",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "CreditTransferInitiationStatusRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "includeIndividualCreditsStatuses": {
                "description": "A flag to indicate if the status of each individual credit transfer, as per Electrum's view, should\nbe reflected in the response\n",
                "type": "boolean"
              },
              "originalMessageIdentifiers": {
                "$ref": "#/components/schemas/MessageIdentifiers",
                "description": "Details that identified the original message in this transaction flow to which this status request relates to\n"
              },
              "paymentInformationId": {
                "description": "Universally unique identifier to provide an end-to-end reference to the bulk initiation.\nThis identifier remains the same for all messages related to the bulk transaction.\nNote: this is distinct from the UETR's of the individual transactions.\n",
                "format": "UUID",
                "type": "string"
              },
              "schema": {
                "enum": [
                  "CreditTransferInitiationStatusRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "originalMessageIdentifiers",
              "paymentInformationId",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "Provides details to identify a previously submitted bulk credit transfer initiation.\n"
      },
      "BaseResponseMessage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "An extension of `BaseMessage` which includes additional information pertinent to an asynchronous response\nmessage. In particular, original message identifiers.\n",
            "properties": {
              "originalMessageIdentifiers": {
                "$ref": "#/components/schemas/MessageIdentifiers"
              }
            },
            "required": [
              "originalMessageIdentifiers"
            ],
            "type": "object"
          }
        ]
      },
      "BaseTransactionResponseMessage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "description": "An extension of `BaseTransactionMessage` which includes additional information pertinent to an asynchronous\nresponse message. In particular, original message identifiers.\n",
            "properties": {
              "transactionIdentifiers": {
                "$ref": "#/components/schemas/TransactionIdentifiers"
              }
            },
            "required": [
              "transactionIdentifiers"
            ],
            "type": "object"
          }
        ]
      },
      "StatusReasonTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `ACCC` : AcceptedSettlementCompletedCreditorAccount\n* `ACCP` : AcceptedCustomerProfile\n* `ACSC` : AcceptedSettlementCompletedDebtorAccount\n* `ACTC` : AcceptedTechnicalValidation\n* `ACWP` : AcceptedWithoutPosting\n* `ACSP` : AcceptedSettlementInProcess\n* `ACWC` : AcceptedWithChange\n* `AB01` : AbortedClearingTimeout\n* `AB02` : AbortedClearingFatalError\n* `AB03` : AbortedSettlementTimeout\n* `AB04` : AbortedSettlementFatalError\n* `AB05` : TimeoutCreditorAgent\n* `AB06` : TimeoutInstructedAgent\n* `AB07` : OfflineAgent\n* `AB08` : OfflineCreditorAgent\n* `AB09` : ErrorCreditorAgent\n* `AB10` : ErrorInstructedAgent\n* `AB11` : TimeoutDebtorAgent\n* `AC01` : IncorrectAccountNumber\n* `AC02` : InvalidDebtorAccountNumber\n* `AC03` : InvalidCreditorAccountNumber\n* `AC04` : ClosedAccountNumber\n* `AC05` : ClosedDebtorAccountNumber\n* `AC06` : BlockedAccount\n* `AC07` : ClosedCreditorAccountNumber\n* `AC08` : InvalidBranchCode\n* `AC09` : InvalidAccountCurrency\n* `AC10` : InvalidDebtorAccountCurrency\n* `AC11` : InvalidCreditorAccountCurrency\n* `AC12` : InvalidAccountType\n* `AC13` : InvalidDebtorAccountType\n* `AC14` : InvalidCreditorAccountType\n* `AC15` : AccountDetailsChanged\n* `AC16` : CardNumberInvalid\n* `AC17` : AccountInLiquidation\n* `AEXR` : AlreadyExpiredRTP\n* `AG01` : TransactionForbidden\n* `AG02` : InvalidBankOperationCode\n* `AG03` : TransactionNotSupported\n* `AG04` : InvalidAgentCountry\n* `AG05` : InvalidDebtorAgentCountry\n* `AG06` : InvalidCreditorAgentCountry\n* `AG07` : UnsuccessfulDirectDebit\n* `AG08` : InvalidAccessRights\n* `AG09` : PaymentNotReceived\n* `AG10` : AgentSuspended\n* `AG11` : CreditorAgentSuspended\n* `AG12` : NotAllowedBookTransfer\n* `AG13` : ForbiddenReturnPayment\n* `AGNT` : IncorrectAgent\n* `ALAC` : AlreadyAcceptedRTP\n* `AM01` : ZeroAmount\n* `AM02` : NotAllowedAmount\n* `AM03` : NotAllowedCurrency\n* `AM04` : InsufficientFunds\n* `AM05` : Duplication\n* `AM06` : TooLowAmount\n* `AM07` : BlockedAmount\n* `AM09` : WrongAmount\n* `AM10` : InvalidControlSum\n* `AM11` : InvalidTransactionCurrency\n* `AM12` : InvalidAmount\n* `AM13` : AmountExceedsClearingSystemLimit\n* `AM14` : AmountExceedsAgreedLimit\n* `AM15` : AmountBelowClearingSystemMinimum\n* `AM16` : InvalidGroupControlSum\n* `AM17` : InvalidPaymentInfoControlSum\n* `AM18` : InvalidNumberOfTransactions\n* `AM19` : InvalidGroupNumberOfTransactions\n* `AM20` : InvalidPaymentInfoNumberOfTransactions\n* `AM21` : LimitExceeded\n* `AM22` : ZeroAmountNotApplied\n* `AM23` : AmountExceedsSettlementLimit\n* `APAR` : AlreadyPaidRTP\n* `ARDT` : AlreadyReturnedTransaction\n* `ARFR` : AlreadyRefusedRTP\n* `ARJR` : AlreadyRejectedRTP\n* `ATNS` : AttachmentsNotSupported\n* `BE01` : InconsistentWithEndCustomer\n* `BE04` : MissingCreditorAddress\n* `BE05` : UnrecognisedInitiatingParty\n* `BE06` : UnknownEndCustomer\n* `BE07` : MissingDebtorAddress\n* `BE08` : MissingDebtorName\n* `BE09` : InvalidCountry\n* `BE10` : InvalidDebtorCountry\n* `BE11` : InvalidCreditorCountry\n* `BE12` : InvalidCountryOfResidence\n* `BE13` : InvalidDebtorCountryOfResidence\n* `BE14` : InvalidCreditorCountryOfResidence\n* `BE15` : InvalidIdentificationCode\n* `BE16` : InvalidDebtorIdentificationCode\n* `BE17` : InvalidCreditorIdentificationCode\n* `BE18` : InvalidContactDetails\n* `BE19` : InvalidChargeBearerCode\n* `BE20` : InvalidNameLength\n* `BE21` : MissingName\n* `BE22` : MissingCreditorName\n* `BE23` : AccountProxyInvalid\n* `CERI` : CheckERI\n* `CH03` : RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture\n* `CH04` : RequestedExecutionDateOrRequestedCollectionDateTooFarInPast\n* `CH07` : ElementIsNotToBeUsedAtB-andC-Level\n* `CH09` : MandateChangesNotAllowed\n* `CH10` : InformationOnMandateChangesMissing\n* `CH11` : CreditorIdentifierIncorrect\n* `CH12` : CreditorIdentifierNotUnambiguouslyAtTransaction-Level\n* `CH13` : OriginalDebtorAccountIsNotToBeUsed\n* `CH14` : OriginalDebtorAgentIsNotToBeUsed\n* `CH15` : ElementContentIncludesMoreThan140Characters\n* `CH16` : ElementContentFormallyIncorrect\n* `CH17` : ElementNotAdmitted\n* `CH19` : ValuesWillBeSetToNextTARGETday\n* `CH20` : DecimalPointsNotCompatibleWithCurrency\n* `CH21` : RequiredCompulsoryElementMissing\n* `CH22` : COREandB2BwithinOnemessage\n* `CHQC` : ChequeSettledOnCreditorAccount\n* `CN01` : AuthorisationCancelled\n* `CNOR` : CreditorBankIsNotRegistered\n* `CURR` : IncorrectCurrency\n* `CUST` : RequestedByCustomer\n* `DNOR` : DebtorBankIsNotRegistered\n* `DS01` : ElectronicSignaturesCorrect\n* `DS02` : OrderCancelled\n* `DS03` : OrderNotCancelled\n* `DS04` : OrderRejected\n* `DS05` : OrderForwardedForPostprocessing\n* `DS06` : TransferOrder\n* `DS07` : ProcessingOK\n* `DS08` : DecompressionError\n* `DS09` : DecryptionError\n* `DS0A` : DataSignRequested\n* `DS0B` : UnknownDataSignFormat\n* `DS0C` : SignerCertificateRevoked\n* `DS0D` : SignerCertificateNotValid\n* `DS0E` : IncorrectSignerCertificate\n* `DS0F` : SignerCertificationAuthoritySignerNotValid\n* `DS0G` : NotAllowedPayment\n* `DS0H` : NotAllowedAccount\n* `DS0K` : NotAllowedNumberOfTransaction\n* `DS10` : Signer1CertificateRevoked\n* `DS11` : Signer1CertificateNotValid\n* `DS12` : IncorrectSigner1Certificate\n* `DS13` : SignerCertificationAuthoritySigner1NotValid\n* `DS14` : UserDoesNotExist\n* `DS15` : IdenticalSignatureFound\n* `DS16` : PublicKeyVersionIncorrect\n* `DS17` : DifferentOrderDataInSignatures\n* `DS18` : RepeatOrder\n* `DS19` : ElectronicSignatureRightsInsufficient\n* `DS20` : Signer2CertificateRevoked\n* `DS21` : Signer2CertificateNotValid\n* `DS22` : IncorrectSigner2Certificate\n* `DS23` : SignerCertificationAuthoritySigner2NotValid\n* `DS24` : WaitingTimeExpired\n* `DS25` : OrderFileDeleted\n* `DS26` : UserSignedMultipleTimes\n* `DS27` : UserNotYetActivated\n* `DT01` : InvalidDate\n* `DT02` : InvalidCreationDate\n* `DT03` : InvalidNonProcessingDate\n* `DT04` : FutureDateNotSupported\n* `DT05` : InvalidCutOffDate\n* `DT06` : ExecutionDateChanged\n* `DU01` : DuplicateMessageID\n* `DU02` : DuplicatePaymentInformationID\n* `DU03` : DuplicateTransaction\n* `DU04` : DuplicateEndToEndID\n* `DU05` : DuplicateInstructionID\n* `DUPL` : DuplicatePayment\n* `ED01` : CorrespondentBankNotPossible\n* `ED03` : BalanceInfoRequest\n* `ED05` : SettlementFailed\n* `ED06` : SettlementSystemNotAvailable\n* `EDTL` : ExpiryDateTooLong\n* `EDTR` : ExpiryDateTimeReached\n* `ERIN` : ERIOptionNotSupported\n* `FF01` : InvalidFileFormat\n* `FF02` : SyntaxError\n* `FF03` : InvalidPaymentTypeInformation\n* `FF04` : InvalidServiceLevelCode\n* `FF05` : InvalidLocalInstrumentCode\n* `FF06` : InvalidCategoryPurposeCode\n* `FF07` : InvalidPurpose\n* `FF08` : InvalidEndToEndId\n* `FF09` : InvalidChequeNumber\n* `FF10` : BankSystemProcessingError\n* `FF11` : ClearingRequestAborted\n* `FF12` : OriginalTransactionNotEligibleForRequestedReturn\n* `FF13` : RequestForCancellationNotFound\n* `FOCR` : FollowingCancellationRequest\n* `FR01` : Fraud\n* `FRAD` : FraudulentOrigin\n* `G000` : PaymentTransferredAndTracked\n* `G001` : PaymentTransferredAndNotTracked\n* `G002` : CreditDebitNotConfirmed\n* `G003` : CreditPendingDocuments\n* `G004` : CreditPendingFunds\n* `G005` : DeliveredWithServiceLevel\n* `G006` : DeliveredWithoutServiceLevel\n* `ID01` : CorrespondingOriginalFileStillNotSent\n* `IEDT` : IncorrectExpiryDateTime\n* `IRNR` : InitialRTPNeverReceived\n* `MD01` : NoMandate\n* `MD02` : MissingMandatoryInformationInMandate\n* `MD05` : CollectionNotDue\n* `MD06` : RefundRequestByEndCustomer\n* `MD07` : EndCustomerDeceased\n* `MS02` : NotSpecifiedReasonCustomerGenerated\n* `MS03` : NotSpecifiedReasonAgentGenerated\n* `NARR` : Narrative\n* `NERI` : NoERI\n* `NOAR` : NonAgreedRTP\n* `NOAS` : NoAnswerFromCustomer\n* `NOCM` : NotCompliantGeneric\n* `NOOR` : NoOriginalTransactionReceived\n* `NOPG` : NoPaymentGuarantee\n* `NRCH` : PayerOrPayerRTPSPNotReachable\n* `PART` : PartiallyAccepted\n* `PINS` : TypeOfPaymentInstrumentNotSupported\n* `RC01` : BankIdentifierIncorrect\n* `RC02` : InvalidBankIdentifier\n* `RC03` : InvalidDebtorBankIdentifier\n* `RC04` : InvalidCreditorBankIdentifier\n* `RC05` : InvalidBICIdentifier\n* `RC06` : InvalidDebtorBICIdentifier\n* `RC07` : InvalidCreditorBICIdentifier\n* `RC08` : InvalidClearingSystemMemberIdentifier\n* `RC09` : InvalidDebtorClearingSystemMemberIdentifier\n* `RC10` : InvalidCreditorClearingSystemMemberIdentifier\n* `RC11` : InvalidIntermediaryAgent\n* `RC12` : MissingCreditorSchemeId\n* `RCON` : RMessageConflict\n* `RECI` : ReceiverCustomerInformation\n* `REPR` : RTPReceivedCanBeProcessed\n* `RF01` : NotUniqueTransactionReference\n* `RR01` : MissingDebtorAccountOrIdentification\n* `RR02` : MissingDebtorNameOrAddress\n* `RR03` : MissingCreditorNameOrAddress\n* `RR04` : RegulatoryReason\n* `RR05` : RegulatoryInformationInvalid\n* `RR06` : TaxInformationInvalid\n* `RR07` : RemittanceInformationInvalid\n* `RR08` : RemittanceInformationTruncated\n* `RR09` : InvalidStructuredCreditorReference\n* `RR10` : InvalidCharacterSet\n* `RR11` : InvalidDebtorAgentServiceID\n* `RR12` : InvalidPartyID\n* `RTNS` : RTPNotSupportedForDebtor\n* `RUTA` : ReturnUponUnableToApply\n* `S000` : ValidRequestForCancellationAcknowledged\n* `S001` : UETRFlaggedForCancellation\n* `S002` : NetworkStopOfUETR\n* `S003` : RequestForCancellationForwarded\n* `S004` : RequestForCancellationDeliveryAcknowledgement\n* `SL01` : SpecificServiceOfferedByDebtorAgent\n* `SL02` : SpecificServiceOfferedByCreditorAgent\n* `SL03` : ServiceofClearingSystem\n* `SL11` : CreditorNotOnWhitelistOfDebtor\n* `SL12` : CreditorOnBlacklistOfDebtor\n* `SL13` : MaximumNumberOfDirectDebitTransactionsExceeded\n* `SL14` : MaximumDirectDebitTransactionAmountExceeded\n* `SP01` : PaymentStopped\n* `SP02` : PreviouslyStopped\n* `SPII` : RTPServiceProviderIdentifierIncorrect\n* `TA01` : TransmissionAborted\n* `TD01` : NoDataAvailable\n* `TD02` : FileNonReadable\n* `TD03` : IncorrectFileStructure\n* `TK01` : TokenInvalid\n* `TK02` : SenderTokenNotFound\n* `TK03` : ReceiverTokenNotFound\n* `TK09` : TokenMissing\n* `TKCM` : TokenCounterpartyMismatch\n* `TKSG` : TokenSingleUse\n* `TKSP` : TokenSuspended\n* `TKVE` : TokenValueLimitExceeded\n* `TKXP` : TokenExpired\n* `TM01` : InvalidCutOffTime\n* `TS01` : TransmissionSuccessful\n* `TS04` : TransferToSignByHand\n* `UCRD` : UnknownCreditor\n* `UPAY` : UnduePayment\n",
            "enum": [
              "ACCC",
              "ACCP",
              "ACSC",
              "ACTC",
              "ACWP",
              "ACSP",
              "ACWC",
              "AB01",
              "AB02",
              "AB03",
              "AB04",
              "AB05",
              "AB06",
              "AB07",
              "AB08",
              "AB09",
              "AB10",
              "AB11",
              "AC01",
              "AC02",
              "AC03",
              "AC04",
              "AC05",
              "AC06",
              "AC07",
              "AC08",
              "AC09",
              "AC10",
              "AC11",
              "AC12",
              "AC13",
              "AC14",
              "AC15",
              "AC16",
              "AC17",
              "AEXR",
              "AG01",
              "AG02",
              "AG03",
              "AG04",
              "AG05",
              "AG06",
              "AG07",
              "AG08",
              "AG09",
              "AG10",
              "AG11",
              "AG12",
              "AG13",
              "AGNT",
              "ALAC",
              "AM01",
              "AM02",
              "AM03",
              "AM04",
              "AM05",
              "AM06",
              "AM07",
              "AM09",
              "AM10",
              "AM11",
              "AM12",
              "AM13",
              "AM14",
              "AM15",
              "AM16",
              "AM17",
              "AM18",
              "AM19",
              "AM20",
              "AM21",
              "AM22",
              "AM23",
              "APAR",
              "ARDT",
              "ARFR",
              "ARJR",
              "ATNS",
              "BE01",
              "BE04",
              "BE05",
              "BE06",
              "BE07",
              "BE08",
              "BE09",
              "BE10",
              "BE11",
              "BE12",
              "BE13",
              "BE14",
              "BE15",
              "BE16",
              "BE17",
              "BE18",
              "BE19",
              "BE20",
              "BE21",
              "BE22",
              "BE23",
              "CERI",
              "CH03",
              "CH04",
              "CH07",
              "CH09",
              "CH10",
              "CH11",
              "CH12",
              "CH13",
              "CH14",
              "CH15",
              "CH16",
              "CH17",
              "CH19",
              "CH20",
              "CH21",
              "CH22",
              "CHQC",
              "CN01",
              "CNOR",
              "CURR",
              "CUST",
              "DNOR",
              "DS01",
              "DS02",
              "DS03",
              "DS04",
              "DS05",
              "DS06",
              "DS07",
              "DS08",
              "DS09",
              "DS0A",
              "DS0B",
              "DS0C",
              "DS0D",
              "DS0E",
              "DS0F",
              "DS0G",
              "DS0H",
              "DS0K",
              "DS10",
              "DS11",
              "DS12",
              "DS13",
              "DS14",
              "DS15",
              "DS16",
              "DS17",
              "DS18",
              "DS19",
              "DS20",
              "DS21",
              "DS22",
              "DS23",
              "DS24",
              "DS25",
              "DS26",
              "DS27",
              "DT01",
              "DT02",
              "DT03",
              "DT04",
              "DT05",
              "DT06",
              "DU01",
              "DU02",
              "DU03",
              "DU04",
              "DU05",
              "DUPL",
              "ED01",
              "ED03",
              "ED05",
              "ED06",
              "EDTL",
              "EDTR",
              "ERIN",
              "FF01",
              "FF02",
              "FF03",
              "FF04",
              "FF05",
              "FF06",
              "FF07",
              "FF08",
              "FF09",
              "FF10",
              "FF11",
              "FF12",
              "FF13",
              "FOCR",
              "FR01",
              "FRAD",
              "G000",
              "G001",
              "G002",
              "G003",
              "G004",
              "G005",
              "G006",
              "ID01",
              "IEDT",
              "IRNR",
              "MD01",
              "MD02",
              "MD05",
              "MD06",
              "MD07",
              "MS02",
              "MS03",
              "NARR",
              "NERI",
              "NOAR",
              "NOAS",
              "NOCM",
              "NOOR",
              "NOPG",
              "NRCH",
              "PART",
              "PINS",
              "RC01",
              "RC02",
              "RC03",
              "RC04",
              "RC05",
              "RC06",
              "RC07",
              "RC08",
              "RC09",
              "RC10",
              "RC11",
              "RC12",
              "RCON",
              "RECI",
              "REPR",
              "RF01",
              "RR01",
              "RR02",
              "RR03",
              "RR04",
              "RR05",
              "RR06",
              "RR07",
              "RR08",
              "RR09",
              "RR10",
              "RR11",
              "RR12",
              "RTNS",
              "RUTA",
              "S000",
              "S001",
              "S002",
              "S003",
              "S004",
              "SL01",
              "SL02",
              "SL03",
              "SL11",
              "SL12",
              "SL13",
              "SL14",
              "SP01",
              "SP02",
              "SPII",
              "TA01",
              "TD01",
              "TD02",
              "TD03",
              "TK01",
              "TK02",
              "TK03",
              "TK09",
              "TKCM",
              "TKSG",
              "TKSP",
              "TKVE",
              "TKXP",
              "TM01",
              "TS01",
              "TS04",
              "UCRD",
              "UPAY"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "StatusReasonType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/StatusReasonTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/StatusReasonTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "StatusReasonInfo": {
        "description": "Provides detailed information on a status reason.\n",
        "properties": {
          "additionalInformation": {
            "description": "A human friendly description of the status reason including any further details if applicable.\n",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/StatusReasonType"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "Status": {
        "properties": {
          "outcome": {
            "description": "- `APPROVED`: The instruction has been approved.\n- `CANCELLED`: The instruction has been cancelled.\n- `PENDING`: The instruction is pending.\n- `REJECTED`: The instruction has been rejected.\n",
            "enum": [
              "APPROVED",
              "CANCELLED",
              "PENDING",
              "REJECTED"
            ],
            "type": "string"
          },
          "reasonInfo": {
            "description": "A list of `StatusReasonInfo` values providing detailed reason information for the outcome.\n",
            "items": {
              "$ref": "#/components/schemas/StatusReasonInfo"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object"
      },
      "BasePaymentStatusReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionResponseMessage"
          },
          {
            "properties": {
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructed agent is the party receiving the status message and not the party that received the\noriginal instruction that is being reported on.\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructing agent is the party sending the status message and not the party that sent the original\ninstruction that is being reported on.\n"
              },
              "status": {
                "$ref": "#/components/schemas/Status"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          }
        ]
      },
      "OriginalTransactionData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOriginalTransactionData"
          },
          {
            "properties": {
              "creditor": {
                "$ref": "#/components/schemas/Party"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              }
            },
            "type": "object"
          }
        ],
        "description": "Contains key elements related to the original transaction that is being referred to.\n"
      },
      "CbprPlusPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "TcibPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaAcPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaEftPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRtcPaymentStatusReportPaymentSchemeData": {
        "properties": {
          "authorisationId": {
            "description": "A unique number assigned by the beneficiary bank to identify the transaction if it is approved.\nMust remain unaltered by the originator.\n",
            "maxLength": 6,
            "pattern": "^[\\dA-z ]*$",
            "type": "string"
          },
          "beneficiaryEchoData": {
            "description": "Echo data reserved for beneficiary use. Must remain unaltered by the originator.",
            "maxLength": 20,
            "pattern": "^[\\dA-z ]*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ZaRtcPaymentStatusReportPaymentScheme": {
        "properties": {
          "originalSchemeData": {
            "$ref": "#/components/schemas/ZaRtcCreditTransferPaymentSchemeData"
          },
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaRtcPaymentStatusReportPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "originalSchemeData",
          "schemeData"
        ],
        "type": "object"
      },
      "PaymentStatusReportPaymentScheme": {
        "description": "Designates which scheme a payment status report is associated with and describes scheme-specific information\nfor the payment status report.\n",
        "discriminator": {
          "mapping": {
            "CBPR_PLUS": "#/components/schemas/CbprPlusPaymentStatusReportPaymentScheme",
            "TCIB": "#/components/schemas/TcibPaymentStatusReportPaymentScheme",
            "ZA_AC": "#/components/schemas/ZaAcPaymentStatusReportPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftPaymentStatusReportPaymentScheme",
            "ZA_RPP": "#/components/schemas/ZaRppPaymentStatusReportPaymentScheme",
            "ZA_RTC": "#/components/schemas/ZaRtcPaymentStatusReportPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaRtcPaymentStatusReportPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaRppPaymentStatusReportPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaEftPaymentStatusReportPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/CbprPlusPaymentStatusReportPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaAcPaymentStatusReportPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/TcibPaymentStatusReportPaymentScheme"
          }
        ],
        "type": "object"
      },
      "PaymentStatusReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentStatusReport"
          },
          {
            "properties": {
              "mandateInformation": {
                "$ref": "#/components/schemas/MandateInformation"
              },
              "originalTransactionData": {
                "$ref": "#/components/schemas/OriginalTransactionData"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/PaymentStatusReportPaymentScheme"
              },
              "schema": {
                "enum": [
                  "PaymentStatusReport"
                ],
                "type": "string"
              }
            },
            "required": [
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "This message is used to report information about the positive or negative status of a FI to FI customer payment\ninstruction, or to report on a pending FI to FI customer instruction.\n\nThe fields `instructingAgent`, `instructedAgent` and `originalTransactionData` are not mandatory, but will\nalways be populated in payment status reports sent by Electrum.\n"
      },
      "ExternalPaymentCancellationRejectionCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AC04` ClosedAccountNumber - Account number specified has been closed on the receiver’s books.\n* `ADAC` AwaitingDebitAuthorityFromCustomer - Reported when the cancellation request cannot be processed because customer has not yet provided the debit authority on its account.\n* `AGNT` AgentDecision - Reported when the cancellation cannot be accepted because of an agent refuses to cancel.\n* `AM04` InsufficientFunds - Amount of funds available to cover specified message amount is insufficient.\n* `ARDT` AlreadyReturned - Cancellation not accepted as the transaction has already been returned.\n* `ARPL` AwaitinReply - Reported when the cancellation request cannot be processed because no reply has been  received yet from the receiver of the request message.\n* `CUST` CustomerDecision - Reported when the cancellation cannot be accepted because of a customer decision (Creditor).\n* `LEGL` LegalDecision - Reported when the cancellation cannot be accepted because of regulatory rules.\n* `NARR` Narrative - Reason is provided as narrative information in the additional reason information.\n* `NOAS` NoAnswerFromCustomer - No response from beneficiary (to the cancellation request).\n* `NOOR` NoOriginalTransactionReceived - Original transaction (subject to cancellation) never received.\n* `PTNA` PassedToTheNextAgent - Reported when the cancellation request cannot be accepted because the payment instruction has been passed to the next agent.\n* `RQDA` RequestingDebitAuthority - Reported when authority is required by the Creditor to return the payment.\n* `WSEQ` WrongSequence - Reported when the cancellation request cannot be processed because the sequence referred to in the request is not valid.\n* `INDM` CancellationIndemnityRequired - Complementing a Pending or Reject Status. Payment cancellation request cannot be accepted until an indemnity agreement is established.\n* `ACLR` AlreadyCancelledRTP - Request-to-pay has already been cancelled.\n* `AEXR` AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.\n* `ARFR` AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.\n* `ARJR` AlreadyRejectedRTP - Request-to-pay has already been rejected.\n* `PATE` PaymentAlreadyTransmittedExecution - Payment related to the request-to-pay has already been transmitted for execution.\n* `RR04` RegulatoryReason - Regulatory Reason.\n* `RCAR` RfCAlreadyRejected - Request for cancellation of the request-to-pay has already been rejected.\n* `RCNR` RfCNeverReceived - Request for cancellation of the request-to-pay has never been received.\n* `RCPR` RfCReceivedAndProcessed - Request for cancellation of the request-to-pay has already been received and processed.\n* `URTP` UnknownRTP - Request-to-pay is unknown.\n* `AACR` AlreadyAcceptedRTP - Request-to-pay (RTP) has already been accepted.\n",
            "enum": [
              "AC04",
              "ADAC",
              "AGNT",
              "AM04",
              "ARDT",
              "ARPL",
              "CUST",
              "LEGL",
              "NARR",
              "NOAS",
              "NOOR",
              "PTNA",
              "RQDA",
              "WSEQ",
              "INDM",
              "ACLR",
              "AEXR",
              "ARFR",
              "ARJR",
              "PATE",
              "RR04",
              "RCAR",
              "RCNR",
              "RCPR",
              "URTP",
              "AACR"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "CancellationStatusReason": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ExternalPaymentCancellationRejectionCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ExternalPaymentCancellationRejectionCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "CancellationStatusReasonInformation": {
        "properties": {
          "originator": {
            "$ref": "#/components/schemas/Party"
          },
          "reason": {
            "$ref": "#/components/schemas/CancellationStatusReason"
          }
        },
        "type": "object"
      },
      "CancellationStatusCode": {
        "description": "* `RJCR` RejectedCancellationRequest - Cancellation request is rejected\n* `ACCR` AcceptedCancellationRequest - Cancellation is accepted.\n* `PDCR` PendingCancellationRequest - Cancellation request is pending.\n",
        "enum": [
          "RJCR",
          "ACCR",
          "PDCR"
        ],
        "type": "string"
      },
      "CancellationDetails": {
        "description": "Specifies the details of the underlying transaction being cancelled\n",
        "properties": {
          "cancellationStatusReasonInfo": {
            "$ref": "#/components/schemas/CancellationStatusReasonInformation",
            "description": "Provides detailed information on the transaction cancellation status\n"
          },
          "originalTransaction": {
            "$ref": "#/components/schemas/OriginalTransactionReference",
            "description": "Provides information on the original transaction to which the cancellation request message refers\n"
          },
          "originalTransactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          },
          "transactionCancellationStatus": {
            "$ref": "#/components/schemas/CancellationStatusCode",
            "description": "Specifies the status of the transaction cancellation request\n"
          }
        },
        "required": [
          "originalTransactionIdentifiers",
          "transactionCancellationStatus"
        ],
        "type": "object"
      },
      "CorrectiveInterbankTransaction": {
        "description": "Provides the details of a corrective interbank payment transaction\n",
        "properties": {
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "schema": {
            "enum": [
              "CORRECTIVE_INTERBANK_TRANSACTION"
            ],
            "type": "string"
          },
          "settlementAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "settlementDate": {
            "format": "date",
            "type": "string"
          },
          "transactionIdentification": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          }
        },
        "required": [
          "settlementDate",
          "settlementAmount"
        ],
        "type": "object"
      },
      "CorrectivePaymentInitiation": {
        "description": "Provides the details of a corrective payment initiation\n",
        "properties": {
          "instructedAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "schema": {
            "enum": [
              "CORRECTIVE_PAYMENT_INITIATION"
            ],
            "type": "string"
          },
          "transactionIdentification": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          }
        },
        "required": [
          "instructedAmount"
        ],
        "type": "object"
      },
      "CorrectiveTransactionChoice": {
        "discriminator": {
          "mapping": {
            "CORRECTIVE_INTERBANK_TRANSACTION": "#/components/schemas/CorrectiveInterbankTransaction",
            "CORRECTIVE_PAYMENT_INITIATION": "#/components/schemas/CorrectivePaymentInitiation"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CorrectiveInterbankTransaction"
          },
          {
            "$ref": "#/components/schemas/CorrectivePaymentInitiation"
          }
        ]
      },
      "ZaAcResolutionOfInvestigationPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaEftResolutionOfInvestigationPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ResolutionOfInvestigationPaymentScheme": {
        "description": "Designates which scheme a resolution of investigation is associated with and describes scheme-specific information.\n",
        "discriminator": {
          "mapping": {
            "ZA_AC": "#/components/schemas/ZaAcResolutionOfInvestigationPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftResolutionOfInvestigationPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaEftResolutionOfInvestigationPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaAcResolutionOfInvestigationPaymentScheme"
          }
        ],
        "type": "object"
      },
      "InvestigationStatusCancellationConfirmation": {
        "description": "Indicates whether the cancellation of the assignment is confirmed or rejected. Used when responding to a prior\nrequest to cancel a case assignment\n",
        "properties": {
          "cancellationConfirmed": {
            "type": "boolean"
          },
          "statusType": {
            "enum": [
              "CANCELLATION_CONFIRMATION"
            ],
            "type": "string"
          }
        },
        "required": [
          "statusType",
          "cancellationConfirmed"
        ],
        "type": "object"
      },
      "InvestigationExecutionCode": {
        "description": "* `ACDA` AcceptedDebitAuthorisation - Used when a creditor accepts the debit authorisation.\n* `ACNR` AcceptedClaimNonReceipt - The claim for non-receipt of a payment instruction is accepted.\n* `ACVA` AcceptedValueDateAdjustment - The claim for value date correction is accepted.\n* `BIAS` BatchInstructionAlreadySettled - Process a cancellation request but batch already settled.\n* `CHRG` ChargesDetailsProvided - Further charges details are provided to resolve the case.\n* `CNCL` CancelledAsPerRequest - Used when a requested cancellation is successful.\n* `CONF` ConfirmationOfPayment - Used when a payment has been checked and was correctly executed without any intervention.\n* `CVAA` CorrectValueDateAlreadyApplied - The original value date was correct.\n* `CWFW` CancellationWillFollow - Used when a payment will be cancelled to solve an investigation case.\n* `FTNA` CancellationRequestForwardedToTheNextAgent - \"The cancellation request has been forwarded to the next agent for execution. This code should only be utilised where a Case Id is not present.\"\n* `ICOV` CoverInitiated - Used when a transfer of funds has been initiated (a cover payment) to resolve a case.\n* `IDNE` InstructionDoesNotExist - Process a  Batch Cancellation \"using an incorrect batch sequence number”.\n* `IDUP` InstructionIsDuplicate - Used when the requested check for a possible duplicate instruction is confirmed.\n* `INFO` AdditionalInformationSent - Used when additional information has been sent to the beneficiary of a payment.\n* `IPAY` PaymentInitiated - Used when the result of an investigation is, or will be, the initiation of a payment instruction.\n* `IPYI` PaymentInstructionInitiated - Used when a payment instruction (eg. MT103) has been initiated to resolve a case.\n* `IVCR` InvalidCancellationRequest - Process a cancellation request with incorrect reference to original batch.\n* `MCOV` CoverModified - Used when a transfer of funds has been modified (a cover payment) to resolve a case.\n* `MODI` ModifiedAsPerRequest - Used when a requested modification is successful.\n* `MWFW` ModificationWillFollow - Used when the payment will be modified to solve an investigation case.\n* `NINF` NoInformationAvailable - Used when no additional information is available.\n* `PDCR` PendingCancellationRequest - Used when a requested cancellation is pending.\n* `PDNG` Pending - Used to inform that a response to an investigation is pending.\n* `PECR` PartiallyExecutedCancellationRequest - Used when a requested cancellation has been partially executed.\n* `PURP` PurposeDetailsProvided - Further purpose details are provided to resolve the case.\n* `RJCR` RejectedCancellationRequest - Used when a requested cancellation has been rejected.\n* `RJNR` RejectedClaimNonReceipt - The claim for non-receipt of a payment instruction is rejected.\n* `RJVA` RejectedValueDateAdjustment - The claim for value date correction is rejected.\n* `SMTC` StatementEntryCorrect - Used when the entry in the statement is correct.\n* `SMTI` StatementEntryIncorrect - Used when the entry in the statement is incorrect and further information is provided with the resolution.\n* `UWFW` UnableToApplyWillFollow - Used when sender wants to respond to an assignment with an Unable To Apply workflow.\n",
        "enum": [
          "ACDA",
          "ACNR",
          "ACVA",
          "BIAS",
          "CHRG",
          "CNCL",
          "CONF",
          "CVAA",
          "CWFW",
          "FTNA",
          "ICOV",
          "IDNE",
          "IDUP",
          "INFO",
          "IPAY",
          "IPYI",
          "IVCR",
          "MCOV",
          "MODI",
          "MWFW",
          "NINF",
          "PDCR",
          "PDNG",
          "PECR",
          "PURP",
          "RJCR",
          "RJNR",
          "RJVA",
          "SMTC",
          "SMTI"
        ],
        "type": "string"
      },
      "InvestigationStatusConfirmation": {
        "description": "Specifies the status of the investigation, in a coded form\n",
        "properties": {
          "confirmationCode": {
            "$ref": "#/components/schemas/InvestigationExecutionCode"
          },
          "statusType": {
            "enum": [
              "CONFIRMATION"
            ],
            "type": "string"
          }
        },
        "required": [
          "statusType",
          "confirmationCode"
        ],
        "type": "object"
      },
      "InvestigationStatusDuplicateOf": {
        "description": "Indicates a duplicated case\n",
        "properties": {
          "duplicateOf": {
            "$ref": "#/components/schemas/Case6"
          },
          "statusType": {
            "enum": [
              "DUPLICATE_OF"
            ],
            "type": "string"
          }
        },
        "required": [
          "statusType",
          "duplicateOf"
        ],
        "type": "object"
      },
      "ExternalPaymentModificationRejectionCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `UM01` UnableToModifyRelatedReference - Related transaction reference cannot be modified.\n* `UM02` UnableToModifyPaymentServiceLevel - Service level element of payment type cannot be modified(former UnableToModifyBankOperationCode).\n* `UM03` UnableToModifyCategoryPurpose - Category purpose element of payment type cannot be modified (former UnableToModifyInstructionCode).\n* `UM04` UnableToModifyRequestedExecutionDate - RequestedExecutionDate cannot be modified.\n* `UM05` UnableToModifyInterbankSettlementDate - InterbankSettlementDate cannot be modified (former UnableToModifyValueDate).\n* `UM06` UnableToModifyInterbankSettlementAccount - SettlementAccount cannot be modified (former UnableToModifyInterbankSettlementAccount).\n* `UM07` UnableToModifyDebtor - Debtor cannot be modified.\n* `UM08` UnableToModifyDebtorAccount - DebtorAccount cannot be modified.\n* `UM09` UnableToModifyInstructedReimbursementAgent - InstructedReimbursementAgent cannot be modified (former UnableToModifyReceiverCorrespondent).\n* `UM10` UnableToModifyThirdReimbursementAgent - ThirdReimbursementAgent cannot be modified (former UnableToModifyThirdReimbursementInstitution).\n* `UM11` UnableToModifyPaymentClearingChannel - Clearing Channel element of payment type cannot be modified (former UnableToModifyPaymentScheme)\n* `UM12` UnableToModifyCreditorAgentAccount - Creditor agent account cannot be modified (former UnableToModifyAccountOfBeneficiaryInstitution)\n* `UM13` UnableToModifyCreditor - Creditor cannot be modified.\n* `UM14` UnableToModifyCreditorAccount - Creditor account cannot be modified.\n* `UM15` UnableToModifyRemittanceInformation - Remittance information cannot be modified.\n* `UM16` UnableToModifyPaymentPurpose - PaymentPurpose cannot be modified.\n* `UM17` UnableToModifyChargeBearer - Charge bearer cannot be modified (former UnableToModifyDetailsOfCharges).\n* `UM18` UnableToModifyInstructionForNextAgent - Instruction for next agent cannot be modified (former UnableToModifySenderToReceiver).\n* `UM19` UnableToModifyInstructionForCreditorAgent - Instruction for creditor agent cannot be modified. (former UnableToModifyInstructionForFinalAgent).\n* `UM20` InstructionCancelledSubmitNewInstruction - Used to inform of cancellation and request a new payment instruction. This should only be used if an agent does not want to modify a pending payment.\n* `UM21` UnableToModifySubmitCancellation - Modification is not possible and the cancellation is requested.\n* `UM22` UnableToModifyDebtorAgentAccount - Debtor agent account cannot be modified (applicable for direct debits).\n* `UM23` UnableToModifyInterbankSettlementAmount - Interbank settlement amount cannot be modified.\n* `UM24` UnableToModifyInstructionForDebtorAgent - Instruction for debtor agent cannot be modified (applicable for direct debits)\n* `UM25` UnableToModifyRequestedCollectionDate - Requested collection date cannot be modified (applicable for direct debits)\n* `UM26` UnableToModifyPaymentType - Payment type cannot be modified.\n* `UM27` UnableToModifyInstructedAmount - Instructed or equivalent amount cannot be modified.\n* `UM28` UnableToModifyPriority - Priority of payment message cannot be modified.\n",
            "enum": [
              "UM01",
              "UM02",
              "UM03",
              "UM04",
              "UM05",
              "UM06",
              "UM07",
              "UM08",
              "UM09",
              "UM10",
              "UM11",
              "UM12",
              "UM13",
              "UM14",
              "UM15",
              "UM16",
              "UM17",
              "UM18",
              "UM19",
              "UM20",
              "UM21",
              "UM22",
              "UM23",
              "UM24",
              "UM25",
              "UM26",
              "UM27",
              "UM28"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModificationStatusReason": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ExternalPaymentModificationRejectionCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ExternalPaymentModificationRejectionCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "InvestigationStatusRejectedModification": {
        "description": "Specifies the reason for the rejection of a modification request, in a coded form. Used when responding to a prior\nrequest to modify a payment\n",
        "properties": {
          "rejectedModificationStatus": {
            "$ref": "#/components/schemas/ModificationStatusReason",
            "description": "Reason for the rejection of a modification request, in a coded form"
          },
          "statusType": {
            "enum": [
              "REJECTED_MODIFICATION"
            ],
            "type": "string"
          }
        },
        "required": [
          "statusType",
          "rejectedModificationStatus"
        ],
        "type": "object"
      },
      "InvestigationStatus": {
        "description": "Indicates the status of an investigation\n",
        "discriminator": {
          "mapping": {
            "CANCELLATION_CONFIRMATION": "#/components/schemas/InvestigationStatusCancellationConfirmation",
            "CONFIRMATION": "#/components/schemas/InvestigationStatusConfirmation",
            "DUPLICATE_OF": "#/components/schemas/InvestigationStatusDuplicateOf",
            "REJECTED_MODIFICATION": "#/components/schemas/InvestigationStatusRejectedModification"
          },
          "propertyName": "statusType"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/InvestigationStatusConfirmation"
          },
          {
            "$ref": "#/components/schemas/InvestigationStatusRejectedModification"
          },
          {
            "$ref": "#/components/schemas/InvestigationStatusDuplicateOf"
          },
          {
            "$ref": "#/components/schemas/InvestigationStatusCancellationConfirmation"
          }
        ]
      },
      "ResolutionOfInvestigation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "properties": {
              "assignment": {
                "$ref": "#/components/schemas/CaseAssignment",
                "description": "The assignment that has been investigated\n"
              },
              "cancellationDetails": {
                "$ref": "#/components/schemas/CancellationDetails"
              },
              "correctionTransaction": {
                "$ref": "#/components/schemas/CorrectiveTransactionChoice",
                "description": "References a transaction that serves to fix the case under investigation\n"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/ResolutionOfInvestigationPaymentScheme"
              },
              "resolvedCase": {
                "$ref": "#/components/schemas/Case6",
                "description": "The case that has been resolved\n"
              },
              "schema": {
                "enum": [
                  "ResolutionOfInvestigation"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/InvestigationStatus",
                "description": "Indicates the status of the investigation\n"
              }
            },
            "required": [
              "paymentScheme",
              "assignment",
              "status",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "ReturnReasonTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AC01`: IncorrectAccountNumber\n* `AC03`: InvalidCreditorAccountNumber\n* `AC04`: ClosedAccountNumber\n* `AC06`: BlockedAccount\n* `AC13`: InvalidDebtorAccountType\n* `AC14`: InvalidAgent\n* `AC15`: AccountDetailsChanged\n* `AC16`: AccountInSequestration\n* `AC17`: AccountInLiquidation\n* `AG01`: TransactionForbidden\n* `AG02`: InvalidBankOperationCode\n* `AM01`: ZeroAmount\n* `AM02`: NotAllowedAmount\n* `AM03`: NotAllowedCurrency\n* `AM04`: InsufficientFunds\n* `AM05`: Duplication\n* `AM06`: TooLowAmount\n* `AM07`: BlockedAmount\n* `AM09`: WrongAmount\n* `AM10`: InvalidControlSum\n* `ARDT`: AlreadyReturnedTransaction\n* `BE01`: InconsistenWithEndCustomer\n* `BE04`: MissingCreditorAddress\n* `BE05`: UnrecognisedInitiatingParty\n* `BE06`: UnknownEndCustomer\n* `BE07`: MissingDebtorAddress\n* `BE08`: BankError\n* `CN01`: AuthorisationCancelled\n* `CNOR`: CreditorBankIsNotRegistered\n* `CNPC`: CashNotPickedUp\n* `CURR`: IncorrectCurrency\n* `CUST`: RequestedByCustomer\n* `DNOR`: DebtorBankIsNotRegistered\n* `DS28`: ReturnForTechnicalReason\n* `DT01`: InvalidDate\n* `DT02`: ChequeExpired\n* `ED01`: CorrespondentBankNotPossible\n* `ED03`: BalanceInfoRequest\n* `ED05`: SettlementFailed\n* `EMVL`: EMVLiabilityShift\n* `ERIN`: ERIOptionNotSupported\n* `FF05`: InvalidLocalInstrumentCode\n* `FOCR`: FollowingCancellationRequest\n* `FR01`: Fraud\n* `FRTR`: FinalResponseMandateCancelled\n* `MD01`: NoMandate\n* `MD02`: MissingMandatoryInformationInMandate\n* `MD06`: RefundRequestByEndCustomer\n* `MD07`: EndCustomerDeceased\n* `MS02`: NotSpecifiedReasonCustomerGenerated\n* `MS03`: NotSpecifiedReasonAgentGenerated\n* `NARR`: Narrative\n* `NOAS`: NoAnswerFromCustomer\n* `NOCM`: NotCompliant\n* `NOOR`: NoOriginalTransactionReceived\n* `PINL`: PINLiabilityShift\n* `RC01`: BankIdentifierIncorrect\n* `RC07`: InvalidCreditorBICIdentifier\n* `RF01`: NotUniqueTransactionReference\n* `RR01`: MissingDebtorAccountOrIdentification\n* `RR02`: MissingDebtorNameOrAddress\n* `RR03`: MissingCreditorNameOrAddress\n* `RR04`: RegulatoryReason\n* `RUTA`: ReturnUponUnableToApply\n* `SL01`: SpecificServiceOfferedByDebtorAgent\n* `SL02`: SpecificServiceOfferedByCreditorAgent\n* `SL11`: CreditorNotOnWhitelistOfDebtor\n* `SL12`: CreditorOnBlacklistOfDebtor\n* `SL13`: MaximumNumberOfDirectDebitTransactionsExceeded\n* `SL14`: MaximumDirectDebitTransactionAmountExceeded\n* `SP01`: PaymentStopped\n* `SP02`: PreviouslyStopped\n* `SVNR`: ServiceNotRendered\n* `TM01`: CutOffTime\n* `TRAC`: RemovedFromTracking\n* `UPAY`: UnduePayment\n* `AGNT`: IncorrectAgent\n* `FF06`: InvalidCategoryPurposeCode\n* `RC08`: InvalidClearingSystemMemberIdentifier\n* `BE11`: InvalidCreditorCountry\n* `BE17`: InvalidCreditorIdentificationCode\n* `AC02`: InvalidDebtorAccountNumber\n* `RR11`: InvalidDebtorAgentServiceIdentification\n* `BE10`: InvalidDebtorCountry\n* `BE16`: InvalidDebtorIdentificationCode\n* `RC11`: InvalidIntermediaryAgent\n* `RR12`: InvalidPartyIdentification\n* `FF03`: InvalidPaymentTypeInformation\n* `FF07`: InvalidPurpose\n* `FF04`: InvalidServiceLevelCode\n* `RR09`: InvalidStructuredCreditorReference\n* `RR05`: RegulatoryInformationInvalid\n* `RR07`: RemittanceInformationInvalid\n* `RR08`: RemittanceInformationTruncated\n* `RR06`: TaxInformationInvalid\n* `AG07`: UnsuccesfulDirectDebit\n* `G004`: CreditPendingFunds\n* `MD05`: CollectionNotDue\n* `AC07`: ClosedCreditorAccountNumber\n",
            "enum": [
              "AC01",
              "AC03",
              "AC04",
              "AC06",
              "AC13",
              "AC14",
              "AC15",
              "AC16",
              "AC17",
              "AG01",
              "AG02",
              "AM01",
              "AM02",
              "AM03",
              "AM04",
              "AM05",
              "AM06",
              "AM07",
              "AM09",
              "AM10",
              "ARDT",
              "BE01",
              "BE04",
              "BE05",
              "BE06",
              "BE07",
              "BE08",
              "CN01",
              "CNOR",
              "CNPC",
              "CURR",
              "CUST",
              "DNOR",
              "DS28",
              "DT01",
              "DT02",
              "ED01",
              "ED03",
              "ED05",
              "EMVL",
              "ERIN",
              "FF05",
              "FOCR",
              "FR01",
              "FRTR",
              "MD01",
              "MD02",
              "MD06",
              "MD07",
              "MS02",
              "MS03",
              "NARR",
              "NOAS",
              "NOCM",
              "NOOR",
              "PINL",
              "RC01",
              "RC07",
              "RF01",
              "RR01",
              "RR02",
              "RR03",
              "RR04",
              "RUTA",
              "SL01",
              "SL02",
              "SL11",
              "SL12",
              "SL13",
              "SL14",
              "SP01",
              "SP02",
              "SVNR",
              "TM01",
              "TRAC",
              "UPAY",
              "AGNT",
              "FF06",
              "RC08",
              "BE11",
              "BE17",
              "AC02",
              "RR11",
              "BE10",
              "BE16",
              "RC11",
              "RR12",
              "FF03",
              "FF07",
              "FF04",
              "RR09",
              "RR05",
              "RR07",
              "RR08",
              "RR06",
              "AG07",
              "G004",
              "MD05",
              "AC07"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "ReturnReasonType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ReturnReasonTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ReturnReasonTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "DisputeDetails": {
        "description": "Provides details about whether and how a debit may be disputed by the debtor. This model encapsulates\ndispute eligibility metadata which can be passed through pacs.003 payloads to downstream systems.\n",
        "properties": {
          "disputable": {
            "description": "Indicates whether the debit may be disputed by the debtor.\n",
            "type": "boolean"
          },
          "disputableReasons": {
            "description": "Reason codes indicating why the debit may or may not be disputed by the debtor.\n",
            "items": {
              "$ref": "#/components/schemas/ReturnReasonType"
            },
            "type": "array"
          },
          "disputePeriodDays": {
            "description": "The number of days from the action date of the collection during which the debtor is allowed to\ndispute the transaction. A value of 0 indicates that the transaction cannot be disputed.\n",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ZaAcSchemeData": {
        "description": "Scheme-specific data for Authenticated Collections (DebiCheck) direct debits. Unlike EFT, DebiCheck only\nsupports debit transactions (collections), so shortened account numbers used for EFT file generation are\nnot applicable here.\n",
        "properties": {
          "creditorAbbreviatedShortName": {
            "description": "The Creditor Abbreviated Short Name (ABSN). This is a 3 to 10 character description of the Ultimate Creditor's name, business, or product that will appear on the debtor's bank statement.\nThis value MUST perfectly match the ABSN stored on the active Mandate Register at the Debtor Bank (i.e. must match the short name provided for the ultimateCreditor during mandate initiation). \nMismatches will result in scheme rejections.\n",
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "creditorContractReference": {
            "description": "The unique contract reference number issued by the Ultimate Creditor to the Payer/Debtor when the contract was concluded.\nThis value MUST perfectly match the Contract Reference stored on the active Mandate Register at the Debtor Bank. (i.e must match the identifier provided for `mandate.mandateRequestIdentification` during mandate initiation).\nMismatches will result in scheme rejections.\n",
            "maxLength": 14,
            "minLength": 1,
            "type": "string"
          },
          "userReference": {
            "description": "Under the DebiCheck scheme, the user reference expected to appear on debtor statements comprises the following:\n1. `creditorAbbreviatedShortName` - right-padded with spaces to exactly 10 characters (Characters 1–10)\n2. `creditorContractReference` - right-padded with spaces to exactly 14 characters (Characters 11–24)\n3. `requestedCollectionDate` (also known as cycle date) - formatted as `YYMMDD` (Characters 25–30)\n4. The remaining 110 characters are available for bill presentment. This text will also be captured as unstructured `remittanceInformation` in the `DirectDebit`.\nOnly the first 30 characters are required to appear on debtor statements. Allowed characters are limited to printable characters.\n\nThis field will be provided for all inbound requests to the partner. \nDo NOT populate this field for outbound requests. Instead, provide any bill presentment text (up to 110 characters) in the `DirectDebit` model under `remittanceInformation.unstructured`. \nThe engine will automatically concatenate the Creditor Short Name, Contract Reference, the `DirectDebit` `requestedCollectionDate`, and your unstructured remittance text to construct the final 140-character string required by the scheme.\n",
            "maxLength": 140,
            "pattern": "^[\\u0020-\\u007A]*$",
            "type": "string"
          }
        },
        "required": [
          "creditorAbbreviatedShortName",
          "creditorContractReference"
        ],
        "type": "object"
      },
      "ZaAcDirectDebitPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaAcSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "ZaEftDirectDebitPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaEftSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "DirectDebitPaymentScheme": {
        "description": "Designates which scheme a direct debit is associated with and describes scheme-specific information for the\ndirect debit.\n",
        "discriminator": {
          "mapping": {
            "ZA_AC": "#/components/schemas/ZaAcDirectDebitPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftDirectDebitPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaEftDirectDebitPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaAcDirectDebitPaymentScheme"
          }
        ],
        "type": "object"
      },
      "SequenceTypeCode": {
        "description": "Identifies the direct debit sequence:\n* `FRST` : First collection of a series of direct debit instructions.\n* `RCUR` : Direct debit instruction where the debtor's authorisation is used for regular direct debit transactions initiated by the creditor.\n* `FNAL` : Final collection of a series of direct debit instructions.\n* `OOFF` : Direct debit instruction where the debtor's authorisation is used to initiate one single direct debit transaction.\n* `RPRE` : Collection used to represent previously reversed or returned direct debit transactions.\n",
        "enum": [
          "FRST",
          "RCUR",
          "FNAL",
          "OOFF",
          "RPRE"
        ],
        "type": "string"
      },
      "DirectDebit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "A model containing the necessary information to request a direct debit from a debtor account for a creditor.\n",
            "properties": {
              "amounts": {
                "$ref": "#/components/schemas/TransactionAmounts"
              },
              "creditor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party to which an amount of money is due.\n"
              },
              "creditorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
              },
              "creditorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the creditor.\n"
              },
              "creditorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit\nentry will be made as a result of the payment transaction.\n"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that owes an amount of money to the (ultimate) creditor.\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result\nof the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "debtorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain.\n"
              },
              "disputeDetails": {
                "$ref": "#/components/schemas/DisputeDetails",
                "description": "Provides details about whether and how the debit may be disputed by the debtor.\n"
              },
              "emergencyCollection": {
                "description": "Indicates that this direct debit was submitted via an emergency collection service.\nThe action date must equal the current processing date.\n",
                "type": "boolean"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that initiates the payment.\n"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that instructs the next party in the chain to carry out the (set of) instruction(s).\n"
              },
              "intermediaryAgents": {
                "description": "Agents between the debtor's agent and the creditor's agent. If more than one intermediary agent is\npresent, then IntermediaryAgent1 identifies the agent between the DebtorAgent and the\nIntermediaryAgent2.\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "mandateInformation": {
                "$ref": "#/components/schemas/MandateInformation",
                "description": "Provides details of the direct debit mandate signed between the creditor and the debtor.\n"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/DirectDebitPaymentScheme"
              },
              "paymentTypeInformation": {
                "$ref": "#/components/schemas/PaymentTypeInformation",
                "description": "Set of elements used to further specify the type of transaction.\n"
              },
              "purpose": {
                "$ref": "#/components/schemas/PurposeType"
              },
              "remittanceInformation": {
                "$ref": "#/components/schemas/RemittanceInformation"
              },
              "requestedCollectionDate": {
                "description": "Date and time at which the creditor requests that the amount of money is to be collected from the\ndebtor.\n",
                "format": "date",
                "type": "string"
              },
              "schema": {
                "enum": [
                  "DirectDebit"
                ],
                "type": "string"
              },
              "sequenceType": {
                "$ref": "#/components/schemas/SequenceTypeCode",
                "description": "Identifies the direct debit sequence, e.g. first, recurrent, final or one-off.\n"
              },
              "settlementDate": {
                "description": "Date on which the amount of money ceases to be available to the agent that owes it and\nwhen the amount of money becomes available to the agent to which it is due.\n",
                "format": "date",
                "type": "string"
              }
            },
            "required": [
              "paymentScheme",
              "amounts",
              "creditor",
              "creditorAgent",
              "debtor",
              "debtorAccount",
              "debtorAgent",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "TcibPaymentReturnPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaAcPaymentReturnPaymentSchemeData": {
        "description": "Scheme-specific data for Authenticated Collections (DebiCheck) payment returns.\n",
        "properties": {
          "returnType": {
            "description": "Identifies the type of Authenticated Collections payment return (pacs.004).\n\n* `DISPUTE`: Occurs when a Payer (debtor) successfully disputes a processed Authenticated Collections\n  debit instruction at their bank. Under AC clearing rules, a dispute action is strictly limited to a small set\n  of valid reasons. Two such cases are: the collection amount was incorrect (`ReturnReasonTypeCode` `AM02` -\n  'not allowed amount') or the collection date was incorrect (`ReturnReasonTypeCode` `DT01` - 'invalid date').\n  The Debtor Bank initiates this payment return to reverse the funds from the Creditor.\n\n* `SYSTEM_ERROR_CORRECTION_REQUEST`: Represents a payment return that is generated as the successful\n  financial resolution of a System Error Correction (Bank Error) process. In this scenario, the\n  Creditor Bank (after obtaining mandatory industry/PASA authorisation) previously submitted a cancellation\n  request due to a technical issue, such as an erroneously duplicated debit batch.\n  This payment return is the subsequent financial reversal initiated by the Debtor Bank to recover the\n  erroneously collected funds from the Creditor in order to refund the debtor.\n",
            "enum": [
              "DISPUTE",
              "SYSTEM_ERROR_CORRECTION_REQUEST"
            ],
            "type": "string"
          },
          "userReference": {
            "description": "A reference for the payment return that will appear on statements. This is mapped to the `RmtInf/Ustrd`\nfield. Allowed characters are limited to printable ASCII (space through 'z').\n",
            "maxLength": 30,
            "pattern": "^[\\u0020-\\u007A]*$",
            "type": "string"
          }
        },
        "required": [
          "returnType"
        ],
        "type": "object"
      },
      "ZaAcPaymentReturnPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaAcPaymentReturnPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "ZaEftPaymentReturnPaymentSchemeData": {
        "properties": {
          "originalUserReference": {
            "description": "The original user reference associated with the returned payment. This value mirrors the\n`userReference` that was supplied on the initial EFT transaction.\n",
            "type": "string"
          },
          "returnType": {
            "description": "Identifies the type of EFT payment return.\n* `UNPAID`: Occurs when a payment cannot be completed successfully by the homing bank such as due to\n  insufficient funds or account closure. Note that it is impossible for Electrum to reject unpaids received\n  from industry, so a negative payment return response from the partner will always result in a\n  reconciliation exception for inbound unpaids.\n* `DISPUTE`: Occurs when there is a disagreement between the creditor and debtor regarding a payment and,\n  after investigation with the assistance of their respective banks, the creditor's bank (in the case of a\n  credit) or the debtor's bank (in the case of a debit) decides that the payment should be returned. As for\n  unpaids, it is impossible for Electrum to reject disputes received from industry, so a negative payment\n  return response results in a reconciliation exception for inbound disputes.\n* `SYSTEM_ERROR_CORRECTION_REQUEST`: Only expected for inbound use and represents the case where a bank from\n  industry has experienced a technical issue that resulted in payments to or from the partner bank being\n  reflected incorrectly (e.g. credits or debits were duplicated) and the industry bank is requesting that\n  the partner bank **attempt** to correct the error. This case is notably different from unpaids and\n  disputes in that (1) the system error correction request is expected to be best effort and may be rejected\n  by the partner bank if the request cannot be honoured (e.g. due to insufficient funds) and (2) the bank\n  from industry may retry system error correction requests for the same transaction on different days if an\n  earlier request was rejected. **Important:** use of this value is **deprecated**, as inbound SEC requests\n  should now be received as FiToFiPaymentCancellation messages instead.\n* `HOME_BACK`: Occurs when a payment cannot be completed successfully at the operator such as a lack of\n  information required to route to the correct homing bank. Note that it is impossible for Electrum to reject\n  homebacks received from industry, so a negative payment return response from the partner will always result\n  in a reconciliation exception for inbound homebacks.\n* `SYSTEM_ERROR_CORRECTION_RESPONSE`: Indicates that this return is in response to a (successful) inbound \n  system error correction request received earlier (as a FiToFiPaymentCancellationRequest). Electrum will\n  mark the SEC request as successful and process the return to industry.\n",
            "enum": [
              "UNPAID",
              "DISPUTE",
              "SYSTEM_ERROR_CORRECTION_REQUEST",
              "HOME_BACK",
              "SYSTEM_ERROR_CORRECTION_RESPONSE"
            ],
            "type": "string"
          },
          "shortenedCreditorAccountNumber": {
            "$ref": "#/components/schemas/ShortenedAccountNumber"
          },
          "shortenedDebtorAccountNumber": {
            "$ref": "#/components/schemas/ShortenedAccountNumber"
          },
          "userCode": {
            "description": "A code allocated by PayInc. Sometimes also referred to as `BankCode`. May equal Installation code for in-house operation.\n",
            "maxLength": 4,
            "type": "string"
          }
        },
        "required": [
          "returnType"
        ],
        "type": "object"
      },
      "ZaEftPaymentReturnPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaEftPaymentReturnPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "PaymentReturnPaymentScheme": {
        "description": "Designates which scheme a payment return is associated with and describes scheme-specific information for the\nreturn.\n",
        "discriminator": {
          "mapping": {
            "TCIB": "#/components/schemas/TcibPaymentReturnPaymentScheme",
            "ZA_AC": "#/components/schemas/ZaAcPaymentReturnPaymentScheme",
            "ZA_EFT": "#/components/schemas/ZaEftPaymentReturnPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaEftPaymentReturnPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/ZaAcPaymentReturnPaymentScheme"
          },
          {
            "$ref": "#/components/schemas/TcibPaymentReturnPaymentScheme"
          }
        ],
        "type": "object"
      },
      "ReturnReasonInfo": {
        "description": "Provides detailed information on the return reason.\n",
        "properties": {
          "additionalInformation": {
            "description": "A human friendly description of the return reason including any further details if applicable.\n",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/ReturnReasonType"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "PaymentReturn": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "A model containing the necessary information to request a return of funds after settlement of credit\ntransfer instructions or direct debit instructions.\n\nNOTE: Neither `creditorAccount` nor `debtorAccount` are required fields, but `creditorAccount` is expected\nto be present for returns of direct debits, and similarly `debtorAccount` is expected to be present for\nreturns of credit transfers.\n",
            "properties": {
              "creditor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party to which an amount of money is due.\n"
              },
              "creditorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
              },
              "creditorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the creditor.\n"
              },
              "creditorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit\nentry will be made as a result of the payment transaction.\n"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that owes an amount of money to the (ultimate) creditor.\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result\nof the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "debtorAgentAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain.\n"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that initiates the instruction.\n"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructed agent is the party receiving the return message and not the party that received the\noriginal instruction that is being returned.\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructing agent is the party sending the return message and not the party that sent the original\ninstruction that is being returned.\n"
              },
              "mandateInformation": {
                "$ref": "#/components/schemas/MandateInformation",
                "description": "Provides details of the direct debit mandate signed between the creditor and the debtor.\n"
              },
              "originalMessageIdentifiers": {
                "$ref": "#/components/schemas/MessageIdentifiers",
                "description": "Identifiers for the original payment instruction (such as a `CreditTransfer` or `DirectDebit` message)\nassociated with this return.\n"
              },
              "originalTransactionData": {
                "$ref": "#/components/schemas/OriginalTransactionData"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/PaymentReturnPaymentScheme"
              },
              "paymentTypeInformation": {
                "$ref": "#/components/schemas/PaymentTypeInformation",
                "description": "Set of elements used to further specify the type of transaction.\n"
              },
              "reasonInfo": {
                "description": "A list of `ReturnReasonInfo` values providing detailed reason information for the return.\n",
                "items": {
                  "$ref": "#/components/schemas/ReturnReasonInfo"
                },
                "minItems": 1,
                "type": "array"
              },
              "returnedAmounts": {
                "$ref": "#/components/schemas/TransactionAmounts",
                "description": "Represents the amount of money to be moved between the instructing agent and the instructed agent in the\nreturned instruction.\n"
              },
              "schema": {
                "enum": [
                  "PaymentReturn"
                ],
                "type": "string"
              },
              "settlementDate": {
                "description": "Date on which the amount of money ceases to be available to the agent that owes it and\nwhen the amount of money becomes available to the agent to which it is due.\n",
                "format": "date",
                "type": "string"
              }
            },
            "required": [
              "paymentScheme",
              "returnedAmounts",
              "creditor",
              "creditorAgent",
              "debtor",
              "debtorAgent",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "RequestToPayConditions": {
        "description": "Describes the various aspects of a request to pay which must be\naccepted or to what extent they may be altered.\n",
        "properties": {
          "maxAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "The maximum payment amount that is acceptable to the payee. This does not supersede the scheme limit.\n"
          },
          "minAmount": {
            "$ref": "#/components/schemas/Amount",
            "description": "The minimum payment amount that is acceptable to the payee. This does not supersede the scheme limit.\n"
          }
        },
        "required": [
          "minAmount",
          "maxAmount"
        ],
        "type": "object"
      },
      "RequestToPay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "A model containing the necessary information to request a payer to initiate a transfer of funds to a payee\n",
            "properties": {
              "amounts": {
                "$ref": "#/components/schemas/TransactionAmounts"
              },
              "creditor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party to which an amount of money is due.\n"
              },
              "creditorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a\nresult of the payment transaction.\n"
              },
              "creditorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the creditor.\n"
              },
              "debtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Party that owes an amount of money to the creditor.\n"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount",
                "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.\n"
              },
              "debtorAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Financial institution servicing an account for the debtor.\n"
              },
              "expiryDateTime": {
                "description": "Date and time at which the request to pay expires. Some schemes\nmay still permit a payment after the request to pay expires. Upon\nexpiry, the following schemes will reject an associated payment: ZA_RPP.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
                "format": "date-time",
                "type": "string"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "Agent that instructs the next party in the chain to carry out the (set of) instruction(s)\n"
              },
              "instructionForDebtorAgent": {
                "description": "Further information related to the processing of the payment instruction, provided by the\ninitiating party, and intended for the debtor agent.\n",
                "items": {
                  "$ref": "#/components/schemas/CreditorAgentInstruction"
                },
                "minItems": 0,
                "type": "array"
              },
              "intermediaryAgents": {
                "description": "Agents between the debtor's agent and the creditor's agent.\nUsage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent\nbetween the DebtorAgent and the IntermediaryAgent2\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/CreditTransferPaymentScheme"
              },
              "paymentTypeInformation": {
                "$ref": "#/components/schemas/PaymentTypeInformation",
                "description": "Set of elements used to further specify the type of transaction.\n"
              },
              "previousInstructingAgents": {
                "description": "Agent(s) between the debtor's agent and the instructing agent.\n",
                "items": {
                  "$ref": "#/components/schemas/InstitutionIdentification"
                },
                "maxItems": 3,
                "type": "array"
              },
              "purpose": {
                "$ref": "#/components/schemas/PurposeType"
              },
              "remittanceInformation": {
                "$ref": "#/components/schemas/RemittanceInformation"
              },
              "requestToPayConditions": {
                "$ref": "#/components/schemas/RequestToPayConditions"
              },
              "schema": {
                "enum": [
                  "RequestToPay"
                ],
                "type": "string"
              },
              "tax": {
                "$ref": "#/components/schemas/TaxInformation"
              },
              "ultimateCreditor": {
                "$ref": "#/components/schemas/Party",
                "description": "Ultimate party to which an amount of money is due.\n"
              },
              "ultimateDebtor": {
                "$ref": "#/components/schemas/Party",
                "description": "Ultimate party that owes an amount of money to the (ultimate) creditor.\n"
              }
            },
            "required": [
              "paymentScheme",
              "expiryDateTime",
              "requestToPayConditions",
              "creditor",
              "creditorAccount",
              "creditorAgent",
              "debtorAccount",
              "paymentTypeInformation",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "OriginalRequestToPayData": {
        "description": "Contains key elements related to the original request to pay that is being referred to.\n",
        "properties": {
          "amounts": {
            "$ref": "#/components/schemas/TransactionAmounts"
          },
          "creditor": {
            "$ref": "#/components/schemas/Party"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "debtor": {
            "$ref": "#/components/schemas/Party"
          },
          "debtorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "debtorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "expiryDateTime": {
            "description": "Date and time at which the request to pay expires. Some schemes\nmay still permit a payment after the request to pay expires. Upon\nexpiry, the following schemes will reject an associated payment: ZA_RPP.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
            "format": "date-time",
            "type": "string"
          },
          "paymentTypeInformation": {
            "$ref": "#/components/schemas/PaymentTypeInformation"
          },
          "remittanceInformation": {
            "$ref": "#/components/schemas/RemittanceInformation"
          },
          "requestToPayConditions": {
            "$ref": "#/components/schemas/RequestToPayConditions"
          }
        },
        "type": "object"
      },
      "RequestToPayStatusReasonTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AB01`: AbortedClearingTimeout - Clearing process aborted due to timeout.\n* `AB02`: AbortedClearingFatalError - Clearing process aborted due to a fatal error.   \n* `AB05`: TimeoutCreditorAgent - Transaction stopped due to timeout at the Creditor Agent.\n* `AB06`: TimeoutInstructedAgent - Transaction stopped due to timeout at the Instructed Agent.\n* `AB07`: OfflineAgent - Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.\n* `AB08`: OfflineCreditorAgent - Creditor Agent is not online.\n* `AB09`: ErrorCreditorAgent - Transaction stopped due to error at the Creditor Agent.\n* `AB10`: ErrorInstructedAgent - Transaction stopped due to error at the Instructed Agent.\n* `AB11`: TimeoutDebtorAgent - Transaction stopped due to timeout at the Debtor Agent.\n* `AC04`: ClosedAccountNumber - Account number specified has been closed on the bank of account's books.\n* `AC05`: ClosedDebtorAccountNumber - Debtor account number closed\n* `AC06`: BlockedAccount - Account specified is blocked, prohibiting posting of transactions against it.\n* `AC07`: ClosedCreditorAccountNumber - Creditor account number closed\n* `AC08`: InvalidBranchCode - Branch code is invalid or missing\n* `AG10`: AgentSuspended - Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.\n* `AG11`: CreditorAgentSuspended - Creditor Agent of message is suspended from the Real Time Payment system.\n* `AGNT`: IncorrectAgent - Agent in the payment workflow is incorrect\n* `AM01`: ZeroAmount - Specified message amount is equal to zero\n* `AM02`: NotAllowedAmount - Specific transaction/message amount is greater than allowed maximum\n* `AM03`: NotAllowedCurrency - Specified message amount is an non processable currency outside of existing agreement\n* `AM05`: Duplication - Duplication\n* `AM06`: TooLowAmount - Specified transaction amount is less than agreed minimum.\n* `AM11`: InvalidTransactionCurrency - Transaction currency is invalid or missing\n* `AM12`: InvalidAmount - Amount is invalid or missing\n* `AM13`: AmountExceedsClearingSystemLimit - Transaction amount exceeds limits set by clearing system\n* `AM15`: AmountBelowClearingSystemMinimum - Transaction amount below minimum set by clearing system\n* `AM18`: InvalidNumberOfTransactions - Number of transactions is invalid or missing. Generic usage if cannot specify between group and payment information levels.\n* `BE01`: InconsistenWithEndCustomer - Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).\n* `BE05`: UnrecognisedInitiatingParty - Party who initiated the message is not recognised by the end customer\n* `BE06`: UnknownEndCustomer - End customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books\n* `BE07`: MissingDebtorAddress - Specification of debtor's address, which is required for payment, is missing/not correct.\n* `BE08`: MissingDebtorName - Debtor name is missing\n* `BE10`: InvalidDebtorCountry - Debtor country code is missing or invalid\n* `BE11`: InvalidCreditorCountry - Creditor country code is missing or invalid\n* `BE12`: InvalidCountryOfResidence - Country code of residence is missing or Invalid. Generic usage if cannot specifically identify debtor or creditor\n* `BE13`: InvalidDebtorCountryOfResidence - Country code of debtor's residence is missing or Invalid\n* `BE14`: InvalidCreditorCountryOfResidence - Country code of creditor's residence is missing or Invalid\n* `BE16`: InvalidDebtorIdentificationCode - Debtor or Ultimate Debtor identification code missing or invalid\n* `BE17`: InvalidCreditorIdentificationCode - Creditor or Ultimate Creditor identification code missing or invalid\n* `BE18`: InvalidContactDetails - Contact details missing or invalid\n* `BE19`: InvalidChargeBearerCode - Charge bearer code for transaction type is invalid\n* `BE20`: InvalidNameLength - Name length exceeds local rules for payment type.\n* `BE22`: MissingCreditorName - Creditor name is missing\n* `BE23`: AccountProxyInvalid - Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.\n* `CH03`: RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture - Value in Requested Execution Date or Requested Collection Date is too far in the future\n* `CH04`: RequestedExecutionDateOrRequestedCollectionDateTooFarInPast - Value in Requested Execution Date or Requested Collection Date is too far in the past\n* `CH21`: RequiredCompulsoryElementMissing - Mandatory element is missing\n* `CNOR`: CreditorBankIsNotRegistered - Creditor bank is not registered under this BIC in the CSM\n* `CURR`: IncorrectCurrency - Currency of the payment is incorrect\n* `CUST`: RequestedByCustomer - Cancellation requested by the Creditor\n* `DS01`: ElectronicSignaturesCorrect - The electronic signature(s) is/are correct\n* `DS02`: OrderCancelled - An authorized user has cancelled the order\n* `DS04`: OrderRejected - The order was rejected by the bank side (for reasons concerning content)\n* `DS0G`: NotAllowedPayment - Signer is not allowed to sign this operation type.\n* `DS0H`: NotAllowedAccount - Signer is not allowed to sign for this account.\n* `DS24`: WaitingTimeExpired - Waiting time expired due to incomplete order\n* `DS27`: UserNotYetActivated - The user is not yet activated (technically)\n* `DT01`: InvalidDate - Invalid date (eg, wrong or missing settlement date)\n* `DT02`: InvalidCreationDate - Invalid creation date and time in Group Header (eg, historic date)\n* `DT03`: InvalidNonProcessingDate - Invalid non bank processing date (eg, weekend or local public holiday)\n* `DU01`: DuplicateMessageID - Message Identification is not unique.\n* `DU02`: DuplicatePaymentInformationID - Payment Information Block is not unique.\n* `DU03`: DuplicateTransaction - Transaction is not unique.\n* `DU04`: DuplicateEndToEndID - End To End ID is not unique.\n* `DU05`: DuplicateInstructionID - Instruction ID is not unique.\n* `DUPL`: DuplicatePayment - Payment is a duplicate of another payment\n* `FF02`: SyntaxError - Syntax error reason is provided as narrative information in the additional reason information.\n* `FF03`: InvalidPaymentTypeInformation - Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code\n* `FF05`: InvalidLocalInstrumentCode - Local Instrument code is missing or invalid\n* `FF08`: InvalidEndToEndId - End to End Id missing or invalid\n* `FF10`: BankSystemProcessingError - File or transaction cannot be processed due to technical issues at the bank side\n* `FF11`: ClearingRequestAborted - Clearing request rejected due it being subject to an abort operation.\n* `MD07`: EndCustomerDeceased - End customer is deceased.\n* `MS02`: NotSpecifiedReasonCustomerGenerated - Reason has not been specified by end customer\n* `MS03`: NotSpecifiedReasonAgentGenerated - Reason has not been specified by agent.\n* `NARR`: Narrative - Reason is provided as narrative information in the additional reason information.\n* `NERI`: NoERI - Credit transfer is tagged as an Extended Remittance Information (ERI) transaction but does not contain ERI.\n* `RC03`: InvalidDebtorBankIdentifier - Debtor bank identifier is invalid or missing\n* `RC04`: InvalidCreditorBankIdentifier - Creditor bank identifier is invalid or missing\n* `RC06`: InvalidDebtorBICIdentifier - Debtor BIC identifier is invalid or missing\n* `RC07`: InvalidCreditorBICIdentifier - Creditor BIC identifier is invalid or missing\n* `RC09`: InvalidDebtorClearingSystemMemberIdentifier - Debtor ClearingSystemMember identifier is invalid or missing\n* `RC10`: InvalidCreditorClearingSystemMemberIdentifier - Creditor ClearingSystemMember identifier is invalid or missing\n* `RC11`: InvalidIntermediaryAgent - Intermediary Agent is invalid or missing\n* `RR09`: InvalidStructuredCreditorReference - Structured creditor reference invalid or missing.\n* `RR10`: InvalidCharacterSet - Character set supplied not valid for the country and payment type.\n* `S001`: UETRFlaggedForCancellation - Unique End-to-end Transaction Reference (UETR) relating to a payment has been identified as being associated with a Request for Cancellation.\n* `TA01`: TransmissonAborted - The transmission of the file was not successful – it had to be aborted (for technical reasons)\n* `NOAR`: NonAgreedRTP - No existing agreement for receiving request-to-pay messages.\n* `NOCM`: NotCompliantGeneric - Customer account is not compliant with regulatory requirements, for example FICA (in South Africa) or any other regulatory requirements which render an account inactive for certain processing.\n* `ALAC`: AlreadyAcceptedRTP - Request-to-pay has already been accepted by the Debtor.\n* `AEXR`: AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.\n* `ARFR`: AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.\n* `ARJR`: AlreadyRejectedRTP - Request-to-pay has already been rejected.\n* `EDTR`: ExpiryDateTimeReached - Expiry date time of the request-to-pay is already reached.\n* `EDTL`: ExpiryDateTooLong - Expiry date time of the request-to-pay is too far in the future.\n* `IEDT`: IncorrectExpiryDateTime - Expiry date time of the request-to-pay is incorrect.\n* `IRNR`: InitialRTPNeverReceived - No initial request-to-pay has been received.\n* `NRCH`: PayerOrPayerRTPSPNotReachable - Recipient side of the request-to-pay (payer or its request-to-pay service provider) is not reachable.\n* `RTNS`: RTPNotSupportedForDebtor - Debtor does not support request-to-pay transactions.\n* `PINS`: TypeOfPaymentInstrumentNotSupported - Type of payment requested in the request-to-pay is not supported by the payer.\n* `SVNR`: ServiceNotRendered - The payment is cancelled since a cash amount rendered was not correct or goods or a service was not rendered to the customer, e.g. in an e-commerce situation.\n* `UCRD`: UnknownCreditor - Unknown Creditor.\n",
            "enum": [
              "AB01",
              "AB02",
              "AB05",
              "AB06",
              "AB07",
              "AB08",
              "AB09",
              "AB10",
              "AB11",
              "AC04",
              "AC05",
              "AC06",
              "AC07",
              "AC08",
              "AG10",
              "AG11",
              "AGNT",
              "AM01",
              "AM02",
              "AM03",
              "AM05",
              "AM06",
              "AM11",
              "AM12",
              "AM13",
              "AM15",
              "AM18",
              "BE01",
              "BE05",
              "BE06",
              "BE07",
              "BE08",
              "BE10",
              "BE11",
              "BE12",
              "BE13",
              "BE14",
              "BE16",
              "BE17",
              "BE18",
              "BE19",
              "BE20",
              "BE22",
              "BE23",
              "CH03",
              "CH04",
              "CH21",
              "CNOR",
              "CURR",
              "CUST",
              "DS01",
              "DS02",
              "DS04",
              "DS0G",
              "DS0H",
              "DS24",
              "DS27",
              "DT01",
              "DT02",
              "DT03",
              "DU01",
              "DU02",
              "DU03",
              "DU04",
              "DU05",
              "DUPL",
              "FF02",
              "FF03",
              "FF05",
              "FF08",
              "FF10",
              "FF11",
              "MD07",
              "MS02",
              "MS03",
              "NARR",
              "NERI",
              "RC03",
              "RC04",
              "RC06",
              "RC07",
              "RC09",
              "RC10",
              "RC11",
              "RR09",
              "RR10",
              "S001",
              "TA01",
              "NOAR",
              "NOCM",
              "ALAC",
              "AEXR",
              "ARFR",
              "ARJR",
              "EDTR",
              "EDTL",
              "IEDT",
              "IRNR",
              "NRCH",
              "RTNS",
              "PINS",
              "SVNR",
              "UCRD"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "RequestToPayStatusReasonType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/RequestToPayStatusReasonTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/RequestToPayStatusReasonTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "RequestToPayStatusReasonInfo": {
        "description": "Provides detailed information on a status reason.\n",
        "properties": {
          "additionalInformation": {
            "description": "A human friendly description of the status reason including any further details if applicable.\n",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/RequestToPayStatusReasonType"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "RequestToPayStatus": {
        "properties": {
          "reasonInfo": {
            "description": "A list of `RequestToPayStatusReasonInfo` values providing detailed reason information for the status.\n",
            "items": {
              "$ref": "#/components/schemas/RequestToPayStatusReasonInfo"
            },
            "minItems": 1,
            "type": "array"
          },
          "status": {
            "description": "* `PAID`: Paid - The request to pay was approved by the debtor and the payment has been processed. Note that the outcome of the payment itself is not communicated.\n* `ACCEPTED`: Accepted - The request to pay was approved by the debtor but the payment has not yet been processed.\n* `CANCELLED`: Cancelled - Request to pay has been successfully cancelled after having received a request for cancellation.\n* `EXPIRED`: Expired - The request to pay has expired.\n* `PENDING`: Pending - The request to pay has been forwarded and an intial status report is still expected.\n* `PRESENTED`: Presented - The request to pay has been accepted by the payer participant and will be presented to the debtor.\n* `REJECTED`: Rejected - The request to pay has been rejected.\n* `REFUND_IN_PROGRESS`: Refund in progress - The refund of the original request to pay is currently in progress and does not yet have an outcome\n* `REFUNDED`: Refunded - The refund of the original request to pay has been completed successfully\n",
            "enum": [
              "PAID",
              "ACCEPTED",
              "CANCELLED",
              "EXPIRED",
              "PENDING",
              "PRESENTED",
              "REJECTED",
              "REFUND_IN_PROGRESS",
              "REFUNDED"
            ],
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "RequestToPayResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionResponseMessage"
          },
          {
            "properties": {
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructed agent is the party receiving the status message and not the party that received the\noriginal instruction that is being reported on.\n"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification",
                "description": "The instructing agent is the party sending the status message and not the party that sent the original\ninstruction that is being reported on.\n"
              },
              "originalRequestToPayData": {
                "$ref": "#/components/schemas/OriginalRequestToPayData"
              },
              "requestToPayConditions": {
                "$ref": "#/components/schemas/RequestToPayConditions"
              },
              "schema": {
                "enum": [
                  "RequestToPayResponse"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/RequestToPayStatus"
              }
            },
            "required": [
              "status",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "RequestToPayCancellation": {
        "description": "Requests that a prior request to pay is cancelled if possible (e.g. it's not yet been actioned, rejected or expired).\n",
        "properties": {
          "instructedAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "The instructed agent is the party receiving the cancellation message.\n"
          },
          "instructingAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "The instructing agent is the party sending the cancellation message.\n"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalMessageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalRequestToPayData": {
            "$ref": "#/components/schemas/OriginalRequestToPayData"
          },
          "originalTransactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          },
          "reasonCode": {
            "description": "The reason the request to pay is being cancelled.\n- `AC03`: InvalidCreditorAccountNumber - Wrong account number in Credit Transfer.\n- `AGNT`: IncorrectAgent- Agent in the payment workflow is incorrect.\n- `AM09`: WrongAmount- Amount is not the amount agreed or expected.\n- `BE16`: InvalidDebtorIdentificationCode- Debtor or Ultimate Debtor identification code missing or invalid.\n- `COVR`: CoverCancelledOrReturned- Cover payments has either been returned or cancelled.\n- `CURR`: IncorrectCurrency- Currency of the payment is incorrect.\n- `CUST`: RequestedByCustomer- Cancellation requested by the Creditor.\n- `CUTA`: CancelUponUnableToApply- Cancellation requested because an investigation request has been received and no remediation is possible.\n- `DS24`: TimeOut- Cancellation requested because the original payment order expired due to time-out.\n- `DT01`: InvalidDate- Invalid date (for example, wrong or missing settlement date).\n- `DUPL`: DuplicatePayment- Payment is a duplicate of another payment.\n- `FRAD`: FraudulentOrigin- Cancellation requested following a transaction that was originated fraudulently. The use of the FraudulentOrigin code should be governed by jurisdictions.\n- `FRNA`: ForwardToNextAgent- To complement a rejection response, suggesting the request for cancelation should be forwarded to the next agent in the payment transaction chain.\n- `FRTR`: FinalResponse- Direct Debit Tracking recalled as Mandate Cancelled\n- `INDM`: IndemnityRequired- To express the wish to establish a bilateral indemnity agreement.\n- `MODT`: ModifiedTransaction- The underlying transaction in relation to an RTP was modified.\n- `PAID`: TransactionAlreadyPaid- The underlying transaction in relation to an RTP was already paid (via other means).\n- `SVNR`: ServiceNotRendered- The payment is cancelled since a cash amount rendered was not correct or goods or a service was not rendered to the customer, e.g. in an e-commerce situation.\n- `SYAD`: RequestToSettlementSystemAdministrator- Cancellation requested by System Member to Settlement System Administrator to indicate that the cancellation request must not be forwarded further in the chain.\n- `TECH`: TechnicalProblem- Cancellation requested following technical problems resulting in an erroneous transaction.\n- `UPAY`: UnduePayment- Payment is not justified.\n- `ENUE`: EndUserError- Cancellation or request for return requested by the Debtor specifically due to one or more errors by debtor in the original Credit Transfer. Usage: This code can be used for any error in the original Credit Transfer made by the Debtor. Can also be used if multiple errors were made in the original Credit Transfer.\n- `UAPA`: UnauthorizedPayment- \"The Debtor is requesting a return of the payment because the payment was not properly authorized. Usage: This code can be used in the case where a Credit Transfer was made without proper authorization from the Debtor. This could be due to compromised end user credentials.\"\n- `NARR`: Narrative- Reason is provided as narrative information in the additional reason information.\n- `AC02`: InvalidDebtorAccountNumber- Debtor account number invalid or missing.\n- `BIAS`: BatchInstructionAlreadySettled- Process a cancellation request but batch already settled.\n- `INCR`: InvalidCancellationRequest- Process a cancellation request with incorrect reference to original batch.\n- `DRTP`: DuplicationRequestToPay- Duplication of a request-to-pay message.\n",
            "enum": [
              "AC03",
              "AGNT",
              "AM09",
              "BE16",
              "COVR",
              "CURR",
              "CUST",
              "CUTA",
              "DS24",
              "DT01",
              "DUPL",
              "FRAD",
              "FRNA",
              "FRTR",
              "INDM",
              "MODT",
              "PAID",
              "SVNR",
              "SYAD",
              "TECH",
              "UPAY",
              "ENUE",
              "UAPA",
              "NARR",
              "AC02",
              "BIAS",
              "INCR",
              "DRTP"
            ],
            "type": "string"
          },
          "reasonDescription": {
            "description": "A description of the reason the request to pay is being cancelled.",
            "type": "string"
          },
          "schema": {
            "enum": [
              "RequestToPayCancellation"
            ],
            "type": "string"
          }
        },
        "required": [
          "reasonCode",
          "schema",
          "messageIdentifiers",
          "originalMessageIdentifiers",
          "originalTransactionIdentifiers"
        ],
        "type": "object"
      },
      "RequestToPayCancellationStatusReasonTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AC04`: ClosedAccountNumber - Account number specified has been closed on the receiver’s books.\n* `ADAC`: AwaitingDebitAuthorityFromCustomer - Reported when the cancellation request cannot be processed because customer has not yet provided the debit authority on its account.\n* `AGNT`: AgentDecision - Reported when the cancellation cannot be accepted because of an agent refuses to cancel.\n* `AM04`: InsufficientFunds - Amount of funds available to cover specified message amount is insufficient.\n* `ARDT`: AlreadyReturned - Cancellation not accepted as the transaction has already been returned.\n* `ARPL`: AwaitinReply - Reported when the cancellation request cannot be processed because no reply has been  received yet from the receiver of the request message.\n* `CUST`: CustomerDecision - Reported when the cancellation cannot be accepted because of a customer decision (Creditor).\n* `LEGL`: LegalDecision - Reported when the cancellation cannot be accepted because of regulatory rules.\n* `NARR`: Narrative - Reason is provided as narrative information in the additional reason information.\n* `NOAS`: NoAnswerFromCustomer - No response from beneficiary (to the cancellation request).\n* `NOOR`: NoOriginalTransactionReceived - Original transaction (subject to cancellation) never received.\n* `PTNA`: PassedToTheNextAgent - Reported when the cancellation request cannot be accepted because the payment instruction has been passed to the next agent.\n* `RQDA`: RequestingDebitAuthority - Reported when authority is required by the Creditor to return the payment.\n* `WSEQ`: WrongSequence - Reported when the cancellation request cannot be processed because the sequence referred to in the request is not valid.\n* `IDMN`: CancellationIndemnityRequired - Complementing a Pending or Reject Status. Payment cancellation request cannot be accepted until an indemnity agreement is established.\n* `ACLR`: AlreadyCancelledRTP - Request-to-pay has already been cancelled.\n* `AEXR`: AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.\n* `ARFR`: AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.\n* `ARJR`: AlreadyRejectedRTP - Request-to-pay has already been rejected.\n* `PATE`: PaymentAlreadyTransmittedExecution - Payment related to the request-to-pay has already been transmitted for execution.\n* `RR04`: RegulatoryReason - Regulatory Reason.\n* `RCAR`: RfCAlreadyRejected - Request for cancellation of the request-to-pay has already been rejected.\n* `RCNR`: RfCNeverReceived - Request for cancellation of the request-to-pay has never been received.\n* `RCPR`: RfCReceivedAndProcessed - Request for cancellation of the request-to-pay has already been received and processed.\n* `URTP`: UnknownRTP - Request-to-pay is unknown.\n",
            "enum": [
              "AC04",
              "ADAC",
              "AGNT",
              "AM04",
              "ARDT",
              "ARPL",
              "CUST",
              "LEGL",
              "NARR",
              "NOAS",
              "NOOR",
              "PTNA",
              "RQDA",
              "WSEQ",
              "IDMN",
              "ACLR",
              "AEXR",
              "ARFR",
              "ARJR",
              "PATE",
              "RR04",
              "RCAR",
              "RCNR",
              "RCPR",
              "URTP"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "RequestToPayCancellationStatusReasonType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/RequestToPayCancellationStatusReasonTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/RequestToPayCancellationStatusReasonTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "RequestToPayCancellationStatusReasonInfo": {
        "description": "Provides detailed information on a cancellation status reason.\n",
        "properties": {
          "additionalInformation": {
            "description": "A human friendly description of the status reason including any further details if applicable.\n",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/RequestToPayCancellationStatusReasonType"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "RequestToPayCancellationStatus": {
        "properties": {
          "reasonInfo": {
            "description": "A list of `RequestToPayCancellationStatusReasonInfo` values providing detailed reason information for the status.\n",
            "items": {
              "$ref": "#/components/schemas/RequestToPayCancellationStatusReasonInfo"
            },
            "minItems": 1,
            "type": "array"
          },
          "status": {
            "description": "* `CANCELLED`: Cancelled - The cancellation was successfully processed and the request for payment has been cancelled.\n* `REJECTED`: Rejected - The cancellation was rejected. Refer to the `reasonInfo` for further information.\n",
            "enum": [
              "CANCELLED",
              "REJECTED"
            ],
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "RequestToPayCancellationResponse": {
        "description": "Provides the outcome of a prior request to pay cancellation.\n",
        "properties": {
          "instructedAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "The instructed agent is the party receiving the cancellation response message and not the party that received the\noriginal cancellation instruction that is being reported on.\n"
          },
          "instructingAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "The instructing agent is the party sending the cancellation response message and not the party that sent the original\ncancellation instruction that is being reported on.\n"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalMessageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalRequestToPayData": {
            "$ref": "#/components/schemas/OriginalRequestToPayData"
          },
          "originalTransactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          },
          "schema": {
            "enum": [
              "RequestToPayCancellationResponse"
            ],
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/RequestToPayCancellationStatus"
          }
        },
        "required": [
          "status",
          "schema",
          "messageIdentifiers",
          "originalMessageIdentifiers",
          "originalTransactionIdentifiers"
        ],
        "type": "object"
      },
      "ZaRppRefundInitiationPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaRppSchemeData"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "RefundInitiationPaymentScheme": {
        "description": "Designates which scheme a refund initiation is associated with and describes scheme-specific information for the\nrefund to be processed. Currently only `ZA_RPP` supported.\n",
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppRefundInitiationPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaRppRefundInitiationPaymentScheme"
          }
        ],
        "type": "object"
      },
      "RefundInitiationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "description": "Requests that a prior Receipt-of-funds transaction (i.e. some inbound payment) is refunded, if possible according to specified scheme rules. Refer to scheme User Guides for validation conditions.\n",
            "properties": {
              "amounts": {
                "$ref": "#/components/schemas/TransactionAmounts"
              },
              "debtorAccount": {
                "$ref": "#/components/schemas/PaymentAccount"
              },
              "originalTransactionIdentifiers": {
                "$ref": "#/components/schemas/TransactionIdentifiers",
                "description": "The transaction identifier values for the original Receipt-of-funds transaction which has been requested to be refunded.\nNote the `uetr` value must match the original `Receipt-of-funds transaction.uetr`, as certain refund properties are validated against the original Receipt-of-funds transaction's values.\n"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/RefundInitiationPaymentScheme"
              },
              "refundReference": {
                "description": "An explanation of the transaction, as assigned by the refund initiator, to unambiguously refer to this refund payment.\nThis value will be used as the transaction reference if the clearing scheme supports it.\n",
                "type": "string"
              },
              "schema": {
                "enum": [
                  "RefundInitiationRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "paymentScheme",
              "originalTransactionIdentifiers",
              "schema",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "RequestToPayStatusRequest": {
        "description": "Provides details to identify a previously submitted request to pay.\n",
        "properties": {
          "instructedAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).\n"
          },
          "instructingAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification",
            "description": "Agent that instructs the next party in the chain to carry out the (set of) instruction(s)\n"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalMessageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalTransactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          },
          "schema": {
            "enum": [
              "RequestToPayStatusRequest"
            ],
            "type": "string"
          }
        },
        "required": [
          "messageIdentifiers",
          "originalTransactionIdentifiers"
        ],
        "type": "object"
      },
      "RequestToPayInitiationInstruction": {
        "description": "Initiation instruction object. This is a striped down version of the requestToPay model with the fields that can be\ninferred from the bulk information removed.\n",
        "properties": {
          "creditor": {
            "$ref": "#/components/schemas/Party"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "debtor": {
            "$ref": "#/components/schemas/Party"
          },
          "debtorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "debtorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "expiryDateTime": {
            "description": "Date and time at which the request to pay expires. Some schemes\nmay still permit a payment after the request to pay expires. Upon\nexpiry, the following schemes will reject an associated payment: ZA_RPP.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
            "format": "date-time",
            "type": "string"
          },
          "instructionForDebtorAgent": {
            "description": "Further information related to the processing of the payment instruction, provided by the\ninitiating party, and intended for the debtor agent.\n",
            "items": {
              "$ref": "#/components/schemas/CreditorAgentInstruction"
            },
            "minItems": 0,
            "type": "array"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "paymentTypeInformation": {
            "$ref": "#/components/schemas/PaymentTypeInformation"
          },
          "purpose": {
            "$ref": "#/components/schemas/PurposeType"
          },
          "remittanceInformation": {
            "$ref": "#/components/schemas/RemittanceInformation"
          },
          "requestToPayConditions": {
            "$ref": "#/components/schemas/RequestToPayConditions"
          },
          "tax": {
            "$ref": "#/components/schemas/TaxInformation"
          },
          "transactionIdentifiers": {
            "$ref": "#/components/schemas/TransactionIdentifiers"
          }
        },
        "required": [
          "messageIdentifiers",
          "transactionIdentifiers",
          "expiryDateTime",
          "requestToPayConditions",
          "creditor",
          "creditorAccount",
          "creditorAgent",
          "debtorAccount",
          "paymentTypeInformation",
          "remittanceInformation"
        ],
        "type": "object"
      },
      "RequestToPayInitiation": {
        "allOf": [
          {
            "description": "Object used to initiate a bulk of request to pay transactions. The transactions are defined in the `requestToPayInitiationInstructions`\narray. The bulk can only contain one payment scheme's transactions.\n"
          },
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "bulkPaymentSchemeName": {
                "$ref": "#/components/schemas/PaymentSchemeName"
              },
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "numberOfTransactions": {
                "description": "The total number of transactions in the bulk.",
                "minimum": 1,
                "type": "integer"
              },
              "requestToPayInformationId": {
                "description": "Universally unique identifier to identify the bulk collection itself.\n",
                "format": "UUID",
                "type": "string"
              },
              "requestToPayInitiationInstructions": {
                "description": "List of instructions to initiate each request to pay within the bulk with other financial institutions or the partner bank.",
                "items": {
                  "$ref": "#/components/schemas/RequestToPayInitiationInstruction"
                },
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "requestToPayInformationId",
              "bulkPaymentSchemeName",
              "requestToPayInitiationInstructions"
            ],
            "type": "object"
          }
        ]
      },
      "RequestToPayInitiationStatusRequest": {
        "description": "Provides details to identify a previously submitted bulk request to pay collections.\n",
        "properties": {
          "includeIndividualRequestToPayStatuses": {
            "description": "A flag to indicate if the status of each individual request to pay, as per Electrum's view, should\nbe reflected in the response\n",
            "type": "boolean"
          },
          "messageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "originalMessageIdentifiers": {
            "$ref": "#/components/schemas/MessageIdentifiers"
          },
          "requestToPayInformationId": {
            "description": "Universally unique identifier to identify the bulk collection itself.\n",
            "format": "UUID",
            "type": "string"
          },
          "schema": {
            "enum": [
              "RequestToPayInitiationStatusRequest"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "messageIdentifiers",
          "originalMessageIdentifiers",
          "requestToPayInformationId"
        ],
        "type": "object"
      },
      "CurrencyCode": {
        "description": "A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.\n",
        "pattern": "^[A-Z]{3}$",
        "type": "string"
      },
      "Restriction": {
        "properties": {
          "restrictionType": {
            "description": "A value that represents the type of this restriction. Used for processing purposes.",
            "enum": [
              "NO_CREDITS",
              "NO_DEBITS"
            ],
            "type": "string"
          },
          "validFrom": {
            "description": "The moment in time from which (i.e. at this point and after) the restriction is applicable.\n",
            "format": "date-time",
            "type": "string"
          },
          "validUntil": {
            "description": "The moment in time from which (i.e. after this point) the restriction is no longer applicable.\n",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "restrictionType",
          "validFrom"
        ],
        "type": "object"
      },
      "AccountStatusCode": {
        "description": "A set of codes that describe the status of an account",
        "enum": [
          "ENABLED",
          "DISABLED",
          "DELETED"
        ],
        "type": "string"
      },
      "Account": {
        "description": "An account within the Electrum Account mirror. Note that the `primaryIdentification` is permanent and immutable.",
        "properties": {
          "accountName": {
            "maxLength": 70,
            "type": "string"
          },
          "additionalIdentifications": {
            "items": {
              "$ref": "#/components/schemas/AccountIdentification"
            },
            "type": "array"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyCode"
          },
          "openingDate": {
            "description": "Date and time at which the account was established.\n",
            "format": "date-time",
            "type": "string"
          },
          "primaryIdentification": {
            "$ref": "#/components/schemas/AccountIdentification"
          },
          "restrictions": {
            "items": {
              "$ref": "#/components/schemas/Restriction"
            },
            "type": "array"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatusCode"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType"
          }
        },
        "required": [
          "primaryIdentification"
        ]
      },
      "AccountOwner": {
        "description": "Contains information detailing the owner of an account, which can be either a person or organisation.\n",
        "discriminator": {
          "mapping": {
            "INDIVIDUAL": "#/components/schemas/PersonAccountOwner",
            "ORGANISATION": "#/components/schemas/OrganisationAccountOwner"
          },
          "propertyName": "schema"
        },
        "properties": {
          "recordIdentifier": {
            "description": "A unique identifier used to identify this Account Owner record. This is distinct from the identification\nof the Account Owner, which may or may not be unique within this system, but which is typically used for\nidentification outside of the system, such as passport numbers or national identification numbers. This\nidentifier is used exclusively to identify the owner within this system.\n",
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "schema": {
            "description": "Defines the type of owner.",
            "enum": [
              "ORGANISATION",
              "INDIVIDUAL"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "recordIdentifier"
        ],
        "type": "object"
      },
      "PersonName": {
        "description": "Name of the person.\n",
        "properties": {
          "additionalNames": {
            "description": "Additional names of the person.\n",
            "maxLength": 140,
            "type": "string"
          },
          "firstName": {
            "description": "Given name of the person.\n",
            "maxLength": 70,
            "type": "string"
          },
          "initials": {
            "description": "Initials of the person.\n",
            "maxLength": 70,
            "type": "string"
          },
          "knownAs": {
            "description": "A name that the person is known by.\n",
            "maxLength": 70,
            "type": "string"
          },
          "lastName": {
            "description": "Family name of the person.\n",
            "maxLength": 70,
            "type": "string"
          },
          "title": {
            "description": "Title of the person.\n",
            "maxLength": 70,
            "type": "string"
          }
        },
        "required": [
          "knownAs"
        ],
        "type": "object"
      },
      "PersonAccountOwner": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountOwner"
          },
          {
            "properties": {
              "address": {
                "$ref": "#/components/schemas/PostalAddress"
              },
              "contactDetails": {
                "$ref": "#/components/schemas/ContactDetails"
              },
              "countryOfResidence": {
                "$ref": "#/components/schemas/CountryCode"
              },
              "identifiers": {
                "items": {
                  "$ref": "#/components/schemas/PersonIdentifier"
                },
                "type": "array"
              },
              "name": {
                "$ref": "#/components/schemas/PersonName"
              }
            },
            "type": "object"
          }
        ],
        "description": "Contains information detailing an account owner who is a natural person.\n"
      },
      "OrganisationName": {
        "description": "Name of the organisation.\n",
        "properties": {
          "legalEntityName": {
            "description": "The legal name of the organisation.\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          },
          "tradingAs": {
            "description": "Name of the organisation.\n",
            "maxLength": 140,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrganisationAccountOwner": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountOwner"
          },
          {
            "properties": {
              "address": {
                "$ref": "#/components/schemas/PostalAddress"
              },
              "contactDetails": {
                "$ref": "#/components/schemas/ContactDetails"
              },
              "countryOfResidence": {
                "$ref": "#/components/schemas/CountryCode"
              },
              "identifiers": {
                "items": {
                  "$ref": "#/components/schemas/OrganisationIdentifier"
                },
                "type": "array"
              },
              "name": {
                "$ref": "#/components/schemas/OrganisationName"
              }
            },
            "type": "object"
          }
        ],
        "description": "Contains information detailing an account owner that is an organisation.\n"
      },
      "AccountUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "account": {
                "$ref": "#/components/schemas/Account"
              },
              "otherAccountOwnerDetails": {
                "items": {
                  "$ref": "#/components/schemas/AccountOwner"
                },
                "type": "array"
              },
              "primaryAccountOwnerDetails": {
                "$ref": "#/components/schemas/AccountOwner"
              },
              "schema": {
                "enum": [
                  "AccountUpdateRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "account",
              "primaryAccountOwnerDetails",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "A request containing information that will be used to update the particulars stored for the given Account.\n"
      },
      "AccountLookupResponse": {
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "otherAccountOwnerDetails": {
            "items": {
              "$ref": "#/components/schemas/AccountOwner"
            },
            "type": "array"
          },
          "primaryAccountOwnerDetails": {
            "$ref": "#/components/schemas/AccountOwner"
          }
        },
        "required": [
          "account",
          "primaryAccountOwnerDetails"
        ],
        "type": "object"
      },
      "AccountAdditionalIdUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "additionalIdentification": {
                "$ref": "#/components/schemas/AccountIdentification"
              },
              "currentIdentification": {
                "$ref": "#/components/schemas/AccountIdentification"
              },
              "schema": {
                "enum": [
                  "AccountAdditionalIdUpdateRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "currentIdentification",
              "additionalIdentification",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "A request containing information that will be used to update the additional ID particulars stored for the given\nAccount. The account to be updated is identified by the `currentIdentification` field.\n"
      },
      "SchemeRegistration": {
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppProxyIdentifierSchemeRegistration"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppProxyIdentifierSchemeRegistration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeRegistration"
          },
          {
            "properties": {
              "identifier": {
                "$ref": "#/components/schemas/NonBankingIdentifier"
              },
              "participant": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              }
            },
            "type": "object"
          }
        ]
      },
      "IdentifierSchemeRegistrationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "Holds details of an account identifier and other information required to register the identifier externally with a scheme.",
            "properties": {
              "schema": {
                "enum": [
                  "IdentifierSchemeRegistrationRequest"
                ],
                "type": "string"
              },
              "schemeRegistration": {
                "$ref": "#/components/schemas/SchemeRegistration"
              },
              "uetr": {
                "description": "Universally unique identifier to provide an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              }
            },
            "required": [
              "schemeRegistration",
              "uetr",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "SchemeRegistrationOutcome": {
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppProxyIdentifierSchemeRegistrationOutcome"
          },
          "propertyName": "schema"
        },
        "properties": {
          "registrationStatus": {
            "enum": [
              "ACCEPTED",
              "REJECTED"
            ],
            "type": "string"
          },
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema",
          "registrationStatus"
        ],
        "type": "object"
      },
      "ZaRppProxyIdentifierSchemeRegistrationOutcome": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeRegistrationOutcome"
          },
          {
            "properties": {
              "agent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "proxy": {
                "$ref": "#/components/schemas/NonBankingIdentifier"
              },
              "reasonCode": {
                "description": "* `AB06` : Timeout\n* `AB07` : OfflineAgent\n* `AB10` : ErrorInstructedAgent\n* `AG03` : TransactionNotSupported\n* `AG10` : AgentSuspended\n* `AM18` : InvalidNumberOfTransactions\n* `CH21` : RequiredCompulsoryElementMissing\n* `DT02` : InvalidCreationDate\n* `DUPL` : DuplicateRequest\n* `FF02` : SyntaxError\n* `NAUT` : NotAuthorised\n* `PD01` : ProxyDomainInvalid\n* `PX02` : InvalidProxy\n* `PX03` : ProxyNotFound\n* `PX04` : ProxyFormatInvalid\n* `PX05` : Restricted Proxy\n* `PX06` : Default proxy already exists\n* `RC02` : InvalidBankIdentifier\n* `RC08` : InvalidClearingSystemMemberIdentifier\n* `RR10` : InvalidCharacterSet\n* `RR12` : InvalidPartyID\n",
                "enum": [
                  "AB06",
                  "AB07",
                  "AB10",
                  "AG03",
                  "AG10",
                  "AM18",
                  "CH21",
                  "DT02",
                  "DUPL",
                  "FF02",
                  "NAUT",
                  "PD01",
                  "PX02",
                  "PX03",
                  "PX04",
                  "PX05",
                  "PX06",
                  "RC02",
                  "RC08",
                  "RR10",
                  "RR12"
                ],
                "type": "string"
              }
            },
            "required": [
              "agent",
              "proxy"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierSchemeRegistrationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "description": "Holds details of the outcome of the registration of an identifier externally with a scheme.",
            "properties": {
              "schema": {
                "enum": [
                  "IdentifierSchemeRegistrationResponse"
                ],
                "type": "string"
              },
              "schemeRegistrationOutcome": {
                "$ref": "#/components/schemas/SchemeRegistrationOutcome"
              },
              "uetr": {
                "description": "Universally unique identifier to provide an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              }
            },
            "required": [
              "schemeRegistrationOutcome",
              "uetr",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "SchemeDeregistration": {
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppProxyIdentifierSchemeDeregistration"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppProxyIdentifierSchemeDeregistration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeDeregistration"
          },
          {
            "properties": {
              "participant": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "registeredAccountId": {
                "$ref": "#/components/schemas/AccountIdentifier"
              }
            },
            "required": [
              "registeredAccountId"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierSchemeDeregistrationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "Holds details of an account identifier and other information required to deregister the identifier.\nexternally with a scheme.\n",
            "properties": {
              "schema": {
                "enum": [
                  "IdentifierSchemeDeregistrationRequest"
                ],
                "type": "string"
              },
              "schemeDeregistration": {
                "$ref": "#/components/schemas/SchemeDeregistration"
              },
              "uetr": {
                "description": "Universally unique identifier to provide an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              }
            },
            "required": [
              "schemeDeregistration",
              "uetr",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "SchemeDeregistrationOutcome": {
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppProxyIdentifierSchemeDeregistrationOutcome"
          },
          "propertyName": "schema"
        },
        "properties": {
          "deregistrationStatus": {
            "enum": [
              "ACCEPTED",
              "REJECTED"
            ],
            "type": "string"
          },
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema",
          "deregistrationStatus"
        ],
        "type": "object"
      },
      "ZaRppProxyIdentifierSchemeDeregistrationOutcome": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeDeregistrationOutcome"
          },
          {
            "properties": {
              "agent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "proxy": {
                "$ref": "#/components/schemas/NonBankingIdentifier"
              },
              "reasonCode": {
                "description": "* `AB06` : Timeout\n* `AB07` : OfflineAgent\n* `AB10` : ErrorInstructedAgent\n* `AG03` : TransactionNotSupported\n* `AG10` : AgentSuspended\n* `AM18` : InvalidNumberOfTransactions\n* `CH21` : RequiredCompulsoryElementMissing\n* `DT02` : InvalidCreationDate\n* `DUPL` : DuplicateRequest\n* `FF02` : SyntaxError\n* `NAUT` : NotAuthorised\n* `PD01` : ProxyDomainInvalid\n* `PX02` : InvalidProxy\n* `PX03` : ProxyNotFound\n* `PX04` : ProxyFormatInvalid\n* `PX05` : Restricted Proxy\n* `PX06` : Default proxy already exists\n* `RC02` : InvalidBankIdentifier\n* `RC08` : InvalidClearingSystemMemberIdentifier\n* `RR10` : InvalidCharacterSet\n* `RR12` : InvalidPartyID\n",
                "enum": [
                  "AB06",
                  "AB07",
                  "AB10",
                  "AG03",
                  "AG10",
                  "AM18",
                  "CH21",
                  "DT02",
                  "DUPL",
                  "FF02",
                  "NAUT",
                  "PD01",
                  "PX02",
                  "PX03",
                  "PX04",
                  "PX05",
                  "PX06",
                  "RC02",
                  "RC08",
                  "RR10",
                  "RR12"
                ],
                "type": "string"
              }
            },
            "required": [
              "agent",
              "proxy"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierSchemeDeregistrationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "description": "Holds details of the outcome of the deregistration of an identifier externally with a scheme.",
            "properties": {
              "schema": {
                "enum": [
                  "IdentifierSchemeDeregistrationResponse"
                ],
                "type": "string"
              },
              "schemeRegistrationOutcome": {
                "$ref": "#/components/schemas/SchemeDeregistrationOutcome"
              },
              "uetr": {
                "description": "Universally unique identifier to provide an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              }
            },
            "required": [
              "schemeRegistrationOutcome",
              "uetr",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierSchemeRegistrations": {
        "properties": {
          "registeredSchemes": {
            "description": "The list of schemes with which the identifier is registered.",
            "items": {
              "$ref": "#/components/schemas/PaymentSchemeName"
            },
            "type": "array"
          }
        },
        "required": [
          "registeredSchemes"
        ],
        "type": "object"
      },
      "SchemeInquiry": {
        "discriminator": {
          "mapping": {
            "ZA_RPP_LIST_DOMAINS": "#/components/schemas/ZaRppListDomainsInquiry",
            "ZA_RPP_LIST_PARTICIPANTS": "#/components/schemas/ZaRppListParticipantsInquiry"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppListDomainsInquiry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeInquiry"
          }
        ],
        "properties": {
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          }
        },
        "required": [
          "agent"
        ],
        "type": "object"
      },
      "ZaRppListParticipantsInquiry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeInquiry"
          }
        ],
        "properties": {
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          }
        },
        "required": [
          "agent"
        ],
        "type": "object"
      },
      "SchemeInquiryRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "inquiry": {
                "$ref": "#/components/schemas/SchemeInquiry"
              },
              "schema": {
                "enum": [
                  "SchemeInquiryRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "inquiry",
              "schema"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "SchemeReport": {
        "discriminator": {
          "mapping": {
            "ZA_RPP_LIST_DOMAINS": "#/components/schemas/ZaRppListDomainsSchemeReport",
            "ZA_RPP_LIST_PARTICIPANTS": "#/components/schemas/ZaRppListParticipantsSchemeReport"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaInstitutionIdentificationWithDomain": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          {
            "properties": {
              "domain": {
                "description": "A BankservAfrica-specific field requirement that associates this institution with a specific \"domain\"\n- which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on\nNon-Banking Identifiers, such as a MobileIdentifier\n",
                "maxLength": 35,
                "type": "string"
              }
            },
            "type": "object"
          }
        ]
      },
      "ZaRppListDomainsSchemeReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeReport"
          }
        ],
        "properties": {
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "domains": {
            "items": {
              "$ref": "#/components/schemas/ZaInstitutionIdentificationWithDomain"
            },
            "type": "array"
          }
        },
        "required": [
          "agent",
          "domains"
        ],
        "type": "object"
      },
      "ZaRppServices": {
        "enum": [
          "PBPX",
          "PBAC",
          "RTP-PBPX",
          "RTP-PBAC"
        ],
        "type": "string"
      },
      "ZaInstitutionDomainDetails": {
        "properties": {
          "domain": {
            "description": "A BankservAfrica-specific field requirement that associates this institution with a specific \"domain\"\n- which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on\nNon-Banking Identifiers, such as a MobileIdentifier\n",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "Name by which an institution is known and which is usually used to identify that institution",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "services": {
            "items": {
              "$ref": "#/components/schemas/ZaRppServices"
            },
            "minItems": 0,
            "type": "array"
          }
        },
        "required": [
          "domain",
          "name",
          "services"
        ],
        "type": "object"
      },
      "ParticipantIdentificationDetails": {
        "properties": {
          "bicfi": {
            "description": "A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as\ndescribed in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)\n",
            "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type": "string"
          },
          "branch": {
            "$ref": "#/components/schemas/BranchIdentification"
          },
          "domainDetails": {
            "items": {
              "$ref": "#/components/schemas/ZaInstitutionDomainDetails"
            },
            "type": "array"
          },
          "memberId": {
            "description": "Identification of a member of a clearing system.",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "Name by which an institution is known and which is usually used to identify that institution.",
            "maxLength": 140,
            "type": "string"
          },
          "services": {
            "items": {
              "$ref": "#/components/schemas/ZaRppServices"
            },
            "minItems": 0,
            "type": "array"
          },
          "sponsoringAgentBicfi": {
            "description": "A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as\ndescribed in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)\n",
            "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type": "string"
          },
          "sponsoringAgentName": {
            "description": "Name by which an institution is known and which is usually used to identify that institution.",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "name",
          "services"
        ]
      },
      "ZaRppListParticipantsSchemeReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeReport"
          }
        ],
        "properties": {
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "participantDetails": {
            "items": {
              "$ref": "#/components/schemas/ParticipantIdentificationDetails"
            },
            "type": "array"
          }
        },
        "required": [
          "agent",
          "participantDetails"
        ],
        "type": "object"
      },
      "SchemeInquiryResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "properties": {
              "report": {
                "$ref": "#/components/schemas/SchemeReport"
              },
              "schema": {
                "enum": [
                  "SchemeInquiryResponse"
                ],
                "type": "string"
              }
            },
            "required": [
              "originalMessageIdentification",
              "originalCreationDateTime",
              "schema"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "DeterminationRequest": {
        "description": "A request providing information for the lookup of a proxy or account in the context of the ZA RPP Payment Scheme:\n1. If the identifier schema is either MOBILE or CUSTOM, proxy resolution will be performed. In this case, the\n   `identifier.namespace` field is required.\n2. If the identifier schema is GENERIC, account resolution will be performed. In this case, the\n  `accountAgent.bicfi` field is required.\n",
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppDeterminationRequest"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppIdentifier": {
        "discriminator": {
          "mapping": {
            "CUSTOM": "#/components/schemas/CustomIdentifier",
            "GENERIC": "#/components/schemas/GenericAccountIdentifier",
            "MOBILE": "#/components/schemas/MobileNumberIdentifier"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/MobileNumberIdentifier"
          },
          {
            "$ref": "#/components/schemas/CustomIdentifier"
          },
          {
            "$ref": "#/components/schemas/GenericAccountIdentifier"
          }
        ]
      },
      "ZaRppRequestor": {
        "discriminator": {
          "mapping": {
            "INSTITUTION_IDENTIFICATION": "#/components/schemas/InstitutionIdentificationWithSchemaAndDomain",
            "PARTY": "#/components/schemas/PartyWithSchema"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "InstitutionIdentificationWithSchemaAndDomain": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ZaRppRequestor"
          },
          {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          {
            "properties": {
              "domain": {
                "description": "A BankservAfrica-specific field requirement that associates this institution with a specific \"domain\"\n- which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on\nNon-Banking Identifiers, such as a MobileIdentifier\n",
                "maxLength": 35,
                "type": "string"
              }
            },
            "type": "object"
          }
        ]
      },
      "PartyWithSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ZaRppRequestor"
          },
          {
            "$ref": "#/components/schemas/Party"
          }
        ]
      },
      "ZaRppDeterminationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeterminationRequest"
          },
          {
            "properties": {
              "accountAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "identifier": {
                "$ref": "#/components/schemas/ZaRppIdentifier"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "requestor": {
                "$ref": "#/components/schemas/ZaRppRequestor"
              },
              "uetr": {
                "description": "Universally unique identifier to provide an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              },
              "verificationIdentification": {
                "description": "Unique identifier for this specific verification request.\n",
                "maxLength": 35,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "identifier",
              "uetr",
              "verificationIdentification"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierDeterminationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "properties": {
              "request": {
                "$ref": "#/components/schemas/DeterminationRequest"
              },
              "schema": {
                "enum": [
                  "IdentifierDeterminationRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "request",
              "schema"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "IdentifierDeterminationReport": {
        "discriminator": {
          "mapping": {
            "ZA_RPP": "#/components/schemas/ZaRppIdentifierDeterminationReport"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaRppAccountInformation": {
        "properties": {
          "creationDate": {
            "description": "The date when the account referenced by this proxy identifier was created.\n",
            "format": "date-time",
            "type": "string"
          },
          "proxy": {
            "$ref": "#/components/schemas/NonBankingIdentifier"
          },
          "traditionalAccountType": {
            "$ref": "#/components/schemas/AccountType"
          },
          "traditionalIdentifier": {
            "$ref": "#/components/schemas/BankingIdentifier"
          }
        },
        "required": [
          "creationDate"
        ],
        "type": "object"
      },
      "ZaRppIdentificationReport": {
        "description": "A report providing information from the lookup of a proxy in the context of the ZA RPP Payment Scheme.\n\nThis report returns information required to proceed with the clearing of funds through the use of the `proxy`\n(identifier) provided in the identifier determination request. Specifically, this report will provide the outcome\nof the lookup of said identifier, indication whether it is valid or not, as well as provide the name (\"known as\nname\") of the creditor, and the legal name of the creditor (both of these are mandatory in the ZA RPP Payment\nScheme, despite not being mandatory in this API), namely:\n  - `accountOwner.knownAsName`\n  - `accountOwner.legalName`\n",
        "properties": {
          "accountAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "accountInformation": {
            "$ref": "#/components/schemas/ZaRppAccountInformation"
          },
          "accountOwner": {
            "$ref": "#/components/schemas/Party"
          },
          "outcome": {
            "enum": [
              "SUCCESSFUL",
              "FAILED"
            ],
            "type": "string"
          },
          "reasonCode": {
            "description": "* `AB06` :\tTransaction stopped due to timeout at the Instructed Agent.\n* `AB07` :\tAgent of message is not online. Generic usage if it cannot be determined who exactly is not online.\n* `AB10` :\tAn error occured at the instructed agent\n* `AC06` :\tAccount specified is blocked, prohibiting posting of transactions against it\n* `AG01` :\tTransaction forbidden on this type of account\n* `AG03` :\tTransaction type not supported/authorized on this account.\n* `AG10` :\tAgent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.\n* `AGNT` :\tAgent in the payment workflow is incorrect\n* `AM02` :\tSpecific transaction/message amount is greater than allowed maximum (e.g. payee proxy participant service limit exceeded\n* `CH21` :\tMandatory element is missing .\n* `DT02` :\tInvalid creation date and time in Group Header (eg, historic date) .\n* `DU03` :\tTransaction is not unique.\n* `DUPL` :\tRequest is a duplicate of another request\n* `FF02` :\tSyntax error reason is provided as narrative information in the additional reason information.\n* `FF08` :\tEnd to End Id missing or invalid .\n* `NAUT` :\tPermission to be processed is not granted\n* `NOOR` :\tOriginal SCT never received\n* `PD01` :\tDomain not found or invalid\n* `PD02` :\tSuspended\tDomain provided is suspended pending investigation\n* `BE23` :\tPhone number or email address, or any other proxy, used as the account proxy is unknown or invalid.\n* `PX03` :\tProxy not found in central repository\n* `PX04` :\tFormat of proxy invalid\n* `RC05` :\tBIC identifier is invalid or missing.\n* `RC08` :\tClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account .\n* `RR10` :\tCharacter set supplied not valid for the country and payment type.\n* `RR12` :\tInvalid or missing identification required within a particular country or payment type.\n* `RF01` :\tTransaction reference is not unique within the message.\n* `AC16` :\tAccount in Sequestration\n* `AC17` :\tAccount in Liquidation\n* `AC04` :\tAccount Closed\n* `AC01` :\tFormat of the account number specified is not correct\n* `MD07` :\tAccount Holder Deceased\n* `NOCM` :\tCustomer account is not compliant with regulatory requirements, for example FICA (in South Africa) or any other regulatory requirements which render an account inactive for certain processing.\n* `BE01` :\tIdentification of end customer is not consistent with associated account number. (formerly CreditorConsistency).\n",
            "maxLength": 4,
            "minLength": 1,
            "type": "string"
          },
          "reasonDescription": {
            "description": "A description of the reason that the identification request failed.\nNOTE: Values longer than 35 characters may be truncated due to ZA RPP scheme restrictions.\n",
            "type": "string"
          },
          "transactionLimit": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object"
      },
      "ZaRppIdentifierDeterminationReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IdentifierDeterminationReport"
          },
          {
            "properties": {
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructionForCreatorAgent": {
                "description": "Further information related to the proxy resolution response, provided by the\nOperator, and intended for the creator agent.\n",
                "items": {
                  "$ref": "#/components/schemas/CreditorAgentInstruction"
                },
                "minItems": 0,
                "type": "array"
              },
              "originalRequestor": {
                "$ref": "#/components/schemas/ZaRppRequestor"
              },
              "originalUetr": {
                "description": "The universally unique identifier provided in the original request as an end-to-end reference.\nThis identifier remains the same for all messages related to the same transaction.\n",
                "format": "UUID",
                "type": "string"
              },
              "originalVerificationIdentification": {
                "description": "The `request.verificationIdentification` as provided in the original request.\n",
                "maxLength": 35,
                "minLength": 1,
                "type": "string"
              },
              "reportInformation": {
                "$ref": "#/components/schemas/ZaRppIdentificationReport"
              }
            },
            "required": [
              "schema",
              "originalUetr",
              "originalVerificationIdentification",
              "reportInformation"
            ],
            "type": "object"
          }
        ]
      },
      "IdentifierDeterminationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "properties": {
              "report": {
                "$ref": "#/components/schemas/IdentifierDeterminationReport"
              },
              "schema": {
                "enum": [
                  "IdentifierDeterminationResponse"
                ],
                "type": "string"
              }
            },
            "required": [
              "report",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "ZaCdvCheckDigitVerificationRequest": {
        "description": "Performs a check digit verification on the provided account number and branch code.\n\nIf the `accountType` is not provided, it will be inferred using the `identifier` and `branch`. The following account type map applies for ZA CDV checks:\n| Industry           | Electrum |\n|--------------------|----------|\n| Current            | CACC     |\n| Savings            | SVGS     |\n| Transmission       | TRAN     |\n| Bond               | LOAN     |\n| Subscription_Share | OTHR     |\n",
        "properties": {
          "accountType": {
            "$ref": "#/components/schemas/AccountType",
            "description": "The type of account to be verified. The account type will be inferred if not provided.\n"
          },
          "branch": {
            "$ref": "#/components/schemas/BranchIdentification",
            "description": "The branch code of the account to be verified.\n"
          },
          "identifier": {
            "$ref": "#/components/schemas/GenericAccountIdentifier",
            "description": "The account number to be verified.\n"
          },
          "verificationScheme": {
            "description": "The name of the verification scheme to be used to verify the provided data.\n",
            "type": "string"
          }
        },
        "required": [
          "verificationScheme",
          "identifier",
          "branch"
        ],
        "type": "object"
      },
      "CheckDigitVerificationRequest": {
        "description": "A request that includes information to be verified using the provided verification routine.\n",
        "discriminator": {
          "mapping": {
            "ZA_CDV": "#/components/schemas/ZaCdvCheckDigitVerificationRequest"
          },
          "propertyName": "verificationScheme"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaCdvCheckDigitVerificationRequest"
          }
        ],
        "type": "object"
      },
      "ExternalVerificationReason1Code": {
        "description": "* `AC01` : Account number provided in the request is invalid or missing.\n* `AGNT` : Agent identification provided in the request is incorrect.\n* `DUPL` : Request is a duplicate of another request.\n* `AG01` : Transaction forbidden on this type of account (Payment cannot be made to this account for example not open for deposits, blocked, closed).\n* `BNOR` : PSP is not registered under this Scheme.\n* `DS28` : Return following technical problems resulting in erroneous transaction.\n* `FF01` : File format incomplete or invalid.\n* `MS03` : Reason has not been specified by agent.\n* `NORR` : No response on request within timeframe.\n* `NR01` : PSP not able to confirm details and no reason is stated.\n* `RC03` : Debtor bank identifier is invalid or missing.\n* `RC04` : Creditor bank identifier is invalid or missing.\n* `TM01` : Associated message was received after agreed processing cut-off time.\n* `PN01` : Account Owner name and Payment Account number do not match.\n* `PN02` : Account Owner name and Payment Account number is a close match.\n* `PI01` : Account Owner Identification and Payment Account number do not match.\n",
        "enum": [
          "AC01",
          "AGNT",
          "DUPL",
          "AG01",
          "BNOR",
          "DS28",
          "FF01",
          "MS03",
          "NORR",
          "NR01",
          "RC03",
          "RC04",
          "TM01",
          "PN01",
          "PN02",
          "PI01"
        ],
        "maxLength": 4,
        "minLength": 1,
        "type": "string"
      },
      "VerificationReasonCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalVerificationReason1Code"
          }
        },
        "required": [
          "value",
          "schema"
        ],
        "type": "object"
      },
      "VerificationReasonType": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/VerificationReasonCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/VerificationReasonCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "VerificationReasonInfo": {
        "description": "Provides detailed information on a verification reason.\n",
        "properties": {
          "additionalInformation": {
            "description": "A human friendly description of the verification reason including any further details if applicable.\n",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/VerificationReasonType"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "CheckDigitVerificationReport": {
        "description": "The response to a check digit verification request, containing the outcome of the performed verification.\n",
        "properties": {
          "outcome": {
            "description": "Indicates whether the check digit verification was successful or not.\n\n`PASSED`: The provided data passed verification.\n\n`FAILED`: The provided data failed verification.\n\n`SKIPPED`: No verification was performed.\n",
            "enum": [
              "PASSED",
              "FAILED",
              "SKIPPED"
            ],
            "type": "string"
          },
          "reasonInfo": {
            "$ref": "#/components/schemas/VerificationReasonInfo",
            "description": "Provides detailed information about the reason for the outcome of the verification.\n"
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object"
      },
      "Assignment": {
        "properties": {
          "assignee": {
            "$ref": "#/components/schemas/Party"
          },
          "assigner": {
            "$ref": "#/components/schemas/Party"
          },
          "creator": {
            "$ref": "#/components/schemas/Party"
          },
          "firstAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          }
        },
        "type": "object"
      },
      "SchemeVerificationData": {
        "description": "This object contains fields specific to the scheme being interacted with and determined by the chosen schema.\nTypically these are fields that are not standard within ISO20022 ACMT.023\n",
        "discriminator": {
          "mapping": {
            "ZA_AVS": "#/components/schemas/ZaAccountVerificationData"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "ZaAccountVerificationData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeVerificationData"
          },
          {
            "description": "Fields specific to account verification services in South Africa. The fields checksDebitsAllowed,\nchecksCreditsAllowed and checksOlderThanThreeMonths indicate to the receiving FI whether or not to return\nthe associated information (i.e. true or false in respect to those items)\n",
            "properties": {
              "checkCreditsAllowed": {
                "description": "Sets whether or not the response should indicate if credits are allowed on the account.\n",
                "type": "boolean"
              },
              "checkDebitsAllowed": {
                "description": "Sets whether or not the response should indicate if debits are allowed on the account.\n",
                "type": "boolean"
              },
              "checkOlderThanThreeMonths": {
                "description": "Sets whether or not the response should indicate whether the account is older than 3 months.\n",
                "type": "boolean"
              },
              "initials": {
                "description": "Initials of the individual account owner that is to be verified.\n",
                "maxLength": 70,
                "type": "string"
              },
              "lastName": {
                "description": "Family name of the individual account owner that is to be verified.\n",
                "maxLength": 70,
                "type": "string"
              }
            },
            "type": "object"
          }
        ]
      },
      "Verification": {
        "properties": {
          "account": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "agent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "identification": {
            "description": "Uniquely identifies this verification. Used in cases where a list of verifications are necessary, in such\ncases a verification may need to be uniquely identified independently from other verifications.\n",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "party": {
            "$ref": "#/components/schemas/Party"
          },
          "schemeVerificationData": {
            "$ref": "#/components/schemas/SchemeVerificationData"
          }
        },
        "required": [
          "party",
          "account"
        ],
        "type": "object"
      },
      "VerificationOutcome": {
        "description": "Indicates whether the information provided in the verification request was correct (PASSED) or was incorrect\n(FAILED). If it was incorrect, a reason is provided.\n",
        "discriminator": {
          "mapping": {
            "FAILED": "#/components/schemas/VerificationFailedOutcome",
            "PASSED": "#/components/schemas/VerificationPassedOutcome"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "VerificationFailedOutcome": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VerificationOutcome"
          },
          {
            "properties": {
              "reasonInfo": {
                "$ref": "#/components/schemas/VerificationReasonInfo"
              }
            },
            "type": "object"
          }
        ]
      },
      "VerificationPassedOutcome": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VerificationOutcome"
          }
        ]
      },
      "SchemeVerificationReportData": {
        "discriminator": {
          "mapping": {
            "ZA_AVS": "#/components/schemas/ZaAccountVerificationReportData"
          },
          "propertyName": "schema"
        },
        "properties": {
          "schema": {
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "TernaryVerificationOutcome": {
        "description": "Indicates whether or not the associated verification item was true (passed/positive), false (failed/negative)\nor was not checked.\n",
        "enum": [
          "TRUE",
          "FALSE",
          "NOT_CHECKED"
        ],
        "type": "string"
      },
      "ZaAccountVerificationReportData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchemeVerificationReportData"
          },
          {
            "description": "Report fields specific to account verification services in South Africa. All fields are always present, and\nwhere a verification was not requested, it will default to a value of 'NOT_CHECKED'\n",
            "properties": {
              "accountFound": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "accountOpen": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "accountTypeMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "creditsAllowed": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "debitsAllowed": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "emailMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "initialsMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "mobileMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "nameMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "olderThanThreeMonths": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "organisationIdentificationMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "privateIdentificationMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              },
              "trustIdentificationMatch": {
                "$ref": "#/components/schemas/TernaryVerificationOutcome"
              }
            },
            "required": [
              "accountFound",
              "accountOpen",
              "accountTypeMatch",
              "privateIdentificationMatch",
              "organisationIdentificationMatch",
              "trustIdentificationMatch",
              "initialsMatch",
              "nameMatch",
              "debitsAllowed",
              "creditsAllowed",
              "olderThanThreeMonths",
              "emailMatch",
              "mobileMatch"
            ],
            "type": "object"
          }
        ]
      },
      "VerificationReport": {
        "properties": {
          "originalIdentification": {
            "description": "Matches the identification of the Verification to which this report refers\n",
            "maxLength": 35,
            "minLength": 1,
            "type": "string"
          },
          "outcome": {
            "$ref": "#/components/schemas/VerificationOutcome"
          },
          "schemeVerificationReportData": {
            "$ref": "#/components/schemas/SchemeVerificationReportData"
          },
          "updatedPartyAndAccount": {
            "properties": {
              "account": {
                "$ref": "#/components/schemas/PaymentAccount"
              },
              "party": {
                "$ref": "#/components/schemas/Party"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AccountVerificationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "properties": {
              "assignee": {
                "$ref": "#/components/schemas/Party"
              },
              "assigner": {
                "$ref": "#/components/schemas/Party"
              },
              "creator": {
                "$ref": "#/components/schemas/Party"
              },
              "firstAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "originalAssignment": {
                "$ref": "#/components/schemas/Assignment"
              },
              "originalMessageIdentifiers": {
                "$ref": "#/components/schemas/MessageIdentifiers"
              },
              "originalVerification": {
                "$ref": "#/components/schemas/Verification"
              },
              "report": {
                "$ref": "#/components/schemas/VerificationReport"
              },
              "schema": {
                "enum": [
                  "AccountVerificationResponse"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/Status"
              }
            },
            "required": [
              "verification",
              "assigner",
              "assignee",
              "schema"
            ],
            "type": "object"
          }
        ],
        "type": "object"
      },
      "AccountVerificationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionMessage"
          },
          {
            "properties": {
              "assignee": {
                "$ref": "#/components/schemas/Party"
              },
              "assigner": {
                "$ref": "#/components/schemas/Party"
              },
              "creator": {
                "$ref": "#/components/schemas/Party"
              },
              "firstAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "schema": {
                "enum": [
                  "AccountVerificationRequest"
                ],
                "type": "string"
              },
              "verification": {
                "$ref": "#/components/schemas/Verification"
              }
            },
            "required": [
              "verification",
              "assigner",
              "assignee",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "Modeled after an ISO20022 ACMT.023 message, this AccountVerificationRequest allows the caller to verify account\nand account owner information with a given scheme.\n",
        "type": "object"
      },
      "Receipt": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionResponseMessage"
          },
          {
            "description": "A model containing the outcome a request that was previously received. It conveys information about the processing of the original message.\n",
            "properties": {
              "schema": {
                "enum": [
                  "Receipt"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/Status"
              }
            },
            "required": [
              "status",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "FraudReportDetail": {
        "description": "The response to a fraud assessment request, containing the score and other details of the performed assessment.\n",
        "properties": {
          "details": {
            "description": "A list of strings acting as reasons or details associated with the risk score\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "score": {
            "description": "Indicates the measure of fraud associated with the submitted payment instruction after fraud evaluation.\n",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RiskAssessmentStatus": {
        "description": "The outcome of the performed risk assessment on a submitted payment message.\n",
        "properties": {
          "outcome": {
            "description": "Indicates the outcome of the fraud assessment of the submitted payment instruction.\n- `PASSED`: The provided data passed the fraud assessment.\n- `FAILED`: The provided data failed the fraud assessment.\n- `PENDING`: The fraud assessment is still processing.\n",
            "enum": [
              "PASSED",
              "FAILED",
              "PENDING"
            ],
            "type": "string"
          }
        },
        "required": [
          "outcome"
        ],
        "type": "object"
      },
      "FraudAssessmentReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionResponseMessage"
          },
          {
            "description": "This model provides the outcome information of the fraud assessment.\n",
            "properties": {
              "report": {
                "$ref": "#/components/schemas/FraudReportDetail"
              },
              "schema": {
                "enum": [
                  "FraudAssessmentReport"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/RiskAssessmentStatus"
              }
            },
            "required": [
              "status",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "SanctionsAssessmentStatus": {
        "description": "The outcome of the performed sanctions assessment.\n",
        "properties": {
          "outcome": {
            "description": "Indicates the outcome of the sanctions assessment of the submitted payment instruction.\n- `ALLOWED`: Message is allowed to continue along the normal flow.\n- `BLOCKED`: Message must be blocked.\n- `PENDING`: The sanctions assessment is still being processed.\n- `ERROR`: An error occurred while performing the sanctions check for this request and the request is unable to be processed further.\n",
            "enum": [
              "ALLOWED",
              "BLOCKED",
              "PENDING",
              "ERROR"
            ],
            "type": "string"
          },
          "reasonCode": {
            "description": "Provide the reason for the outcome of the sanctions assessment of the submitted payment instruction.\n- `SYSTEM_PROCESSING`: The system is performing automated screening on the sanction request.\n- `USER_INVESTIGATION_UNDERWAY`: A user is performing manual screening on the sanction request.\n- `NO_SCREENING_REQUIRED`: No screening for the message was required, thus the message was ALLOWED.\n- `SCREENED_NO_ALERT`: Screening took place but no alert was triggered.\n- `SCREENED_NON_BLOCKING_ALERT`: Screening took place and an alert was triggered, but the alert did not block the transaction.\n- `INVESTIGATION_RESULT`: Screening took place and an alert was triggered to require user investigation. The outcome was then decided by the user.\n- `ERROR_PROCESSING_REQUEST`: An error occurred while performing the sanctions check for this request.\n",
            "enum": [
              "SYSTEM_PROCESSING",
              "USER_INVESTIGATION_UNDERWAY",
              "NO_SCREENING_REQUIRED",
              "SCREENED_NO_ALERT",
              "SCREENED_NON_BLOCKING_ALERT",
              "INVESTIGATION_RESULT",
              "ERROR_PROCESSING_REQUEST"
            ]
          },
          "reasonDescription": {
            "description": "A human readable description providing additional details as to the reason of the sanctions outcome\n",
            "type": "string"
          }
        },
        "required": [
          "outcome",
          "reasonCode"
        ],
        "type": "object"
      },
      "SanctionsAssessmentReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransactionResponseMessage"
          },
          {
            "description": "This model provides the report of the sanctions assessment outcome.\n",
            "properties": {
              "lastUpdated": {
                "description": "The latest point the outcome of the sanctions assessment has changed.\nThe date *must* be formatted as defined by `date-time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\n",
                "format": "date-time",
                "type": "string"
              },
              "schema": {
                "enum": [
                  "SanctionsAssessmentReport"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/SanctionsAssessmentStatus"
              }
            },
            "required": [
              "lastUpdated",
              "status",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "AdjustmentCategoryCode": {
        "description": "Frequency/category of adjustments allowed on a mandate.\n* `MIAN` - Semi-annually or 2 times a year\n* `NEVR` - No adjustment allowed\n* `QURT` - 3 months or 4 times a year\n* `RATE` - Repo Rate-based adjustment\n* `YEAR` - Annual adjustment\n",
        "enum": [
          "MIAN",
          "NEVR",
          "QURT",
          "RATE",
          "YEAR"
        ],
        "type": "string"
      },
      "AdjustmentCategoryTypeCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/AdjustmentCategoryCode"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "AdjustmentCategory": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/AdjustmentCategoryTypeCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AdjustmentCategoryTypeCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "MandateAdjustmentRules": {
        "description": "Defines adjustment rules for mandate amounts.\n",
        "properties": {
          "adjustmentAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "adjustmentRate": {
            "description": "The adjustment rate as a percentage (e.g., 10.00 for 10%).\n",
            "format": "double",
            "type": "number"
          },
          "category": {
            "$ref": "#/components/schemas/AdjustmentCategory"
          },
          "dateAdjustmentRuleIndicator": {
            "description": "Indicates whether a date adjustment rule is applied (e.g., move collection to next business day).\n",
            "type": "boolean"
          }
        },
        "required": [
          "dateAdjustmentRuleIndicator"
        ],
        "type": "object"
      },
      "ExternalAuthenticationChannelCode": {
        "description": "`ATM` - ATM\n`CARD` - Card\n`INBA` - InternetBanking\n`MOBI` - Mobile\n",
        "enum": [
          "ATMA",
          "CARD",
          "INBA",
          "MOBI"
        ],
        "type": "string"
      },
      "AuthenticationChannelCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalAuthenticationChannelCode"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "AuthenticationChannel": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/AuthenticationChannelCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AuthenticationChannelCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "MandateAuthentication": {
        "description": "Identifies the specific mechanism or channel that the Paying Bank (Debtor Bank) uses to communicate with the\nPayer (Debtor) to obtain their authorisation for a mandate. This field may be missing on mandate initiation/amendment\nand should be populated by the debtor bank upon acceptance of the mandate\n",
        "properties": {
          "channel": {
            "$ref": "#/components/schemas/AuthenticationChannel"
          },
          "date": {
            "description": "Represents the exact date on which the mandate authentication process was completed by the Paying Bank (Debtor Bank)\n",
            "format": "date",
            "type": "string"
          },
          "messageAuthenticationCode": {
            "description": "Message authentication code for the mandate.\n- **TT3 PREAUTH MAC Rule: Mandate Initiation & Amendment Requests & Acceptance Reports** -\nAcross `mandate-management` message types, if the mandate is `PREAUTH` using a card (Local Instrument `0228`),\nthis property must strictly be populated with the actual 8-character MAC string generated during the upfront card-and-PIN authentication.\n",
            "maxLength": 35,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MandateStatusCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `ACTV` - Active: Mandate is active.\n* `CANC` - Cancelled: Mandate has been cancelled.\n* `EXPI` - Expired: Mandate has expired.\n* `SUSP` - Suspended: Mandate is suspended.\n* `RCVD` - Received: Mandate has been received.\n* `RJCT` - Rejected: Mandate has been rejected.\n* `PATC` - PartiallyAcceptedTechnicalCorrect: Partially accepted with technical corrections.\n",
            "enum": [
              "ACTV",
              "CANC",
              "EXPI",
              "SUSP",
              "RCVD",
              "RJCT",
              "PATC"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "MandateStatus": {
        "description": "Current status of a mandate.\n",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/MandateStatusCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/MandateStatusCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "AdHocFrequency": {
        "description": "Specifies an ad hoc (irregular/on-demand) payment transaction frequency.\nMaps to ISO20022 frequency code `ADHO`.\n",
        "properties": {
          "schema": {
            "enum": [
              "AdHocFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "BiannualFrequency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DayOfMonthBasedFrequency"
          }
        ],
        "description": "Specifies the frequency of a biannual payment transaction by day of the month.\n"
      },
      "DayOfMonthBasedFrequency": {
        "description": "Base model for payment transaction frequencies expressed in terms of days of the month. Not expected to be\nused directly; see `MonthlyFrequency`, `QuarterlyFrequency`, `BiannualFrequency` and `YearlyFrequency`.\n",
        "discriminator": {
          "mapping": {
            "BiannualFrequency": "#/components/schemas/BiannualFrequency",
            "MonthlyFrequency": "#/components/schemas/MonthlyFrequency",
            "QuarterlyFrequency": "#/components/schemas/QuarterlyFrequency",
            "YearlyFrequency": "#/components/schemas/YearlyFrequency"
          },
          "propertyName": "schema"
        },
        "properties": {
          "dayOfMonth": {
            "description": "Specifies the day of the month on which the payment transaction is to be processed.\nNOTE: A value of `31` will be interpreted as the last day of the month.\n",
            "maximum": 31,
            "minimum": 1,
            "type": "integer"
          },
          "schema": {
            "enum": [
              "MonthlyFrequency",
              "QuarterlyFrequency",
              "BiannualFrequency",
              "YearlyFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "dayOfMonth"
        ],
        "type": "object"
      },
      "MonthlyFrequency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DayOfMonthBasedFrequency"
          }
        ],
        "description": "Specifies the frequency of a monthly payment transaction by day of the month.\n"
      },
      "QuarterlyFrequency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DayOfMonthBasedFrequency"
          }
        ],
        "description": "Specifies the frequency of a quarterly payment transaction by day of the month.\n"
      },
      "YearlyFrequency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DayOfMonthBasedFrequency"
          }
        ],
        "description": "Specifies the frequency of a yearly payment transaction by day of the month.\n"
      },
      "DailyFrequency": {
        "description": "Specifies the frequency of a daily payment transaction.\nMaps to ISO20022 frequency code `DAIL`.\n",
        "properties": {
          "schema": {
            "enum": [
              "DailyFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "DayOfWeek": {
        "description": "Specifies a day of the week.\n",
        "enum": [
          "MONDAY",
          "TUESDAY",
          "WEDNESDAY",
          "THURSDAY",
          "FRIDAY",
          "SATURDAY",
          "SUNDAY"
        ],
        "type": "string"
      },
      "FortnightlyFrequency": {
        "description": "Specifies the frequency of a fortnightly payment transaction.\n",
        "properties": {
          "dayOfWeek": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "schema": {
            "enum": [
              "FortnightlyFrequency"
            ],
            "type": "string"
          },
          "week": {
            "description": "Identifies the week of the fortnight on which the payment transaction is to be processed.\n* FIRST_WEEK: First week of the fortnight.\n* SECOND_WEEK: Second week of the fortnight.\n",
            "enum": [
              "FIRST_WEEK",
              "SECOND_WEEK"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "week",
          "dayOfWeek"
        ],
        "type": "object"
      },
      "IntradayFrequency": {
        "description": "Specifies an intraday payment transaction frequency.\nMaps to ISO20022 frequency code `INDA`.\n",
        "properties": {
          "schema": {
            "enum": [
              "IntradayFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema"
        ],
        "type": "object"
      },
      "MonthlyRuleFrequency": {
        "description": "Specifies the frequency of a monthly payment transaction by a special rule, e.g. \"the last monday of the month\".\n",
        "properties": {
          "rule": {
            "description": "Specifies the day of the month on which the payment transaction is to be processed.\n* `LAST_MONDAY`: Last Monday of the month.\n* `LAST_TUESDAY`: Last Tuesday of the month.\n* `LAST_WEDNESDAY`: Last Wednesday of the month.\n* `LAST_THURSDAY`: Last Thursday of the month.\n* `LAST_FRIDAY`: Last Friday of the month.\n* `LAST_SATURDAY`: Last Saturday of the month.\n* `FIRST_MONDAY`: First Monday of the month.\n* `FIRST_TUESDAY`: First Tuesday of the month.\n* `FIRST_WEDNESDAY`: First Wednesday of the month.\n* `FIRST_THURSDAY`: First Thursday of the month.\n* `FIRST_FRIDAY`: First Friday of the month.\n* `FIRST_SATURDAY`: First Saturday of the month.\n* `SECOND_LAST_DAY`: Second last day of the month.\n* `LAST_DAY`: Last day of the month.\n",
            "enum": [
              "LAST_MONDAY",
              "LAST_TUESDAY",
              "LAST_WEDNESDAY",
              "LAST_THURSDAY",
              "LAST_FRIDAY",
              "LAST_SATURDAY",
              "FIRST_MONDAY",
              "FIRST_TUESDAY",
              "FIRST_WEDNESDAY",
              "FIRST_THURSDAY",
              "FIRST_FRIDAY",
              "FIRST_SATURDAY",
              "SECOND_LAST_DAY",
              "LAST_DAY"
            ],
            "type": "string"
          },
          "schema": {
            "enum": [
              "MonthlyRuleFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "rule"
        ],
        "type": "object"
      },
      "WeeklyFrequency": {
        "description": "Specifies the frequency of a weekly payment transaction.\n",
        "properties": {
          "dayOfWeek": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "schema": {
            "enum": [
              "WeeklyFrequency"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "dayOfWeek"
        ],
        "type": "object"
      },
      "Frequency": {
        "description": "Specifies the frequency of the payment transaction.\n",
        "discriminator": {
          "mapping": {
            "AdHocFrequency": "#/components/schemas/AdHocFrequency",
            "BiannualFrequency": "#/components/schemas/BiannualFrequency",
            "DailyFrequency": "#/components/schemas/DailyFrequency",
            "FortnightlyFrequency": "#/components/schemas/FortnightlyFrequency",
            "IntradayFrequency": "#/components/schemas/IntradayFrequency",
            "MonthlyFrequency": "#/components/schemas/MonthlyFrequency",
            "MonthlyRuleFrequency": "#/components/schemas/MonthlyRuleFrequency",
            "QuarterlyFrequency": "#/components/schemas/QuarterlyFrequency",
            "WeeklyFrequency": "#/components/schemas/WeeklyFrequency",
            "YearlyFrequency": "#/components/schemas/YearlyFrequency"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/MonthlyFrequency"
          },
          {
            "$ref": "#/components/schemas/QuarterlyFrequency"
          },
          {
            "$ref": "#/components/schemas/BiannualFrequency"
          },
          {
            "$ref": "#/components/schemas/YearlyFrequency"
          },
          {
            "$ref": "#/components/schemas/MonthlyRuleFrequency"
          },
          {
            "$ref": "#/components/schemas/WeeklyFrequency"
          },
          {
            "$ref": "#/components/schemas/FortnightlyFrequency"
          },
          {
            "$ref": "#/components/schemas/DailyFrequency"
          },
          {
            "$ref": "#/components/schemas/AdHocFrequency"
          },
          {
            "$ref": "#/components/schemas/IntradayFrequency"
          }
        ],
        "type": "object"
      },
      "MandateOccurrences": {
        "description": "Defines the frequency and duration of mandate collections.\n",
        "properties": {
          "finalCollectionDate": {
            "description": "The date of the final collection.\n",
            "format": "date",
            "type": "string"
          },
          "firstCollectionDate": {
            "description": "The date of the first collection.\n",
            "format": "date",
            "type": "string"
          },
          "frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "sequenceType": {
            "$ref": "#/components/schemas/SequenceTypeCode"
          },
          "validFrom": {
            "description": "The date from which the mandate is valid.\n",
            "format": "date",
            "type": "string"
          },
          "validTo": {
            "description": "The date until which the mandate is valid.\n",
            "format": "date",
            "type": "string"
          }
        },
        "required": [
          "sequenceType"
        ],
        "type": "object"
      },
      "ExternalMandateReasonCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `AC01` - IncorrectAccountNumber\n* `AC04` - ClosedAccountNumber\n* `AC06` - BlockedAccount\n* `AG01` - TransactionForbidden\n* `AG02` - InvalidBankOperationCode\n* `AM02` - NotAllowedAmount\n* `AM03` - NotAllowedCurrency\n* `AM05` - Duplication\n* `BE01` - InconsistenWithEndCustomer\n* `BE04` - MissingCreditorAddress\n* `BE05` - UnrecognisedInitiatingParty\n* `BE06` - UnknownEndCustomer\n* `BE07` - MissingDebtorAddress\n* `DT01` - InvalidDate\n* `FF01` - InvalidFileFormat\n* `MD01` - NoMandate\n* `MD02` - MissingMandatoryInformationInMandate\n* `MD07` - EndCustomerDeceased\n* `MD08` - NoMandateServiceByAgent\n* `MD09` - NoMandateServiceOnCustomer\n* `MD10` - NoMandateServiceForSpecified\n* `MD11` - UnrecognisedAgent\n* `MD12` - NotUniqueMandateReference\n* `MD13` - IncorrectCustomerAuthentication\n* `MD14` - IncorrectAgent\n* `MD15` - IncorrectCurrency\n* `MD16` - RequestedByCustomer\n* `MD17` - RequestedByInitiatingParty\n* `MD18` - RequestedByInitiatingPartyAndCustomer\n* `MD19` - MandateCancelledDueToEarlySettlement\n* `MD20` - MandateExpired\n* `MD21` - MandateCancelledDueToFraud\n* `MD22` - MandateInitiationCancelled\n* `MD23` - MandateAmendmentCancelled\n* `MS02` - NotSpecifiedReasonCustomerGenerated\n* `MS03` - NotSpecifiedReasonAgentGenerated\n* `NARR` - Narrative\n* `RC01` - BankIdentifierIncorrect\n* `RF01` - NotUniqueTransactionReference\n* `RR01` - MissingDebtorAccountOrIdentification\n* `RR02` - MissingDebtorNameOrAddress\n* `RR03` - MissingCreditorNameOrAddress\n* `RR04` - RegulatoryReason\n* `SL01` - SpecificServiceOfferedByDebtorAgent\n* `SL11` - CreditorNotOnWhitelistOfDebtor\n* `SL12` - CreditorOnBlacklistOfDebtor\n* `SL13` - MaximumNumberOfDirectDebitTransactionsExceeded\n* `SL14` - MaximumDirectDebitTransactionAmountExceeded\n",
            "enum": [
              "AC01",
              "AC04",
              "AC06",
              "AG01",
              "AG02",
              "AM02",
              "AM03",
              "AM05",
              "BE01",
              "BE04",
              "BE05",
              "BE06",
              "BE07",
              "DT01",
              "FF01",
              "MD01",
              "MD02",
              "MD07",
              "MD08",
              "MD09",
              "MD10",
              "MD11",
              "MD12",
              "MD13",
              "MD14",
              "MD15",
              "MD16",
              "MD17",
              "MD18",
              "MD19",
              "MD20",
              "MD21",
              "MD22",
              "MD23",
              "MS02",
              "MS03",
              "NARR",
              "RC01",
              "RF01",
              "RR01",
              "RR02",
              "RR03",
              "RR04",
              "SL01",
              "SL11",
              "SL12",
              "SL13",
              "SL14"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "MandateReason": {
        "description": "Specifies the reason for a mandate action (amendment, cancellation, rejection).\n",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ExternalMandateReasonCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ExternalMandateReasonCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "ExternalMandateClassificationCode": {
        "description": "Classification of mandate based on debit value type.\n* `FIXE` - Fixed amount each collection\n* `USGB` - Usage-based amount\n* `VARI` - Variable amount\n",
        "enum": [
          "FIXE",
          "USGB",
          "VARI"
        ],
        "type": "string"
      },
      "MandateClassificationCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ExternalMandateClassificationCode"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "MandateClassification": {
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/MandateClassificationCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/MandateClassificationCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "MandateTypeInformation": {
        "description": "Provides details on the type of mandate.\n",
        "properties": {
          "categoryPurpose": {
            "$ref": "#/components/schemas/CategoryPurpose"
          },
          "classification": {
            "$ref": "#/components/schemas/MandateClassification"
          },
          "localInstrument": {
            "$ref": "#/components/schemas/LocalInstrumentType"
          },
          "serviceLevel": {
            "$ref": "#/components/schemas/ServiceLevel"
          }
        },
        "type": "object"
      },
      "Mandate": {
        "description": "Core mandate data structure containing all the details of a direct debit mandate.\n",
        "properties": {
          "adjustment": {
            "$ref": "#/components/schemas/MandateAdjustmentRules"
          },
          "authentication": {
            "$ref": "#/components/schemas/MandateAuthentication"
          },
          "collectionAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "creditor": {
            "$ref": "#/components/schemas/Party"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "creditorSchemeIdentification": {
            "$ref": "#/components/schemas/Party"
          },
          "debtor": {
            "$ref": "#/components/schemas/Party"
          },
          "debtorAccount": {
            "$ref": "#/components/schemas/PaymentAccount"
          },
          "debtorAgent": {
            "$ref": "#/components/schemas/InstitutionIdentification"
          },
          "firstCollectionAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "mandateIdentification": {
            "description": "Unique identification of the mandate, as assigned by the creditor. This field is used strictly by the Creditor\nfor their own internal referencing and may be used to link collections to their related mandate.\nThis is required for mandate initiations and cancellations.\n",
            "maxLength": 35,
            "type": "string"
          },
          "mandateReference": {
            "description": "Reference assigned to the mandate by the mandate management application.\nThis is distinct from `mandateIdentification` (creditor's ID)\nand `ZaMandatePaymentSchemeSupplementaryData.debtorBankMandateReference` (debtor bank's reference).\n",
            "maxLength": 35,
            "type": "string"
          },
          "mandateRequestIdentification": {
            "description": "Unique identification of the mandate request, as assigned by the creditor to the debtor when the underlying contract is concluded between the two parties.\nThis field represents the Contract Reference Number. It appears on the debtor's bank statement to help them identify the deductions.\nThe Contract Reference must remain unchanged for the entire duration of the mandate, even in the event of cession or assignment. It can only be amended if no AC Payment Instruction has ever been presented against the Payer's account.\nThis field is required for mandate initiations and mandate cancellations.\n",
            "maxLength": 35,
            "type": "string"
          },
          "mandateStatus": {
            "$ref": "#/components/schemas/MandateStatus"
          },
          "maximumAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "occurrences": {
            "$ref": "#/components/schemas/MandateOccurrences"
          },
          "reason": {
            "$ref": "#/components/schemas/MandateReason"
          },
          "referredDocument": {
            "description": "Provides information to identify the underlying documents associated with the mandate\n",
            "items": {
              "$ref": "#/components/schemas/ReferredDocument"
            },
            "type": "array"
          },
          "trackingIndicator": {
            "description": "Indicates whether the mandate permits tracking for future collection instructions.\nIts exact meaning and relevance depend strictly on the mandate-management operation being performed:\n\n**1. Mandate Initiation & Amendment Requests**\n* **Required:** Specifies whether tracking capabilities are permitted (`true`) or revoked (`false`) for future collections against this mandate.\n\n**2. Mandate Cancellation Requests**\n* **Required:** Acts specifically as a **Tracking Cancellation Indicator** to manage collections that are already in-flight.\n  * `true`: Instructs the clearing house to immediately cancel any active tracking records currently in the tracking queue for this mandate.\n  * `false`: Instructs the clearing house NOT to cancel records in tracking, allowing them to finish their tracking cycle despite the mandate being cancelled.\n\n**3. Mandate Acceptance Reports**\n* **Required:** Echoes the definitive tracking setting (`true` or `false`) that was successfully saved to the Debtor Bank's Mandate Register.\n\n**4. Mandate Suspensions & Information Requests**\n* **Not Applicable:** This field is ignored for lookup and suspension operations.\n",
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/MandateTypeInformation"
          },
          "ultimateCreditor": {
            "$ref": "#/components/schemas/Party"
          },
          "ultimateDebtor": {
            "$ref": "#/components/schemas/Party"
          }
        },
        "required": [
          "creditor",
          "debtor",
          "debtorAgent"
        ],
        "type": "object"
      },
      "MandateRequestTransactionIdentifier": {
        "description": "**Mandate Request Transaction Identifier (MRTI)**\nA unique transaction identifier used for matching multiple messages to a single transaction. This identifier\nis created for each new mandate request to uniquely identify the transaction within the Authenticated Collections scheme.\n\n**Important:** Usage of mandateRequestTransactionIdentifier**.\n* If the client is the host of the mandate register and is the source of truth for mandate state the client is\n  required to always populate the `MRTI`. The format is validated and the provided `MRTI` is used by Electrum.\n* If Electrum is the source of truth for mandate state the `MRTI` should not be provided by the client when\n  initiating new mandate transactions; Electrum will generate a compliant `MRTI` automatically which will be\n  echoed back to the client.\n\n**Structure (23 characters):**\n* Positions 1–4 (4 numeric): Originating bank number. Must be a valid, registered bank.\n* Positions 5–14 (10 alphanumeric): Origination date in the format `YYYY-MM-DD`. Must be a valid date.\n* Positions 15–23 (9 numeric): Mandate sequence number. Unique within the bank and date.\n\n**Lifecycle behaviour:**\n  * **Mandate Initiation Request:** The originating bank creates a new, unique `MRTI` for the\n    initiation request. If not provided by the client, Electrum generates one automatically.\n  * **Mandate Amendment Request:** A new, unique `MRTI` is required for the amendment request. If not provided\n    by the client, Electrum generates one automatically.\n    The amendment is linked back to the original mandate using the Mandate Reference Number (MRN).\n  * **Mandate Cancellation Request:**\n    * *In-flight cancellation:* If cancelling a mandate request that is still in-flight (e.g. awaiting\n      debtor authentication), the `MRTI` must exactly match the `MRTI` of the in-flight request being cancelled.\n      If not provided, Electrum handles this automatically by retrieving the `MRTI` of the in-flight transaction.\n    * *Active mandate cancellation:* If the mandate is already fully registered and active, a new, unique\n      `MRTI` must be issued for the cancellation request. If not provided, Electrum determines the mandate state\n      and applies the correct rule automatically.\n  * **Mandate Acceptance Report:** The response echoes back the `MRTI` from the request being responded to.\n    For API-level correlation, clients use `originalMessageIdentifiers.messageIdentification` instead.\n  * **Mandate Status Report:** The status report echoes back the `MRTI` from the request being reported on.\n    For API-level correlation, clients use `originalMessageIdentifiers.messageIdentification` instead.\n\n**Validation rules enforced by the scheme:**\n* Must not be blank or spaces.\n* The bank number (positions 1–4) must be a valid, registered bank.\n* The date (positions 5–14) must be a valid calendar date.\n* Must conform to the 23-character structured format.\n* Must be unique at the time of request origination.\n",
        "maxLength": 35,
        "pattern": "^\\d{4}\\d{4}-\\d{2}-\\d{2}\\d{9}$",
        "type": "string"
      },
      "MandatePaymentSchemeRequestTransmissionNumber": {
        "description": "Sequence number for the message's transmission. Used exclusively for real-time (TT1/TT3) messages to track\nmessage retries. 1 = original message transmission, 2-4 = retries.\n",
        "maximum": 4,
        "minimum": 1,
        "type": "integer"
      },
      "ZaMandatePaymentSchemeSupplementaryData": {
        "description": "South Africa specific supplementary data fields.\nThese fields supplement the core mandate structure with local requirements.\n",
        "properties": {
          "authenticationType": {
            "description": "Indicates the delivery and authentication mechanism of the mandate transaction.\n\nIn the `ZA_AC` scheme, this field dictates the specific Transaction Type (TT) processing rules that will be applied:\n* `REAL_TIME`: Maps to `TT1` (non-card). The mandate request is routed over the real-time interbank switch without an upfront authentication key. Note: The actual Payer authorisation might be immediate (e.g., 120-second USSD timeout) or delayed (until the end of the day), but the routing type remains REAL_TIME.\n* `PREAUTH`: Maps to `TT3` (Card Present). Indicates the Payer has already been authenticated via a prior card-and-PIN transaction at the point of interaction. Mandates using this type must include the resulting Message Authentication Code (MAC) in the request payload.\n* `BATCH`: Maps to `TT2`. The mandate request is submitted via delayed bulk file processing.\n* `NOT_APPLICABLE`: Debtor authentication is not required for this action (e.g. `MandateInformationRequest`).\n",
            "enum": [
              "REAL_TIME",
              "PREAUTH",
              "BATCH",
              "NOT_APPLICABLE"
            ],
            "type": "string"
          },
          "collectionDay": {
            "description": "The Payer's preferred recurring day for collection from their bank account.\n\nIn the `ZA_AC` scheme, the Collection Day is a rigid, legally binding clearing rule that is strictly evaluated relative to the mandate's `Frequency`. The interpretation of this integer changes based on the frequency type:\n* `Monthly`, `Quarterly`, `Bi-annually`, `Annually`, `Once-off`: Values `1` to `30` represent the exact calendar day of the month. `99` strictly represents the \"Last Day\" of the month (e.g., automatically adjusting for February 28th/29th). Note: 31 is not a valid input.\n* `Weekly`: Values `1` to `7` represent the day of the week (`1` = Monday, `7` = Sunday).\n* `Fortnightly`: Values `1` to `14` represent the day within the two-week cycle (`1` to `7` for week one; `8` to `14` for week two).\n* `Monthly by Rule`: Values map to specific occurrences (e.g., `1` = Last Monday, `7` = First Monday, `14` = 2nd Last Day).\n\n**Interbank Validation Rules:**\nThe Debtor Bank is required to store this exact day in their Mandate Register. If the mandate's `dateAdjustmentRule` is set to 'N' (No), the Debtor Bank will strictly validate incoming collections against this day. If a collection's Action Date does not exactly match this `collectionDay` (or the immediately following Processing Day), the Debtor Bank will trigger an upfront rejection.\n\n*Note: According to clearing rules, Debtor Banks are only required to enforce this strict date validation on `Weekly` and `Monthly` frequencies.*\n",
            "maximum": 99,
            "minimum": 1,
            "type": "integer"
          },
          "debitValueType": {
            "description": "This dictates strict interbank validation rules for how collection amounts are calculated, capped, and\nadjusted over the life of the mandate.\n\nThe rules for each type are:\n* `FIXED`: Used for contracts where an upfront, calculated Instalment Amount is the\n  basis for normal collections. Regular collections are strictly validated and\n  cannot exceed this Instalment Amount. The Adjustment Category for a fixed\n  mandate must strictly be 'NEVR' (Never).\n* `VARIABLE`: Used for contracts where an upfront Instalment Amount is calculated but\n  can be amended by the Creditor based on pre-agreed variables, such as annual\n  increases or interest rate changes. Regular collections cannot exceed the\n  currently active Instalment Amount.\n* `USAGE_BASED`: Used for contracts where the collection amount fluctuates depending on\n  the Payer's usage of a product or service during the payment cycle. Unlike Fixed\n  and Variable mandates, the regular Instalment Amount is optional, and interbank validation\n  is instead performed strictly against a mandatory Maximum Collection Amount.\n",
            "enum": [
              "FIXED",
              "VARIABLE",
              "USAGE_BASED"
            ],
            "type": "string"
          },
          "debtorBankMandateReference": {
            "description": "The Mandate Reference Number (MRN) assigned by the debtor bank upon mandate acceptance. This is the official, unique\nindustry-wide identification number for the mandate that is unique for the mandate's entire lifecycle (including time in archives).\n\nIt is returned in the acceptance report and must be included in subsequent mandate amendment, and suspension requests.\n\n*Not to be confused with `mandateIdentification` (creditor's internal ID), `mandateRequestTransactionIdentifier` (MRTI), or `mandateReference` (mandate management app reference).*\n\n**Structure (22 characters):**\n* **Bank Number (4 numeric):** The 4-digit identifier of the Debtor Bank.\n* **Mandate Creation Date (8 numeric):** The date the mandate was successfully registered, formatted strictly as `YYYYMMDD`.\n* **Free Format (10 alphanumeric):** A unique identifier or sequence generated by the Debtor Bank.\n",
            "maxLength": 22,
            "pattern": "^[0-9]{4}20[0-9]{2}[0-1][0-9][0-3][0-9].{10}$",
            "type": "string"
          },
          "mandateRequestTransactionIdentifier": {
            "$ref": "#/components/schemas/MandateRequestTransactionIdentifier"
          },
          "requestTransmissionNumber": {
            "$ref": "#/components/schemas/MandatePaymentSchemeRequestTransmissionNumber"
          }
        },
        "type": "object"
      },
      "ZaAcMandatePaymentSchemeData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ZaMandatePaymentSchemeSupplementaryData"
          },
          {
            "required": [
              "authenticationType"
            ],
            "type": "object"
          }
        ]
      },
      "ZaAcMandatePaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaAcMandatePaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "MandatePaymentScheme": {
        "description": "Designates which scheme a mandate operation is associated with and describes scheme-specific information\nfor the mandate operation where relevant.\n",
        "discriminator": {
          "mapping": {
            "ZA_AC": "#/components/schemas/ZaAcMandatePaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaAcMandatePaymentScheme"
          }
        ],
        "type": "object"
      },
      "MandateInitiationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A request to initiate a new mandate.\nSent by the creditor to the debtor's bank to request establishment of a new mandate.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "mandate": {
                "$ref": "#/components/schemas/Mandate"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateInitiationRequest"
                ],
                "type": "string"
              }
            },
            "required": [
              "mandate",
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "MandateAmendmentReason": {
        "description": "Provides details about the reason for a mandate amendment.\n\n**Field Usage Guidelines:**\n**`reason`**: For South African Mandate Schemes the reason for the amendment is specified as one of the below `PROPRIETARY` values:\n  * `MD02` - Reason has not been specified by end consumer.\n  * `MD16` - Requested by Customer..\n  * `MD17` - Amendment requested by Initiating Party.\n  * `MD19` - Unsuspend a Mandate with changes.\n  * `MD20` - Unsuspend an unchanged Mandate.\n  * `MD21` - Amendment with no changes to Mandate Information.\n  * `MD22` - Amendment with changes to Mandate Information.\n",
        "properties": {
          "additionalInformation": {
            "items": {
              "maxLength": 105,
              "type": "string"
            },
            "type": "array"
          },
          "originator": {
            "$ref": "#/components/schemas/Party"
          },
          "reason": {
            "$ref": "#/components/schemas/MandateReason"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "OriginalMandateReference": {
        "description": "Reference to an original mandate. The partner may identify the mandate using any of the\nfollowing identifiers, depending on the context of the request and the information available.\nAt least one of `originalMandateIdentification` for the original mandate,\nor `originalMandate` must be provided.\n\nFor mandate amendment, cancellation and suspension requests, `originalMandate` is required\nand the originalMandateIdentification cannot be used as the sole reference.\n",
        "properties": {
          "originalMandate": {
            "$ref": "#/components/schemas/Mandate"
          },
          "originalMandateIdentification": {
            "description": "Unique identification to unambiguously identify the original mandate. Can be the mandateIdentification as assigned by the creditor\nor the mandate reference number as assigned by the debtor agent\n",
            "maxLength": 35,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OriginalMandateMessageInformation": {
        "description": "Identifies the original mandate-management message being referenced or responded to.\nFor `MandateInformationRequest`, this block is optional on the partner request — Electrum\nwill populate it from the latest message recorded against the mandate before forwarding to the scheme.\n",
        "properties": {
          "creationDateTime": {
            "description": "The creation date and time of the original message.\n",
            "format": "date-time",
            "type": "string"
          },
          "messageIdentification": {
            "description": "The identification of the original message.\n",
            "maxLength": 35,
            "type": "string"
          },
          "messageNameIdentification": {
            "description": "The name/type of the original message (e.g. MandateInitiationRequest).\n",
            "maxLength": 35,
            "type": "string"
          }
        },
        "required": [
          "messageIdentification",
          "messageNameIdentification"
        ],
        "type": "object"
      },
      "UnderlyingAmendmentDetails": {
        "description": "Contains the details of the mandate amendment including the reason, amended mandate, and original mandate reference.\n",
        "properties": {
          "amendedMandate": {
            "$ref": "#/components/schemas/Mandate"
          },
          "amendmentReason": {
            "$ref": "#/components/schemas/MandateAmendmentReason"
          },
          "originalMandate": {
            "$ref": "#/components/schemas/OriginalMandateReference"
          },
          "originalMessageInformation": {
            "$ref": "#/components/schemas/OriginalMandateMessageInformation"
          }
        },
        "required": [
          "amendmentReason",
          "amendedMandate",
          "originalMandate"
        ],
        "type": "object"
      },
      "MandateAmendmentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A request to amend an existing mandate.\nSent to request changes to the terms of an existing mandate.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateAmendmentRequest"
                ],
                "type": "string"
              },
              "underlyingAmendmentDetails": {
                "$ref": "#/components/schemas/UnderlyingAmendmentDetails"
              }
            },
            "required": [
              "underlyingAmendmentDetails",
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "MandateCancellationReason": {
        "description": "Provides details about the reason for a mandate cancellation.\n\n**Field Usage Guidelines:**\n**`reason`**: For South African Mandate Schemes the reason for the cancellation is specified as one of the below `PROPRIETARY` values:\n* `CEXP` - Contract expired.\n* `MACN` - Cancellation of Mandate Amendment (Strictly used when cancelling an in-flight MandateAmendmentRequest).\n* `MICN` - Cancellation of Mandate Initiation (Strictly used when cancelling an in-flight MandateInitiationRequest).\n* `MCES` - Mandate Cancelled due to early settlement.\n* `MCFR` - Mandate Cancellation due to Fraud.\n* `MD17` - Cancellation/amendment requested by the creditor.\n",
        "properties": {
          "additionalInformation": {
            "items": {
              "maxLength": 105,
              "type": "string"
            },
            "type": "array"
          },
          "originator": {
            "$ref": "#/components/schemas/Party"
          },
          "reason": {
            "$ref": "#/components/schemas/MandateReason"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "UnderlyingCancellationDetails": {
        "description": "Contains the core details of the mandate cancellation request.\n\n**Field Usage Guidelines:**\n* **`originalMessageInformation`**: ONLY required for in-flight cancellations (when a mandate initiation or\n  amendment is still pending or has timed out). It identifies the specific pending message to cancel.\n",
        "properties": {
          "cancellationReason": {
            "$ref": "#/components/schemas/MandateCancellationReason"
          },
          "originalMandate": {
            "$ref": "#/components/schemas/OriginalMandateReference"
          },
          "originalMessageInformation": {
            "$ref": "#/components/schemas/OriginalMandateMessageInformation"
          }
        },
        "required": [
          "cancellationReason",
          "originalMandate"
        ],
        "type": "object"
      },
      "MandateCancellationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "Sent to request termination of an existing mandate.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateCancellationRequest"
                ],
                "type": "string"
              },
              "underlyingCancellationDetails": {
                "$ref": "#/components/schemas/UnderlyingCancellationDetails"
              }
            },
            "required": [
              "underlyingCancellationDetails",
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "ExternalMandateSuspensionReasonCode": {
        "properties": {
          "schema": {
            "description": "Identifies the value as being a pre-defined code. Always `CODE`.",
            "type": "string"
          },
          "value": {
            "description": "* `CTAM` - Contract Amended.\n* `CTCA` - Contract Cancellation Initiated by Debtor.\n* `CTEX` - Contract Expired.\n* `MCFC` - Mandate Suspended - Final Collection.\n* `MCOC` - Mandate Suspended - Once off Collection.\n* `MSUC` - Mandate Suspended after seven consecutive unsuccessful Collections.\n",
            "enum": [
              "CTAM",
              "CTCA",
              "CTEX",
              "MCFC",
              "MCOC",
              "MSUC"
            ],
            "type": "string"
          }
        },
        "required": [
          "schema",
          "value"
        ],
        "type": "object"
      },
      "MandateSuspensionReasonChoice": {
        "description": "Specifies the reason for the suspension request of a mandate.\n",
        "discriminator": {
          "mapping": {
            "CODE": "#/components/schemas/ExternalMandateSuspensionReasonCode",
            "PROPRIETARY": "#/components/schemas/ProprietaryValue"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ExternalMandateSuspensionReasonCode"
          },
          {
            "$ref": "#/components/schemas/ProprietaryValue"
          }
        ],
        "type": "object"
      },
      "MandateSuspensionReason": {
        "description": "Provides details about the reason for a mandate suspension.\n\n**Field Usage Guidelines:**\n**`reason`**: For South African Mandate Schemes the reason for the suspension is specified as one of the below `PROPRIETARY` values:\n* `CTAM` - Contract Amended.\n* `CTCA` - Contract Cancellation Initiated by Debtor.\n* `CTEX` - Contract Expired.\n* `MCFC` - Mandate Suspended - Final Collection.\n* `MCOC` - Mandate Suspended - Once off Collection.\n* `MSUC` - Mandate Suspended after seven consecutive unsuccessful Collections.\n* `MASC` - Mandate Suspended - Account not in a state for Collections.\n* `MADO` - Mandate suspended due to no collection for a period.\n",
        "properties": {
          "additionalInformation": {
            "items": {
              "maxLength": 105,
              "type": "string"
            },
            "type": "array"
          },
          "originator": {
            "$ref": "#/components/schemas/Party"
          },
          "reason": {
            "$ref": "#/components/schemas/MandateSuspensionReasonChoice"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "MandateSuspensionRequestIdentification": {
        "description": "**Suspension Request Identification**\nA unique transaction identifier used to unambiguously identify the mandate suspension request to the clearing house.\n\n**Important:** Usage of suspensionRequestIdentification**.\n* If the client is the host of the mandate register and is the source of truth for mandate state the client is\n  required to always populate the `suspensionRequestIdentification` in the `MandateSuspensionRequest`.\n  The format is validated and the provided `suspensionRequestIdentification` is used by Electrum.\n* If Electrum is the source of truth for mandate state the `suspensionRequestIdentification` should not be\n  provided by the client when initiating new mandate suspension; Electrum will generate a compliant\n `suspensionRequestIdentification` automatically which will be echoed back to the client.\n\n**Lifecycle behaviour:**\n* **Mandate Suspension Request:** The originating bank creates a new, unique suspensionRequestIdentification for\n  the suspension request. If not provided by the client, Electrum generates one automatically.\n* **Customer Payment Status Report:** The suspensionRequestIdentification is echoed in\n    CustomerPaymentStatusReports that confirm the outcome of a mandate suspension.\n\n**Structure (29 characters):**\nThe identifier is composed of 4 components separated by forward slashes (`/`), matching the pattern `STP/<BankCode>/<Date>/<Sequence>`:\n* **Prefix (`STP`)**: Fixed string indicating a Suspension.\n* **Bank Code (4 numeric)**: The 4-digit identifier of the initiating bank.\n* **Date (10 alphanumeric)**: The date the suspension is generated in `YYYY-MM-DD` format.\n* **Sequence Number (9 numeric)**: Mandate Suspension sequence number. Must be unique within the bank and date.\n",
        "maxLength": 35,
        "pattern": "^STP/\\d{4}/20\\d{2}-\\d{2}-\\d{2}/\\d{9}$",
        "type": "string"
      },
      "UnderlyingSuspensionDetails": {
        "description": "Contains the details of the mandate suspension including the reason and original mandate reference.\n",
        "properties": {
          "originalMandate": {
            "$ref": "#/components/schemas/OriginalMandateReference"
          },
          "suspensionReason": {
            "$ref": "#/components/schemas/MandateSuspensionReason"
          },
          "suspensionRequestIdentification": {
            "$ref": "#/components/schemas/MandateSuspensionRequestIdentification"
          }
        },
        "required": [
          "suspensionReason",
          "originalMandate"
        ],
        "type": "object"
      },
      "MandateSuspensionRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A request to suspend an existing mandate.\nSent to temporarily suspend mandate processing.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateSuspensionRequest"
                ],
                "type": "string"
              },
              "underlyingSuspensionDetails": {
                "$ref": "#/components/schemas/UnderlyingSuspensionDetails"
              }
            },
            "required": [
              "underlyingSuspensionDetails",
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "UnderlyingCopyDetails": {
        "description": "Contains the details of the mandate copy request including the original mandate reference.\n",
        "properties": {
          "mandateStatus": {
            "$ref": "#/components/schemas/MandateStatus"
          },
          "originalMandate": {
            "$ref": "#/components/schemas/OriginalMandateReference"
          },
          "originalMessageInformation": {
            "$ref": "#/components/schemas/OriginalMandateMessageInformation"
          }
        },
        "required": [
          "originalMandate"
        ],
        "type": "object"
      },
      "MandateInformationRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMessage"
          },
          {
            "description": "A request for a copy of mandate details.\nSent to request the current state of a mandate.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateInformationRequest"
                ],
                "type": "string"
              },
              "underlyingCopyDetails": {
                "$ref": "#/components/schemas/UnderlyingCopyDetails"
              }
            },
            "required": [
              "underlyingCopyDetails",
              "paymentScheme",
              "schema"
            ],
            "type": "object"
          }
        ]
      },
      "ZaAcCustomerPaymentStatusReportPaymentSchemeData": {
        "description": "The `mandateRequestTransactionIdentifier` and `suspensionRequestIdentification` are mutually exclusive fields\n* If the status report is responding to a standard mandate operation (Initiation, Amendment, Cancellation), it echoes the MRTI.\n* If the status report is responding to a Suspension, it echoes the Suspension Request Identification.\n",
        "properties": {
          "mandateRequestTransactionIdentifier": {
            "$ref": "#/components/schemas/MandateRequestTransactionIdentifier"
          },
          "requestTransmissionNumber": {
            "$ref": "#/components/schemas/MandatePaymentSchemeRequestTransmissionNumber"
          },
          "suspensionRequestIdentification": {
            "$ref": "#/components/schemas/MandateSuspensionRequestIdentification"
          }
        },
        "type": "object"
      },
      "ZaAcCustomerPaymentStatusReportPaymentScheme": {
        "properties": {
          "schema": {
            "$ref": "#/components/schemas/PaymentSchemeName"
          },
          "schemeData": {
            "$ref": "#/components/schemas/ZaAcCustomerPaymentStatusReportPaymentSchemeData"
          }
        },
        "required": [
          "schema",
          "schemeData"
        ],
        "type": "object"
      },
      "CustomerPaymentStatusReportPaymentScheme": {
        "description": "Designates which scheme a customer payment status report is associated with and describes scheme-specific\ninformation for the customer payment status report.\n",
        "discriminator": {
          "mapping": {
            "ZA_AC": "#/components/schemas/ZaAcCustomerPaymentStatusReportPaymentScheme"
          },
          "propertyName": "schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZaAcCustomerPaymentStatusReportPaymentScheme"
          }
        ],
        "type": "object"
      },
      "CustomerPaymentStatusReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "properties": {
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "mandateInformation": {
                "$ref": "#/components/schemas/MandateInformation"
              },
              "originalMessageNameIdentification": {
                "description": "Specifies the original message name identifier to which the message refers. In ELPAPI, this should be the\nELPAPI message type name (e.g. MandateInitiationRequest, MandateAmendmentRequest, CreditTransfer).\n",
                "maxLength": 35,
                "type": "string"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/CustomerPaymentStatusReportPaymentScheme"
              },
              "schema": {
                "enum": [
                  "CustomerPaymentStatusReport"
                ],
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/Status"
              }
            },
            "required": [
              "paymentScheme",
              "status",
              "originalMessageNameIdentification",
              "schema"
            ],
            "type": "object"
          }
        ],
        "description": "Provides status information on instructions previously sent. This message can be used to\ncommunicate the status of various customer payment initiations including mandate operations\n(initiation, amendment, cancellation, suspension), credit-transfer initiations, and direct-debit\ninitiations.\n\nUse cases include:\n- Functional acknowledgment that a request has been received and is pending (e.g. awaiting debtor authentication)\n- Rejection of a request due to validation failure\n- Acknowledgment of a MandateAcceptanceReport\n\nThe original request is referenced via `originalMessageIdentifiers`.\n"
      },
      "MandateAcceptanceResult": {
        "description": "Result of a mandate maintenance request.\n",
        "properties": {
          "accepted": {
            "description": "Indicates whether the mandate maintenance request was accepted (true) or rejected (false).\n",
            "type": "boolean"
          },
          "additionalRejectionInformation": {
            "description": "Additional information about the rejection reason.\n",
            "items": {
              "maxLength": 105,
              "type": "string"
            },
            "type": "array"
          },
          "rejectionReason": {
            "$ref": "#/components/schemas/MandateReason"
          }
        },
        "required": [
          "accepted"
        ],
        "type": "object"
      },
      "UnderlyingAcceptanceDetails": {
        "description": "Contains the core information regarding the acceptance or rejection of the mandate maintenance request.\n",
        "properties": {
          "acceptanceResult": {
            "$ref": "#/components/schemas/MandateAcceptanceResult"
          },
          "originalMandate": {
            "$ref": "#/components/schemas/OriginalMandateReference"
          },
          "originalMessageInformation": {
            "$ref": "#/components/schemas/OriginalMandateMessageInformation"
          }
        },
        "required": [
          "acceptanceResult"
        ],
        "type": "object"
      },
      "MandateAcceptanceReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponseMessage"
          },
          {
            "description": "A report on the acceptance or rejection of a mandate request.\nSent by the debtor bank in response to an initiation, amendment, suspension or cancellation request.\nAlso used when responding to a mandate information request.\n",
            "properties": {
              "initiatingParty": {
                "$ref": "#/components/schemas/Party"
              },
              "instructedAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "instructingAgent": {
                "$ref": "#/components/schemas/InstitutionIdentification"
              },
              "paymentScheme": {
                "$ref": "#/components/schemas/MandatePaymentScheme"
              },
              "schema": {
                "enum": [
                  "MandateAcceptanceReport"
                ],
                "type": "string"
              },
              "underlyingAcceptanceDetails": {
                "$ref": "#/components/schemas/UnderlyingAcceptanceDetails"
              }
            },
            "required": [
              "paymentScheme",
              "underlyingAcceptanceDetails",
              "schema"
            ],
            "type": "object"
          }
        ]
      }
    },
    "examples": {
      "Healthy": {
        "summary": "A health check report indicating services are healthy",
        "value": {
          "status": "PASS"
        }
      },
      "OutboundCreditTransferRPP": {
        "summary": "Outbound credit transfer initiation for the RPP payment scheme.",
        "value": {
          "schema": "CreditTransfer",
          "messageIdentifiers": {
            "creationDateTime": "2022-05-04T03:02:01Z",
            "messageIdentification": "uniqueMessageId"
          },
          "paymentScheme": {
            "schema": "ZA_RPP"
          },
          "amounts": {
            "bankSettlementAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "legalName": "PersonLegalName",
            "knownAsName": "PersonCommonName"
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "proxy": {
              "namespace": "NeoBank",
              "schema": "MOBILE",
              "value": "+27-0214620000"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditorAgent": {
            "memberId": "ABSAZAJ"
          },
          "debtor": {
            "legalName": "PersonLegalName",
            "knownAsName": "PersonCommonName"
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "memberId": "FIRNMZM"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "uniqueEndToEndId",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "instructingAgent": {
            "memberId": "FIRNMZM"
          },
          "instructedAgent": {
            "memberId": "ABSAZAJ"
          },
          "remittanceInformation": {
            "structured": [
              {
                "creditorReference": {
                  "type": {
                    "value": "RADM",
                    "schema": "CODE",
                    "issuer": "AnotherAmazeBank1234"
                  },
                  "reference": "Their statement reference"
                },
                "originatorReference": "My statement reference"
              }
            ]
          },
          "supplementaryData": {
            "customData1": "My custom data 1",
            "customData2": "My custom data 2"
          }
        }
      },
      "OutboundCreditTransferEFT": {
        "summary": "Outbound credit transfer for the EFT payment scheme.",
        "value": {
          "paymentScheme": {
            "schema": "ZA_EFT",
            "schemeData": {
              "userReference": "REF 1234",
              "userCode": 1234
            }
          },
          "amounts": {
            "bankSettlementAmount": {
              "value": 1,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "CODE",
              "value": "BTR"
            }
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "creditorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "issuer": "Amazing Bank",
              "value": 541239876
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "debtorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructionForCreditorAgent": [
            {
              "code": "TELB",
              "information": "Please email example@example.com"
            }
          ],
          "intermediaryAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "previousInstructingAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "initiatingParty": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "purpose": {
            "schema": "CODE",
            "value": "BKDF"
          },
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ],
            "structured": [
              {
                "referredDocuments": [
                  {
                    "type": {
                      "value": "CINV",
                      "schema": "CODE",
                      "issuer": "AmazeBank123456"
                    },
                    "documentIdentifier": "A0123456789"
                  }
                ],
                "referredDocumentAmount": {
                  "duePayableAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  },
                  "remittedAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  }
                },
                "creditorReference": {
                  "type": {
                    "value": "RADM",
                    "schema": "CODE",
                    "issuer": "AnotherAmazeBank1234"
                  },
                  "reference": "ABC123XYZ999"
                },
                "additionalRemittanceInformation": [
                  "Some",
                  "Additional",
                  "Information"
                ]
              }
            ]
          },
          "tax": {
            "totalAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "schema": "CreditTransfer",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "OutboundCreditTransferCBPR": {
        "summary": "Outbound credit transfer for CBPR+",
        "value": {
          "paymentScheme": {
            "schema": "CBPR_PLUS",
            "schemeData": {
              "exchangeRate": 0.1,
              "chargeBearer": "SHAR",
              "charges": [
                {
                  "amount": {
                    "value": 1,
                    "currency": "ZAR"
                  },
                  "type": {
                    "schema": "CODE",
                    "value": "BRKF"
                  },
                  "agent": {
                    "bicfi": "RY8PEG0L"
                  }
                }
              ]
            }
          },
          "amounts": {
            "bankSettlementAmount": {
              "value": 1,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "CODE",
              "value": "BTR"
            },
            "serviceLevel": [
              {
                "schema": "CODE",
                "value": "G001"
              },
              {
                "schema": "CODE",
                "value": "SDVA"
              }
            ],
            "categoryPurpose": {
              "schema": "CODE",
              "value": "CASH"
            }
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "clearingSystemMemberId": {
              "clearingSystem": {
                "schema": "CODE",
                "value": "ZANCC"
              },
              "memberId": "AmazingBankId"
            },
            "name": "Amazing Bank Inc",
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "subDepartment": "Mysterium",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "room": 17,
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay Branch",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "subDepartment": "Mysterium",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "room": 17,
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "creditorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "issuer": "Amazing Bank",
              "value": 541239876
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "clearingSystemMemberId": {
              "clearingSystem": {
                "schema": "CODE",
                "value": "ZANCC"
              },
              "memberId": "AmazingBankId"
            },
            "name": "Amazing Bank Inc",
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "subDepartment": "Mysterium",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "room": 17,
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay Branch",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "subDepartment": "Mysterium",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "room": 17,
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "debtorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructionForCreditorAgent": [
            {
              "code": "TELB",
              "information": "Please email example@example.com"
            }
          ],
          "intermediaryAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "previousInstructingAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "initiatingParty": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "purpose": {
            "schema": "CODE",
            "value": "BKDF"
          },
          "regulatoryReporting": [
            {
              "applicability": "DEBIT",
              "authority": {
                "name": "ZA Authority",
                "country": "ZA"
              },
              "details": [
                {
                  "type": "REPORT",
                  "date": "2025-05-14",
                  "country": "ZA",
                  "code": "BOP_CODE_1",
                  "additionalInformation": [
                    "more",
                    "reporting",
                    "detail"
                  ]
                }
              ]
            }
          ],
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ],
            "structured": [
              {
                "referredDocuments": [
                  {
                    "type": {
                      "value": "CINV",
                      "schema": "CODE",
                      "issuer": "AmazeBank123456"
                    },
                    "documentIdentifier": "A0123456789"
                  }
                ],
                "referredDocumentAmount": {
                  "duePayableAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  },
                  "remittedAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  }
                },
                "creditorReference": {
                  "type": {
                    "value": "RADM",
                    "schema": "CODE",
                    "issuer": "AnotherAmazeBank1234"
                  },
                  "reference": "ABC123XYZ999"
                },
                "additionalRemittanceInformation": [
                  "Some",
                  "Additional",
                  "Information"
                ],
                "invoicer": {
                  "address": {
                    "addressType": "ADDR",
                    "department": "Department of Mysteries",
                    "streetName": "Street of Mysteries",
                    "buildingNumber": "42",
                    "buildingName": "Mysterious Building",
                    "floor": "42",
                    "postBox": "1024",
                    "postCode": "4242",
                    "townName": "Mysty Town",
                    "townLocationName": "Mysty Location",
                    "districtName": "Mysty District",
                    "countrySubDivision": "Mysterious Cape",
                    "country": "ZA",
                    "addressLine": [
                      "16A",
                      "New market street",
                      "Foreshore",
                      "Cape Town",
                      "ZA",
                      "8001"
                    ]
                  },
                  "contactDetails": {
                    "phoneNumber": "+27-0214620000",
                    "mobileNumber": "+27-08230000000",
                    "emailAddress": "developer.dave@electrum.com"
                  },
                  "countryOfResidence": "ZA",
                  "identification": {
                    "schema": "PERSON",
                    "identifiers": [
                      {
                        "identification": "90001236549870",
                        "scheme": {
                          "schema": "CODE",
                          "value": "NIDN"
                        },
                        "issuer": "Dept of Home Affairs"
                      }
                    ]
                  }
                },
                "taxRemittance": {
                  "creditor": {
                    "taxIdentification": 90001236549870,
                    "registrationIdentification": 90001236549870,
                    "taxType": "INDIVIDUAL"
                  },
                  "debtor": {
                    "taxIdentification": 90001236549870,
                    "registrationIdentification": 90001236549870,
                    "taxType": "INDIVIDUAL",
                    "authorisation": {
                      "title": "Mr",
                      "name": "Mr Tax"
                    }
                  },
                  "ultimateDebtor": {
                    "taxIdentification": 90001236549870,
                    "registrationIdentification": 90001236549870,
                    "taxType": "INDIVIDUAL",
                    "authorisation": {
                      "title": "Mr",
                      "name": "Mr Tax"
                    }
                  },
                  "referenceNumber": "TAX-123-456",
                  "totalTaxableBaseAmount": {
                    "value": 100,
                    "currency": "ZAR"
                  },
                  "totalTaxAmount": {
                    "value": 100,
                    "currency": "ZAR"
                  }
                }
              }
            ]
          },
          "tax": {
            "totalAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "schema": "CreditTransfer",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "TCIBOutboundCreditTransfer": {
        "summary": "An outbound credit transfer destined for the TCIB payment scheme.",
        "value": {
          "schema": "CreditTransfer",
          "paymentScheme": {
            "schema": "TCIB"
          },
          "amounts": {
            "bankSettlementAmount": {
              "currency": "ZAR",
              "value": 100
            }
          },
          "creditor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "contactDetails": {
              "emailAddress": "developer.dave@electrum.com",
              "mobileNumber": "+27-08230000000",
              "phoneNumber": "+27-0214620000"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "issuer": "Dept of Home Affairs",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ],
              "schema": "PERSON"
            },
            "legalName": "PersonLegalName"
          },
          "creditorAccount": {
            "currency": "ZAR",
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditorAgent": {
            "bicfi": "ABCDZA00",
            "branch": {
              "address": {
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ],
                "addressType": "ADDR",
                "buildingName": "Mysterious Building",
                "buildingNumber": "42",
                "country": "ZA",
                "countrySubDivision": "Mysterious Cape",
                "department": "Department of Mysteries",
                "districtName": "Mysty District",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "streetName": "Street of Mysteries",
                "townLocationName": "Mysty Location",
                "townName": "Mysty Town"
              },
              "identification": "210514",
              "name": "ABC Plettenberg Bay"
            },
            "name": "Amazing Bank Inc"
          },
          "debtor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "contactDetails": {
              "emailAddress": "developer.dave@electrum.com",
              "mobileNumber": "+27-08230000000",
              "phoneNumber": "+27-0214620000"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "AABBCCDD",
                  "schema": "OTHER"
                }
              ],
              "schema": "ORGANISATION"
            },
            "legalName": "CompanyLegalName"
          },
          "debtorAccount": {
            "currency": "ZAR",
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "ABCDZA00",
            "branch": {
              "address": {
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ],
                "addressType": "ADDR",
                "buildingName": "Mysterious Building",
                "buildingNumber": "42",
                "country": "ZA",
                "countrySubDivision": "Mysterious Cape",
                "department": "Department of Mysteries",
                "districtName": "Mysty District",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "streetName": "Street of Mysteries",
                "townLocationName": "Mysty Location",
                "townName": "Mysty Town"
              },
              "identification": "210514",
              "name": "ABC Plettenberg Bay"
            },
            "name": "Amazing Bank Inc"
          },
          "debtorAgentAccount": {
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "messageIdentifiers": {
            "creationDateTime": "2026-01-02T03:04:05Z",
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da"
          },
          "regulatoryReporting": [
            {
              "applicability": "DEBIT",
              "authority": {
                "country": "ZA",
                "name": "ZA Authority"
              },
              "details": [
                {
                  "additionalInformation": [
                    "more",
                    "reporting",
                    "detail"
                  ],
                  "code": "BOP_CODE_1",
                  "country": "ZA",
                  "date": "2025-05-14",
                  "type": "PURP"
                }
              ]
            }
          ],
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ]
          },
          "settlementDate": "2026-01-02",
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "TCIBOutboundCreditTransferToMobile": {
        "summary": "An outbound credit transfer to a mobile number using the TCIB payment scheme.",
        "value": {
          "schema": "CreditTransfer",
          "paymentScheme": {
            "schema": "TCIB"
          },
          "amounts": {
            "bankSettlementAmount": {
              "currency": "ZAR",
              "value": 100
            }
          },
          "creditor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "issuer": "Dept of Home Affairs",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ],
              "schema": "PERSON"
            },
            "legalName": "PersonLegalName"
          },
          "creditorAccount": {
            "proxy": {
              "schema": "MOBILE",
              "value": "+260-97123456"
            }
          },
          "creditorAgent": {
            "name": "Amazing MNO Inc",
            "clearingSystemMemberId": {
              "clearingSystem": {
                "schema": "PROPRIETARY",
                "value": "TCIB"
              },
              "memberId": 445566
            }
          },
          "debtor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "contactDetails": {
              "emailAddress": "developer.dave@electrum.com",
              "mobileNumber": "+27-08230000000",
              "phoneNumber": "+27-0214620000"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "AABBCCDD",
                  "schema": "OTHER"
                }
              ],
              "schema": "ORGANISATION"
            },
            "legalName": "CompanyLegalName"
          },
          "debtorAccount": {
            "currency": "ZAR",
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "ABCDZA00",
            "branch": {
              "address": {
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ],
                "addressType": "ADDR",
                "buildingName": "Mysterious Building",
                "buildingNumber": "42",
                "country": "ZA",
                "countrySubDivision": "Mysterious Cape",
                "department": "Department of Mysteries",
                "districtName": "Mysty District",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "streetName": "Street of Mysteries",
                "townLocationName": "Mysty Location",
                "townName": "Mysty Town"
              },
              "identification": "210514",
              "name": "ABC Plettenberg Bay"
            },
            "name": "Amazing Bank Inc"
          },
          "debtorAgentAccount": {
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "messageIdentifiers": {
            "creationDateTime": "2026-01-02T03:04:05Z",
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da"
          },
          "regulatoryReporting": [
            {
              "applicability": "DEBIT",
              "authority": {
                "country": "ZA",
                "name": "ZA Authority"
              },
              "details": [
                {
                  "additionalInformation": [
                    "more",
                    "reporting",
                    "detail"
                  ],
                  "code": "BOP_CODE_1",
                  "country": "ZA",
                  "date": "2025-05-14",
                  "type": "PURP"
                }
              ]
            }
          ],
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ]
          },
          "settlementDate": "2026-01-02",
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "ErrorDetailServerError": {
        "summary": "An error indicating an unexpected server error",
        "value": {
          "schema": "ErrorDetail",
          "message": "An unexpected error occurred. Please try again later."
        }
      },
      "OutboundFiToFiCreditTransferCBPR": {
        "summary": "Outbound FI to FI credit transfer for CBPR+",
        "value": {
          "schema": "FiToFiCreditTransfer",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2025-05-14T03:02:01Z"
          },
          "transactionIdentifiers": {
            "instructionIdentification": "a1db-0181ab0897d2",
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "paymentScheme": {
            "schema": "CBPR_PLUS"
          },
          "settlementDate": "2025-05-14",
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "CODE",
              "value": "BTR"
            }
          },
          "interbankSettlementAmount": {
            "value": 12.34,
            "currency": "ZAR"
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "intermediaryAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "debtor": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "debtorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "creditorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditor": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "instructionForCreditorAgent": [
            {
              "code": "TELB",
              "information": "Please email example@example.com"
            }
          ],
          "instructionForNextAgent": [
            {
              "code": "TELA",
              "information": "Please email example@example.com"
            }
          ],
          "purpose": {
            "schema": "CODE",
            "value": "BKDF"
          },
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ]
          }
        }
      },
      "OutboundBulkCreditTransferRPP": {
        "summary": "Outbound bulk credit transfer initiation for the RPP payment scheme.",
        "value": {
          "schema": "CreditTransferInitiation",
          "paymentInformationId": "uniqueUUID",
          "messageIdentifiers": {
            "creationDateTime": "2024-05-04T03:02:01Z",
            "messageIdentification": "uniqueMessageId"
          },
          "paymentSchemeName": "ZA_RPP",
          "numberOfTransactions": 2,
          "controlSum": {
            "value": 100,
            "currency": "ZAR"
          },
          "debtor": {
            "legalName": "PersonLegalName",
            "knownAsName": "PersonCommonName"
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "FIRNMZM"
          },
          "requestedExecutionDate": "2024-05-04",
          "supplementaryData": {
            "customData1": "My custom data 1",
            "customData2": "My custom data 2"
          },
          "creditTransferInitiationInstructions": [
            {
              "transactionIdentifiers": {
                "endToEndIdentification": "uniqueEndToEndId1",
                "transactionIdentification": "RRN000000001",
                "uetr": "uniqueUUID1"
              },
              "amounts": {
                "bankSettlementAmount": {
                  "value": 50,
                  "currency": "ZAR"
                }
              },
              "creditor": {
                "legalName": "PersonLegalName",
                "knownAsName": "PersonCommonName"
              },
              "creditorAccount": {
                "identification": {
                  "schema": "GENERIC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "AProprietaryCode123"
                  },
                  "issuer": "Amazing Bank",
                  "value": "abcdef987654"
                },
                "proxy": {
                  "namespace": "NeoBank",
                  "schema": "MOBILE",
                  "value": "+27-0214620000"
                },
                "type": {
                  "schema": "CODE",
                  "value": "CACC"
                }
              },
              "creditorAgent": {
                "bicfi": "ABSAZAJ"
              },
              "purpose": {
                "schema": "CODE",
                "value": "BONU"
              },
              "remittanceInformation": {
                "structured": [
                  {
                    "referredDocuments": [
                      {
                        "type": {
                          "value": "CINV",
                          "schema": "CODE",
                          "issuer": "AmazeBank123456"
                        },
                        "documentIdentifier": "A0123456789"
                      }
                    ],
                    "referredDocumentAmount": {
                      "duePayableAmount": {
                        "value": 1,
                        "currency": "ZAR"
                      },
                      "remittedAmount": {
                        "value": 1,
                        "currency": "ZAR"
                      }
                    },
                    "creditorReference": {
                      "reference": "Their statement reference",
                      "type": {
                        "value": "RADM",
                        "schema": "CODE",
                        "issuer": "AnotherAmazeBank1234"
                      }
                    },
                    "originatorReference": "My statement reference"
                  }
                ]
              }
            },
            {
              "transactionIdentifiers": {
                "endToEndIdentification": "uniqueEndToEndId2",
                "transactionIdentification": "RRN000000002",
                "uetr": "uniqueUUID2"
              },
              "amounts": {
                "bankSettlementAmount": {
                  "value": 50,
                  "currency": "ZAR"
                }
              },
              "creditor": {
                "legalName": "PersonLegalName",
                "knownAsName": "PersonCommonName"
              },
              "creditorAccount": {
                "identification": {
                  "schema": "GENERIC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "AProprietaryCode123"
                  },
                  "issuer": "Amazing Bank",
                  "value": "abcdef987654"
                },
                "proxy": {
                  "namespace": "NeoBank",
                  "schema": "MOBILE",
                  "value": "+27-0214620000"
                },
                "type": {
                  "schema": "CODE",
                  "value": "CACC"
                }
              },
              "creditorAgent": {
                "bicfi": "ABSAZAJ"
              },
              "purpose": {
                "schema": "CODE",
                "value": "BONU"
              },
              "remittanceInformation": {
                "structured": [
                  {
                    "referredDocuments": [
                      {
                        "type": {
                          "value": "CINV",
                          "schema": "CODE",
                          "issuer": "AmazeBank123456"
                        },
                        "documentIdentifier": "A0123456789"
                      }
                    ],
                    "referredDocumentAmount": {
                      "duePayableAmount": {
                        "value": 1,
                        "currency": "ZAR"
                      },
                      "remittedAmount": {
                        "value": 1,
                        "currency": "ZAR"
                      }
                    },
                    "creditorReference": {
                      "type": {
                        "value": "RADM",
                        "schema": "CODE",
                        "issuer": "AnotherAmazeBank1234"
                      },
                      "reference": "ABC123XYZ999"
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "CreditTransferStatusRequestExample": {
        "summary": "A request for the status of a credit transfer.",
        "value": {
          "schema": "CreditTransferStatusRequest",
          "messageIdentifiers": {
            "creationDateTime": "2022-05-04T03:01:01Z",
            "messageIdentification": "messageId"
          },
          "originalMessageIdentifiers": {
            "creationDateTime": "2022-05-04T03:02:01Z",
            "messageIdentification": "uniqueMessageId"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "uniqueEndToEndId",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "OriginalErrorResponseBadRequest": {
        "summary": "An echo of a prior error response caused by a bad reuest",
        "value": {
          "httpStatus": 400,
          "detail": {
            "schema": "ErrorDetail",
            "message": "Invalid request. Field 'creditTransfer.transactionIdentifiers.uetr' required but not present."
          },
          "schema": "OriginalErrorResponse"
        }
      },
      "FiToFiPaymentCancellationRequest": {
        "summary": "Cancel a prior payment instruction",
        "value": {
          "schema": "FiToFiPaymentCancellationRequest",
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "cancellationType": "RECALL"
            }
          },
          "messageIdentifiers": {
            "messageIdentification": "MSG20251206195003001",
            "creationDateTime": "2025-12-06T17:50:03.639Z"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "413aa14ac36d40ba803475da3355e2ef",
            "transactionIdentification": "413aa14ac36d40ba803475da3355e2ef",
            "uetr": "413aa14a-c36d-40ba-8034-75da3355e2ef"
          },
          "assignment": {
            "creationDateTime": "2025-12-06T17:50:03.639Z",
            "identification": "021/CLOUT/999001/20240115/000001",
            "assigner": {
              "schema": "PARTY",
              "party": {
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Misty Town",
                  "townLocationName": "Misty Location",
                  "districtName": "Misty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                },
                "contactDetails": {
                  "phoneNumber": "+27-0214620000",
                  "mobileNumber": "+27-08230000000",
                  "emailAddress": "bob@grey.com"
                },
                "countryOfResidence": "ZA",
                "identification": {
                  "schema": "PERSON",
                  "identifiers": [
                    {
                      "identification": 90001236549870,
                      "issuer": "Dept of Home Affairs",
                      "scheme": {
                        "schema": "CODE",
                        "value": "NIDN"
                      }
                    }
                  ]
                }
              }
            },
            "assignee": {
              "schema": "INSTITUTION",
              "institution": {
                "bicfi": "RY8PEG50",
                "name": "Electrum Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999037"
                }
              }
            }
          },
          "case": {
            "identification": "string-identification",
            "creator": {
              "schema": "INSTITUTION",
              "institution": {
                "bicfi": "RY8PEG0L",
                "name": "Electrum Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999000"
                }
              }
            },
            "reopenCaseIndication": true
          },
          "underlyingTransaction": {
            "cancellationId": "CANCELLATION",
            "cancellationReasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "AC02"
                },
                "additionalInformation": [
                  "Invalid debtor account debited"
                ]
              }
            ],
            "creditorAgent": {
              "bicfi": "RY8PEG0L",
              "name": "Amazing Bank Inc",
              "clearingSystemMemberId": {
                "clearingSystem": {
                  "schema": "CODE",
                  "value": "ZANCC"
                },
                "memberId": "999000"
              }
            },
            "amounts": {
              "bankSettlementAmount": {
                "value": 100,
                "currency": "ZAR"
              },
              "instructedAmount": {
                "value": 100,
                "currency": "ZAR"
              }
            },
            "debtorAgent": {
              "bicfi": "RY8PEG50",
              "name": "Electrum Bank Inc",
              "clearingSystemMemberId": {
                "clearingSystem": {
                  "schema": "CODE",
                  "value": "ZANCC"
                },
                "memberId": "999037"
              }
            },
            "settlementDate": "2025-11-28",
            "mandateInformation": {
              "mandateIdentification": "42ovy14ac36d3lba80344jfa3355e2ef"
            }
          }
        }
      },
      "BulkCreditTransferStatusRequestExample": {
        "summary": "A request for the status of a bulk credit transfer.",
        "value": {
          "schema": "CreditTransferInitiationStatusRequest",
          "messageIdentifiers": {
            "creationDateTime": "2024-05-04T03:03:01Z",
            "messageIdentification": "messageId"
          },
          "originalMessageIdentifiers": {
            "creationDateTime": "2024-05-04T03:02:01Z",
            "messageIdentification": "uniqueMessageId"
          },
          "paymentInformationId": "uniqueUUID",
          "includeIndividualCreditsStatuses": false
        }
      },
      "PaymentStatusReportApprovedEFT": {
        "summary": "Approved payment status report for an EFT credit or debit",
        "value": {
          "schema": "PaymentStatusReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "paymentScheme": {
            "schema": "ZA_EFT"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "status": {
            "outcome": "APPROVED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "ACSC"
                },
                "additionalInformation": "Settlement completed on debtor account"
              }
            ]
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "originalTransactionData": {
            "paymentMethod": "CreditTransfer",
            "creditor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "creditorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "creditorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "creditorAgentAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode456"
                },
                "issuer": "Amazing Bank",
                "value": 541239876
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "amounts": {
              "bankSettlementAmount": {
                "value": 1,
                "currency": "ZAR"
              },
              "instructedAmount": {
                "value": 1,
                "currency": "ZAR"
              }
            },
            "remittanceInformation": {
              "unstructured": [
                "some",
                "unstructured",
                "information"
              ],
              "structured": [
                {
                  "referredDocuments": [
                    {
                      "type": {
                        "issuer": "AmazeBank123456",
                        "schema": "CODE",
                        "value": "CINV"
                      },
                      "documentIdentifier": "A0123456789"
                    }
                  ],
                  "referredDocumentAmount": {
                    "duePayableAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    },
                    "remittedAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    }
                  },
                  "creditorReference": {
                    "type": {
                      "issuer": "AnotherAmazeBank1234",
                      "schema": "CODE",
                      "value": "RADM"
                    },
                    "reference": "ABC123XYZ999"
                  },
                  "additionalRemittanceInformation": [
                    "Some",
                    "Additional",
                    "Information"
                  ]
                }
              ]
            },
            "debtor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "debtorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "debtorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "debtorAgentAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": 609812345
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "initiatingParty": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "purpose": {
              "schema": "CODE",
              "value": "ACCT"
            },
            "supplementaryData": {
              "customData1": "My custom data 1",
              "customData2": "My custom data 2"
            },
            "paymentTypeInformation": {
              "localInstrument": {
                "schema": "CODE",
                "value": "BTR"
              }
            }
          }
        }
      },
      "PaymentStatusReportInboundRtcApproved": {
        "summary": "Payment status report approving an inbound credit transfer authorisation request",
        "value": {
          "schema": "PaymentStatusReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "paymentScheme": {
            "schema": "ZA_RTC",
            "schemeData": {
              "beneficiaryEchoData": "Ab1 xxxxxxxxxxxxxxxx",
              "authorisationId": "Ab1 xx"
            },
            "originalSchemeData": {
              "userReference": "Ab1 xxxxxxxxxxxxxxxx",
              "originatorEchoData": "Ab1 xxxxxxxxxxxxxxxx",
              "businessReference": "11Ab1xxxxx"
            }
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "status": {
            "outcome": "APPROVED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "ACSC"
                },
                "additionalInformation": "Settlement completed on debtor account"
              }
            ]
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "originalTransactionData": {
            "creditor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "creditorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "creditorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            },
            "amounts": {
              "bankSettlementAmount": {
                "value": 1,
                "currency": "ZAR"
              },
              "instructedAmount": {
                "value": 1,
                "currency": "ZAR"
              }
            },
            "remittanceInformation": {
              "unstructured": [
                "some",
                "unstructured",
                "information"
              ],
              "structured": [
                {
                  "referredDocuments": [
                    {
                      "type": {
                        "issuer": "AmazeBank123456",
                        "schema": "CODE",
                        "value": "CINV"
                      },
                      "documentIdentifier": "A0123456789"
                    }
                  ],
                  "referredDocumentAmount": {
                    "duePayableAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    },
                    "remittedAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    }
                  },
                  "creditorReference": {
                    "type": {
                      "issuer": "AnotherAmazeBank1234",
                      "schema": "CODE",
                      "value": "RADM"
                    },
                    "reference": "ABC123XYZ999"
                  },
                  "additionalRemittanceInformation": [
                    "Some",
                    "Additional",
                    "Information"
                  ]
                }
              ]
            },
            "debtor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "debtorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "debtorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          }
        }
      },
      "ResolutionOfInvestigation_PaymentCancellation": {
        "summary": "A ResolutionOfInvestigation message that informs a case creator or case assigner about the resolution of a prior \nrequest to cancel a payment\n",
        "value": {
          "schema": "ResolutionOfInvestigation",
          "paymentScheme": {
            "schema": "ZA_AC"
          },
          "messageIdentifiers": {
            "messageIdentification": "MSG20251206195003001",
            "creationDateTime": "2025-12-06T17:50:03.639Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "MSG20251206120000001",
            "creationDateTime": "2025-12-06T10:00:00.000Z"
          },
          "assignment": {
            "creationDateTime": "2025-12-06T17:50:03.639Z",
            "identification": "021/CLOUT/999001/20240115/000001",
            "assigner": {
              "schema": "PARTY",
              "party": {
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Misty Town",
                  "townLocationName": "Misty Location",
                  "districtName": "Misty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                },
                "contactDetails": {
                  "phoneNumber": "+27-0214620000",
                  "mobileNumber": "+27-08230000000",
                  "emailAddress": "bob@grey.com"
                },
                "countryOfResidence": "ZA",
                "identification": {
                  "schema": "PERSON",
                  "identifiers": [
                    {
                      "identification": 90001236549870,
                      "issuer": "Dept of Home Affairs",
                      "scheme": {
                        "schema": "CODE",
                        "value": "NIDN"
                      }
                    }
                  ]
                }
              }
            },
            "assignee": {
              "schema": "INSTITUTION",
              "institution": {
                "bicfi": "RY8PEG50",
                "name": "Electrum Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999037"
                }
              }
            }
          },
          "resolvedCase": {
            "identification": "CASE001",
            "creator": {
              "schema": "INSTITUTION",
              "institution": {
                "bicfi": "RY8PEG50",
                "name": "Electrum Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999037"
                }
              }
            },
            "reopenCaseIndication": false
          },
          "status": {
            "statusType": "CONFIRMATION",
            "confirmationCode": "RJCR"
          },
          "cancellationDetails": {
            "originalTransactionIdentifiers": {
              "endToEndIdentification": "E2E20251206001",
              "uetr": "97ed4827-7b6f-4491-a06f-b548d5a7512d",
              "transactionIdentification": "TXN001"
            },
            "transactionCancellationStatus": "RJCR",
            "cancellationStatusReasonInfo": {
              "reason": {
                "schema": "CODE",
                "value": "AACR"
              }
            },
            "originalTransaction": {
              "creditorAgent": {
                "bicfi": "RY8PEG0L",
                "name": "Amazing Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999000"
                }
              },
              "amounts": {
                "bankSettlementAmount": {
                  "value": 100,
                  "currency": "ZAR"
                },
                "instructedAmount": {
                  "value": 100,
                  "currency": "ZAR"
                }
              },
              "debtorAgent": {
                "bicfi": "RY8PEG50",
                "name": "Electrum Bank Inc",
                "clearingSystemMemberId": {
                  "clearingSystem": {
                    "schema": "CODE",
                    "value": "ZANCC"
                  },
                  "memberId": "999037"
                }
              },
              "settlementDate": "2025-11-28",
              "mandateInformation": {
                "mandateIdentification": "42ovy14ac36d3lba80344jfa3355e2ef"
              }
            }
          }
        }
      },
      "OutboundDirectDebitEFT": {
        "summary": "Outbound direct debit for the EFT payment scheme.",
        "value": {
          "paymentScheme": {
            "schema": "ZA_EFT",
            "schemeData": {
              "userReference": "REF 1234",
              "userCode": 1234
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "CODE",
              "value": "BTR"
            }
          },
          "sequenceType": "FRST",
          "amounts": {
            "bankSettlementAmount": {
              "value": 1,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "purpose": {
            "schema": "CODE",
            "value": "BKDF"
          },
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ],
            "structured": [
              {
                "referredDocuments": [
                  {
                    "type": {
                      "value": "CINV",
                      "schema": "CODE",
                      "issuer": "AmazeBank123456"
                    },
                    "documentIdentifier": "A0123456789"
                  }
                ],
                "referredDocumentAmount": {
                  "duePayableAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  },
                  "remittedAmount": {
                    "value": 1,
                    "currency": "ZAR"
                  }
                },
                "creditorReference": {
                  "type": {
                    "value": "RADM",
                    "schema": "CODE",
                    "issuer": "AnotherAmazeBank1234"
                  },
                  "reference": "ABC123XYZ999"
                },
                "additionalRemittanceInformation": [
                  "Some",
                  "Additional",
                  "Information"
                ]
              }
            ]
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "creditorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "issuer": "Amazing Bank",
              "value": 541239876
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "debtorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "intermediaryAgents": [
            {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            }
          ],
          "initiatingParty": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "requestedCollectionDate": "2022-05-04",
          "mandateInformation": {
            "mandateIdentification": "A mandate ID",
            "trackingDays": 4
          },
          "schema": "DirectDebit",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "OutboundDirectDebitAC": {
        "summary": "Outbound direct debit for the Authenticated Collections (AC) scheme.",
        "value": {
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "creditorAbbreviatedShortName": "AMAZE_BANK",
              "creditorContractReference": "CNTRCT-1234567"
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "sequenceType": "FRST",
          "amounts": {
            "instructedAmount": {
              "value": 250,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "creditor123456"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "debtor": {
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549871",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "value": "debtor654321"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "requestedCollectionDate": "2025-11-26",
          "mandateInformation": {
            "mandateIdentification": "AC-MANDATE-001",
            "trackingDays": 7
          },
          "schema": "DirectDebit",
          "messageIdentifiers": {
            "messageIdentification": "ac123456789abcdef012345678901234",
            "creationDateTime": "2025-11-25T10:00:00Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "AC202511250001",
            "transactionIdentification": "ACRRN0001",
            "uetr": "a1b2c3d4-e5f6-4789-a012-bcdef0123456"
          },
          "disputeDetails": {
            "disputable": true,
            "disputableReasons": [
              {
                "schema": "CODE",
                "value": "AM02"
              }
            ],
            "disputePeriodDays": 365
          },
          "remittanceInformation": {
            "unstructured": [
              "AC REF 5678"
            ]
          }
        }
      },
      "OutboundDirectDebitACEmergencyCollection": {
        "summary": "Outbound direct debit for the Authenticated Collections (AC) scheme, submitted via the PASA emergency collection service.",
        "value": {
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "creditorAbbreviatedShortName": "AMAZE_BANK",
              "creditorContractReference": "CNTRCT-1234567"
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "sequenceType": "FRST",
          "amounts": {
            "bankSettlementAmount": {
              "value": 250,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 250,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "creditor123456"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "debtor": {
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549871",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "value": "debtor654321"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "requestedCollectionDate": "2025-11-25",
          "emergencyCollection": true,
          "mandateInformation": {
            "mandateIdentification": "AC-MANDATE-001",
            "trackingDays": 7
          },
          "schema": "DirectDebit",
          "messageIdentifiers": {
            "messageIdentification": "ac987654321fedcba098765432109876",
            "creationDateTime": "2025-11-25T10:00:00Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "AC202511250002",
            "transactionIdentification": "ACRRN0002",
            "uetr": "b2c3d4e5-f6a7-4890-b123-cdef01234567"
          },
          "disputeDetails": {
            "disputable": true,
            "disputableReasons": [
              {
                "schema": "CODE",
                "value": "AM02"
              }
            ],
            "disputePeriodDays": 365
          }
        }
      },
      "OutboundDirectDebitRMS": {
        "summary": "Outbound direct debit for the Recurring Mandate Service (RMS) scheme.",
        "value": {
          "paymentScheme": {
            "schema": "ZA_RMS",
            "schemeData": {
              "userReference": "RMS REF 9012"
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "sequenceType": "RCUR",
          "amounts": {
            "instructedAmount": {
              "value": 500,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "identification": "2023/123456/07",
                  "scheme": {
                    "schema": "CODE",
                    "value": "COID"
                  }
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode789"
              },
              "value": "creditor789012"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "debtor": {
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549872",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode321"
              },
              "value": "debtor321098"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc"
          },
          "requestedCollectionDate": "2025-12-01",
          "mandateInformation": {
            "mandateIdentification": "RMS-MANDATE-002",
            "dateOfSignature": "2025-10-01",
            "frequency": {
              "schema": "MonthlyFrequency",
              "dayOfMonth": 1
            }
          },
          "schema": "DirectDebit",
          "messageIdentifiers": {
            "messageIdentification": "rms987654321fedcba098765432109876",
            "creationDateTime": "2025-11-25T10:30:00Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "RMS202511250002",
            "transactionIdentification": "RMSRRN0002",
            "uetr": "f1e2d3c4-b5a6-4987-a654-fedcba098765"
          },
          "disputeDetails": {
            "disputable": true,
            "disputableReasons": [
              {
                "schema": "CODE",
                "value": "AM02"
              }
            ],
            "disputePeriodDays": 40
          }
        }
      },
      "PaymentReturnEFT": {
        "summary": "Payment return for an EFT payment",
        "value": {
          "schema": "PaymentReturn",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "paymentScheme": {
            "schema": "ZA_EFT",
            "schemeData": {
              "originalUserReference": "REF 1234",
              "returnType": "UNPAID",
              "userCode": 1234
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "CODE",
              "value": "BTR"
            }
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "reasonInfo": [
            {
              "reason": {
                "schema": "CODE",
                "value": "AC01"
              },
              "additionalInformation": "string"
            }
          ],
          "returnedAmounts": {
            "bankSettlementAmount": {
              "value": 1,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 1,
              "currency": "ZAR"
            }
          },
          "settlementDate": "2022-05-04",
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "initiatingParty": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "creditorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode456"
              },
              "issuer": "Amazing Bank",
              "value": 541239876
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": 210514,
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              }
            }
          },
          "debtorAgentAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "originalTransactionData": {
            "settlementDate": "2022-05-04",
            "creditor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "creditorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "creditorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "creditorAgentAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode456"
                },
                "issuer": "Amazing Bank",
                "value": 541239876
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "amounts": {
              "bankSettlementAmount": {
                "value": 1,
                "currency": "ZAR"
              },
              "instructedAmount": {
                "value": 1,
                "currency": "ZAR"
              }
            },
            "remittanceInformation": {
              "unstructured": [
                "some",
                "unstructured",
                "information"
              ],
              "structured": [
                {
                  "referredDocuments": [
                    {
                      "type": {
                        "issuer": "AmazeBank123456",
                        "schema": "CODE",
                        "value": "CINV"
                      },
                      "documentIdentifier": "A0123456789"
                    }
                  ],
                  "referredDocumentAmount": {
                    "duePayableAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    },
                    "remittedAmount": {
                      "value": 1,
                      "currency": "ZAR"
                    }
                  },
                  "creditorReference": {
                    "type": {
                      "issuer": "AnotherAmazeBank1234",
                      "schema": "CODE",
                      "value": "RADM"
                    },
                    "reference": "ABC123XYZ999"
                  },
                  "additionalRemittanceInformation": [
                    "Some",
                    "Additional",
                    "Information"
                  ]
                }
              ]
            },
            "debtor": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "debtorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": "abcdef987654"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "debtorAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "debtorAgentAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "AProprietaryCode123"
                },
                "issuer": "Amazing Bank",
                "value": 609812345
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "initiatingParty": {
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "purpose": {
              "schema": "CODE",
              "value": "BKDF"
            }
          }
        }
      },
      "TCIBOutboundPaymentReturn": {
        "summary": "An outbound payment return destined for the TCIB payment scheme.",
        "value": {
          "schema": "PaymentReturn",
          "paymentScheme": {
            "schema": "TCIB"
          },
          "creditor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "contactDetails": {
              "emailAddress": "developer.dave@electrum.com",
              "mobileNumber": "+27-08230000000",
              "phoneNumber": "+27-0214620000"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "issuer": "Dept of Home Affairs",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ],
              "schema": "PERSON"
            },
            "legalName": "PersonLegalName"
          },
          "creditorAccount": {
            "currency": "ZAR",
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "creditorAgent": {
            "bicfi": "ABCDZA00",
            "branch": {
              "address": {
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ],
                "addressType": "ADDR",
                "buildingName": "Mysterious Building",
                "buildingNumber": "42",
                "country": "ZA",
                "countrySubDivision": "Mysterious Cape",
                "department": "Department of Mysteries",
                "districtName": "Mysty District",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "streetName": "Street of Mysteries",
                "townLocationName": "Mysty Location",
                "townName": "Mysty Town"
              },
              "identification": "210514",
              "name": "ABC Plettenberg Bay"
            },
            "name": "Amazing Bank Inc"
          },
          "debtor": {
            "address": {
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ],
              "addressType": "ADDR",
              "buildingName": "Mysterious Building",
              "buildingNumber": "42",
              "country": "ZA",
              "countrySubDivision": "Mysterious Cape",
              "department": "Department of Mysteries",
              "districtName": "Mysty District",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "streetName": "Street of Mysteries",
              "townLocationName": "Mysty Location",
              "townName": "Mysty Town"
            },
            "contactDetails": {
              "emailAddress": "developer.dave@electrum.com",
              "mobileNumber": "+27-08230000000",
              "phoneNumber": "+27-0214620000"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "issuer": "Dept of Home Affairs",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  }
                }
              ],
              "schema": "PERSON"
            },
            "legalName": "PersonLegalName"
          },
          "debtorAccount": {
            "currency": "ZAR",
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "debtorAgent": {
            "bicfi": "ABCDZA00",
            "branch": {
              "address": {
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ],
                "addressType": "ADDR",
                "buildingName": "Mysterious Building",
                "buildingNumber": "42",
                "country": "ZA",
                "countrySubDivision": "Mysterious Cape",
                "department": "Department of Mysteries",
                "districtName": "Mysty District",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "streetName": "Street of Mysteries",
                "townLocationName": "Mysty Location",
                "townName": "Mysty Town"
              },
              "identification": "210514",
              "name": "ABC Plettenberg Bay"
            },
            "name": "Amazing Bank Inc"
          },
          "debtorAgentAccount": {
            "identification": {
              "issuer": "Amazing Bank",
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "value": 609812345
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "messageIdentifiers": {
            "creationDateTime": "2026-01-02T03:04:05Z",
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da"
          },
          "originalMessageIdentifiers": {
            "creationDateTime": "2026-01-01T02:03:04Z",
            "messageIdentification": "7fd51c7124ba4819b9253e296a68e1da"
          },
          "originalTransactionData": {
            "amounts": {
              "bankSettlementAmount": {
                "currency": "ZAR",
                "value": 100
              }
            },
            "paymentTypeInformation": {
              "serviceLevel": [
                {
                  "schema": "CODE",
                  "value": "URGP"
                }
              ]
            },
            "remittanceInformation": {
              "structured": [
                {
                  "additionalRemittanceInformation": [
                    "original",
                    "additional",
                    "structured remittance information"
                  ]
                }
              ],
              "unstructured": [
                "original",
                "unstructured",
                "remittance",
                "information"
              ]
            },
            "settlementDate": "2026-01-01"
          },
          "reasonInfo": [
            {
              "additionalInformation": "Incorrect account number",
              "reason": {
                "schema": "CODE",
                "value": "AC01"
              }
            }
          ],
          "returnedAmounts": {
            "bankSettlementAmount": {
              "currency": "ZAR",
              "value": 100
            }
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayExact": {
        "summary": "Request To Pay (exact amount)",
        "value": {
          "paymentScheme": {
            "schema": "ZA_RPP"
          },
          "amounts": {
            "bankSettlementAmount": {
              "value": 100,
              "currency": "ZAR"
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "PROPRIETARY",
              "value": "PBPX"
            }
          },
          "expiryDateTime": "2024-04-09T09:32:51.395+02:00",
          "requestToPayConditions": {
            "minAmount": {
              "value": 100,
              "currency": "ZAR"
            },
            "maxAmount": {
              "value": 100,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "ultimateCreditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-721234567",
              "namespace": "amazebank"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "ultimateDebtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ],
            "structured": [
              {
                "creditorReference": {
                  "reference": "ABC123XYZ999"
                },
                "additionalRemittanceInformation": [
                  "Some",
                  "Additional",
                  "Information"
                ]
              }
            ]
          },
          "schema": "RequestToPay",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayAnyAmount": {
        "summary": "Request To Pay (any amount)",
        "value": {
          "paymentScheme": {
            "schema": "ZA_RPP"
          },
          "amounts": {
            "bankSettlementAmount": {
              "value": 100,
              "currency": "ZAR"
            }
          },
          "paymentTypeInformation": {
            "localInstrument": {
              "schema": "PROPRIETARY",
              "value": "PBPX"
            }
          },
          "expiryDateTime": "2024-04-09T09:32:51.395+02:00",
          "requestToPayConditions": {
            "minAmount": {
              "value": 1,
              "currency": "ZAR"
            },
            "maxAmount": {
              "value": 3000,
              "currency": "ZAR"
            }
          },
          "creditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "creditorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "creditorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "ultimateCreditor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "debtorAccount": {
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-721234567",
              "namespace": "amazebank"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            },
            "currency": "ZAR"
          },
          "debtorAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "ultimateDebtor": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "instructedAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "instructingAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "remittanceInformation": {
            "unstructured": [
              "some",
              "unstructured",
              "information"
            ],
            "structured": [
              {
                "creditorReference": {
                  "reference": "ABC123XYZ999"
                },
                "additionalRemittanceInformation": [
                  "Some",
                  "Additional",
                  "Information"
                ]
              }
            ]
          },
          "schema": "RequestToPay",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayResponsePresented": {
        "summary": "Request To Pay Response Presented Debtor",
        "value": {
          "status": {
            "status": "PRESENTED"
          },
          "schema": "RequestToPayResponse",
          "messageIdentifiers": {
            "messageIdentification": "89730ee05e184fb094cf27cec5078d6b",
            "creationDateTime": "2022-05-04T03:02:02Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "requestToPayConditions": {
            "minAmount": {
              "value": 100,
              "currency": "ZAR"
            },
            "maxAmount": {
              "value": 100,
              "currency": "ZAR"
            }
          }
        }
      },
      "RequestToPayResponseCancelled": {
        "summary": "Request To Pay Response Cancelled",
        "value": {
          "status": {
            "status": "CANCELLED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "CUST"
                },
                "additionalInformation": "Cancellation requested by the Creditor"
              }
            ]
          },
          "schema": "RequestToPayResponse",
          "messageIdentifiers": {
            "messageIdentification": "89730ee05e184fb094cf27cec5078d6b",
            "creationDateTime": "2022-05-04T03:02:02Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayResponseRejected": {
        "summary": "Request To Pay Response Rejected By Debtor",
        "value": {
          "status": {
            "status": "REJECTED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "MS02"
                },
                "additionalInformation": "Reason has not been specified by end customer"
              }
            ]
          },
          "schema": "RequestToPayResponse",
          "messageIdentifiers": {
            "messageIdentification": "89730ee05e184fb094cf27cec5078d6b",
            "creationDateTime": "2022-05-04T03:02:02Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayResponseExpired": {
        "summary": "Request To Pay Response Expired",
        "value": {
          "status": {
            "status": "EXPIRED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "EDTR"
                },
                "additionalInformation": "Expiry date time of the request-to-pay is already reached."
              }
            ]
          },
          "schema": "RequestToPayResponse",
          "messageIdentifiers": {
            "messageIdentification": "89730ee05e184fb094cf27cec5078d6b",
            "creationDateTime": "2022-05-04T03:02:02Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayResponsePaid": {
        "summary": "Request To Pay Response Paid",
        "value": {
          "status": {
            "status": "PAID"
          },
          "schema": "RequestToPayResponse",
          "messageIdentifiers": {
            "messageIdentification": "89730ee05e184fb094cf27cec5078d6b",
            "creationDateTime": "2022-05-04T03:02:02Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayCancellation": {
        "summary": "Request To Pay Cancellation Request",
        "value": {
          "reasonCode": "CUST",
          "schema": "RequestToPayCancellation",
          "messageIdentifiers": {
            "messageIdentification": "336b84c5592c3ebfa5553f6e191b6eaa",
            "creationDateTime": "2022-05-04T03:05:10Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayCancellationResponseCancelled": {
        "summary": "Request To Pay Cancellation Request which was successful",
        "value": {
          "status": {
            "status": "CANCELLED"
          },
          "schema": "RequestToPayCancellationResponse",
          "messageIdentifiers": {
            "messageIdentification": "336b84c5592c3ebfa5553f6e191b6eaa",
            "creationDateTime": "2022-05-04T03:05:10Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayCancellationResponseAlreadyPaid": {
        "summary": "Request To Pay Cancellation Request which was rejected",
        "value": {
          "status": {
            "status": "REJECTED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "PATE"
                },
                "additionalInformation": "Payment related to the request-to-pay has already been transmitted for execution."
              }
            ]
          },
          "schema": "RequestToPayCancellationResponse",
          "messageIdentifiers": {
            "messageIdentification": "336b84c5592c3ebfa5553f6e191b6eaa",
            "creationDateTime": "2022-05-04T03:05:10Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RefundInitiationRequest": {
        "summary": "Request a Refund of a prior outbound Request To Pay",
        "value": {
          "amounts": {
            "bankSettlementAmount": {
              "value": 50,
              "currency": "ZAR"
            },
            "instructedAmount": {
              "value": 50,
              "currency": "ZAR"
            }
          },
          "debtorAccount": {
            "identification": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "PROPRIETARY",
                "value": "AProprietaryCode123"
              },
              "issuer": "Amazing Bank",
              "value": "abcdef987654"
            },
            "type": {
              "schema": "CODE",
              "value": "CACC"
            }
          },
          "schema": "RefundInitiationRequest",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c7124ba4819b9253e296a6be1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "5129118655591098",
            "transactionIdentification": "RRN000000002",
            "uetr": "9f7a56ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "paymentScheme": {
            "schema": "ZA_RPP",
            "schemeData": {
              "hasRtp": true
            }
          }
        }
      },
      "RequestToPayStatusRequest": {
        "summary": "Request To Pay Status Request",
        "value": {
          "schema": "RequestToPayStatusRequest",
          "messageIdentifiers": {
            "messageIdentification": "f3507f23c9be4812baddf81e4a1a1180",
            "creationDateTime": "2022-05-04T03:01:01Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "originalTransactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          }
        }
      },
      "RequestToPayInitiation": {
        "summary": "Bulk Collection Request",
        "value": {
          "schema": "RequestToPayInitiation",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "requestToPayInformationId": "5e3b27c8-3ac8-49d9-8f17-c2bdef7ca180",
          "bulkPaymentSchemeName": "ZA_RPP",
          "requestToPayInitiationInstructions": [
            {
              "messageIdentifiers": {
                "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
                "creationDateTime": "2022-05-04T03:02:01Z"
              },
              "transactionIdentifiers": {
                "endToEndIdentification": "uniqueEndToEndId1",
                "transactionIdentification": "RRN000000001",
                "uetr": "e96b1217-b6c9-4e25-9877-fcc7aa845661"
              },
              "expiryDateTime": "2024-04-09T09:32:51.395+02:00",
              "requestToPayConditions": {
                "minAmount": {
                  "value": 100,
                  "currency": "ZAR"
                },
                "maxAmount": {
                  "value": 100,
                  "currency": "ZAR"
                }
              },
              "creditor": {
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                },
                "contactDetails": {
                  "phoneNumber": "+27-0214620000",
                  "mobileNumber": "+27-08230000000",
                  "emailAddress": "developer.dave@electrum.com"
                },
                "countryOfResidence": "ZA",
                "identification": {
                  "schema": "PERSON",
                  "identifiers": [
                    {
                      "identification": "90001236549870",
                      "scheme": {
                        "schema": "CODE",
                        "value": "NIDN"
                      },
                      "issuer": "Dept of Home Affairs"
                    }
                  ]
                }
              },
              "creditorAccount": {
                "identification": {
                  "schema": "GENERIC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "AProprietaryCode123"
                  },
                  "issuer": "Amazing Bank",
                  "value": "abcdef987654"
                },
                "type": {
                  "schema": "CODE",
                  "value": "CACC"
                },
                "currency": "ZAR"
              },
              "creditorAgent": {
                "bicfi": "RY8PEG0L",
                "memberId": "AmazingBankId",
                "name": "Amazing Bank Inc",
                "branch": {
                  "identification": "210514",
                  "name": "ABC Plettenberg Bay",
                  "address": {
                    "addressType": "ADDR",
                    "department": "Department of Mysteries",
                    "streetName": "Street of Mysteries",
                    "buildingNumber": "42",
                    "buildingName": "Mysterious Building",
                    "floor": "42",
                    "postBox": "1024",
                    "postCode": "4242",
                    "townName": "Mysty Town",
                    "townLocationName": "Mysty Location",
                    "districtName": "Mysty District",
                    "countrySubDivision": "Mysterious Cape",
                    "country": "ZA",
                    "addressLine": [
                      "16A",
                      "New market street",
                      "Foreshore",
                      "Cape Town",
                      "ZA",
                      "8001"
                    ]
                  }
                }
              },
              "debtor": {
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                },
                "contactDetails": {
                  "phoneNumber": "+27-0214620000",
                  "mobileNumber": "+27-08230000000",
                  "emailAddress": "developer.dave@electrum.com"
                },
                "countryOfResidence": "ZA",
                "identification": {
                  "schema": "PERSON",
                  "identifiers": [
                    {
                      "identification": "90001236549870",
                      "scheme": {
                        "schema": "CODE",
                        "value": "NIDN"
                      },
                      "issuer": "Dept of Home Affairs"
                    }
                  ]
                }
              },
              "debtorAccount": {
                "proxy": {
                  "schema": "MOBILE",
                  "value": "+27-721234567",
                  "namespace": "amazebank"
                },
                "type": {
                  "schema": "CODE",
                  "value": "CACC"
                },
                "currency": "ZAR"
              },
              "debtorAgent": {
                "bicfi": "RY8PEG0L",
                "memberId": "AmazingBankId",
                "name": "Amazing Bank Inc",
                "branch": {
                  "identification": "210514",
                  "name": "ABC Plettenberg Bay",
                  "address": {
                    "addressType": "ADDR",
                    "department": "Department of Mysteries",
                    "streetName": "Street of Mysteries",
                    "buildingNumber": "42",
                    "buildingName": "Mysterious Building",
                    "floor": "42",
                    "postBox": "1024",
                    "postCode": "4242",
                    "townName": "Mysty Town",
                    "townLocationName": "Mysty Location",
                    "districtName": "Mysty District",
                    "countrySubDivision": "Mysterious Cape",
                    "country": "ZA",
                    "addressLine": [
                      "16A",
                      "New market street",
                      "Foreshore",
                      "Cape Town",
                      "ZA",
                      "8001"
                    ]
                  }
                }
              },
              "paymentTypeInformation": {
                "localInstrument": {
                  "schema": "PROPRIETARY",
                  "value": "PBPX"
                }
              },
              "remittanceInformation": {
                "unstructured": [
                  "some",
                  "unstructured",
                  "information"
                ],
                "structured": [
                  {
                    "creditorReference": {
                      "reference": "ABC123XYZ999"
                    },
                    "additionalRemittanceInformation": [
                      "Some",
                      "Additional",
                      "Information"
                    ]
                  }
                ]
              }
            }
          ],
          "initiatingParty": {
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": "42",
              "buildingName": "Mysterious Building",
              "floor": "42",
              "postBox": "1024",
              "postCode": "4242",
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                "8001"
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA",
            "identification": {
              "schema": "PERSON",
              "identifiers": [
                {
                  "identification": "90001236549870",
                  "scheme": {
                    "schema": "CODE",
                    "value": "NIDN"
                  },
                  "issuer": "Dept of Home Affairs"
                }
              ]
            }
          },
          "numberOfTransactions": 1
        }
      },
      "RequestToPayStatusRequest-2": {
        "summary": "Bulk collection Status request",
        "value": {
          "schema": "RequestToPayInitiationStatusRequest",
          "messageIdentifiers": {
            "creationDateTime": "2024-05-04T03:01:01Z",
            "messageIdentification": "messageId"
          },
          "originalMessageIdentifiers": {
            "creationDateTime": "2024-05-04T03:02:01Z",
            "messageIdentification": "uniqueMessageId"
          },
          "requestToPayInformationId": "6e831b77-3e51-4a0e-a818-dc99a08f80d4",
          "includeIndividualRequestToPayStatuses": false
        }
      },
      "AccountUpdateRequest": {
        "summary": "Request to Update Account information when using Electrum Account Mirroring.",
        "value": {
          "schema": "AccountUpdateRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "account": {
            "type": {
              "schema": "CODE",
              "value": "CASH"
            },
            "accountName": "MyCashAccount",
            "currency": "ZAR",
            "openingDate": "2022-05-03T15:02:01Z",
            "status": "ENABLED",
            "restrictions": [
              {
                "restrictionType": "NO_CREDITS",
                "validFrom": "2022-05-04T03:02:01Z",
                "validUntil": "2022-05-05T15:02:01Z"
              }
            ],
            "primaryIdentification": {
              "identifier": {
                "schema": "IBAN",
                "value": "GB29NWBK60161331926819"
              },
              "accountKnownAs": "BestAccount"
            },
            "additionalIdentifications": [
              {
                "identifier": {
                  "namespace": "aNamespace",
                  "schema": "MOBILE",
                  "value": "+27-0821111111"
                },
                "accountKnownAs": "BestAccount",
                "registeredSchemes": [
                  "ZA_RPP"
                ]
              }
            ]
          },
          "primaryAccountOwnerDetails": {
            "schema": "INDIVIDUAL",
            "recordIdentifier": 123456789,
            "name": {
              "title": "Mr",
              "initials": "DD",
              "firstName": "David",
              "lastName": "Developer",
              "additionalNames": "Davido",
              "knownAs": "Dave"
            },
            "identifiers": [
              {
                "identification": 90001236549870,
                "issuer": "Dept of Home Affairs",
                "scheme": {
                  "schema": "CODE",
                  "value": "NIDN"
                }
              }
            ],
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": 42,
              "buildingName": "Mysterious Building",
              "floor": 42,
              "postBox": 1024,
              "postCode": 4242,
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                8001
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA"
          },
          "otherAccountOwnerDetails": [
            {
              "schema": "ORGANISATION",
              "recordIdentifier": 123456789,
              "name": {
                "tradingAs": "Electrum"
              },
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "RY8PEG0L"
                },
                {
                  "schema": "LEI",
                  "LEI": "FABABA1212CDCD343400"
                },
                {
                  "schema": "OTHER",
                  "identification": 1234567890,
                  "issuer": "CIPC",
                  "scheme": {
                    "schema": "CODE",
                    "value": "BOID"
                  }
                },
                {
                  "schema": "OTHER",
                  "identification": 1234567890,
                  "issuer": "CIPC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "AProprietaryCode123"
                  }
                }
              ],
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA"
            }
          ]
        }
      },
      "AccountLookupResponseExample": {
        "summary": "Example of an AccountLookupResponse object",
        "value": {
          "account": {
            "type": {
              "schema": "CODE",
              "value": "CASH"
            },
            "accountName": "MyCashAccount",
            "currency": "ZAR",
            "openingDate": "2022-05-03T15:02:01Z",
            "status": "ENABLED",
            "restrictions": [
              {
                "restrictionType": "NO_CREDITS",
                "validFrom": "2022-05-04T03:02:01Z",
                "validUntil": "2022-05-05T15:02:01Z"
              }
            ],
            "primaryIdentification": {
              "identifier": {
                "schema": "IBAN",
                "value": "GB29NWBK60161331926819"
              },
              "accountKnownAs": "BestAccount"
            },
            "additionalIdentifications": [
              {
                "identifier": {
                  "namespace": "aNamespace",
                  "schema": "MOBILE",
                  "value": "+27-0821111111"
                },
                "accountKnownAs": "BestAccount",
                "registeredSchemes": [
                  "ZA_RPP"
                ]
              }
            ]
          },
          "primaryAccountOwnerDetails": {
            "schema": "INDIVIDUAL",
            "recordIdentifier": 123456789,
            "name": {
              "title": "Mr",
              "initials": "DD",
              "firstName": "David",
              "lastName": "Developer",
              "additionalNames": "Davido",
              "knownAs": "Dave"
            },
            "identifiers": [
              {
                "identification": 90001236549870,
                "issuer": "Dept of Home Affairs",
                "scheme": {
                  "schema": "CODE",
                  "value": "NIDN"
                }
              }
            ],
            "address": {
              "addressType": "ADDR",
              "department": "Department of Mysteries",
              "streetName": "Street of Mysteries",
              "buildingNumber": 42,
              "buildingName": "Mysterious Building",
              "floor": 42,
              "postBox": 1024,
              "postCode": 4242,
              "townName": "Mysty Town",
              "townLocationName": "Mysty Location",
              "districtName": "Mysty District",
              "countrySubDivision": "Mysterious Cape",
              "country": "ZA",
              "addressLine": [
                "16A",
                "New market street",
                "Foreshore",
                "Cape Town",
                "ZA",
                8001
              ]
            },
            "contactDetails": {
              "phoneNumber": "+27-0214620000",
              "mobileNumber": "+27-08230000000",
              "emailAddress": "developer.dave@electrum.com"
            },
            "countryOfResidence": "ZA"
          },
          "otherAccountOwnerDetails": [
            {
              "schema": "ORGANISATION",
              "recordIdentifier": 123456789,
              "name": {
                "tradingAs": "Electrum"
              },
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "RY8PEG0L"
                },
                {
                  "schema": "LEI",
                  "LEI": "FABABA1212CDCD343400"
                },
                {
                  "schema": "OTHER",
                  "identification": 1234567890,
                  "issuer": "CIPC",
                  "scheme": {
                    "schema": "CODE",
                    "value": "BOID"
                  }
                },
                {
                  "schema": "OTHER",
                  "identification": 1234567890,
                  "issuer": "CIPC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "AProprietaryCode123"
                  }
                }
              ],
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": 42,
                "buildingName": "Mysterious Building",
                "floor": 42,
                "postBox": 1024,
                "postCode": 4242,
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  8001
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-0214620000",
                "mobileNumber": "+27-08230000000",
                "emailAddress": "developer.dave@electrum.com"
              },
              "countryOfResidence": "ZA"
            }
          ]
        }
      },
      "AccountAdditionalIdUpdateRequestInst": {
        "summary": "Request to update an additional account identifier using an InstitutionAccountIdentifier.",
        "value": {
          "schema": "AccountAdditionalIdUpdateRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "currentIdentification": {
            "identifier": {
              "schema": "GENERIC",
              "scheme": {
                "schema": "CODE",
                "value": "AIIN"
              },
              "issuer": "Amazing Bank",
              "value": "1234567890"
            }
          },
          "additionalIdentification": {
            "identifier": {
              "schema": "IBAN",
              "value": "GB29NWBK60161331926819"
            }
          }
        }
      },
      "IdentifierSchemeRegistrationRequestExample": {
        "summary": "Example payload for the registration of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeRegistrationRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeRegistration": {
            "schema": "ZA_RPP",
            "identifier": {
              "namespace": "aDomain",
              "schema": "MOBILE",
              "value": "+27-0821111111"
            },
            "participant": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            }
          }
        }
      },
      "IdentifierSchemeRegistrationResponseAccepted": {
        "summary": "Example payload for the registration response of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeRegistrationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeRegistrationOutcome": {
            "schema": "ZA_RPP",
            "registrationStatus": "ACCEPTED",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-0214620000"
            }
          }
        }
      },
      "IdentifierSchemeRegistrationResponseRejected": {
        "summary": "Example payload for the registration response of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeRegistrationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeRegistrationOutcome": {
            "schema": "ZA_RPP",
            "registrationStatus": "REJECTED",
            "reasonCode": "AB06",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-0214620000"
            }
          }
        }
      },
      "IdentifierSchemeDeregistrationRequestExample": {
        "summary": "Example payload for the deregistration of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeDeregistrationRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeDeregistration": {
            "schema": "ZA_RPP",
            "registeredAccountId": {
              "schema": "MOBILE",
              "value": "+27-0821111111"
            },
            "participant": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            }
          }
        }
      },
      "IdentifierSchemeDeregistrationResponseAccepted": {
        "summary": "Example payload for the registration response of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeDeregistrationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeRegistrationOutcome": {
            "schema": "ZA_RPP",
            "deregistrationStatus": "ACCEPTED",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-0214620000"
            }
          }
        }
      },
      "IdentifierSchemeDeregistrationResponseRejected": {
        "summary": "Example payload for the registration response of a proxy identifier for the ZA_RPP scheme",
        "value": {
          "schema": "IdentifierSchemeDeregistrationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
          "schemeRegistrationOutcome": {
            "schema": "ZA_RPP",
            "deregistrationStatus": "REJECTED",
            "reasonCode": "AB06",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "proxy": {
              "schema": "MOBILE",
              "value": "+27-0214620000"
            }
          }
        }
      },
      "IdentifierSchemeRegistrationsExample": {
        "summary": "An example response payload for the `getRegisteredSchemesForAccountId` operation",
        "value": {
          "registeredSchemes": [
            "ZA_RPP"
          ]
        }
      },
      "ZaRppDomainListSchemeInquiry": {
        "summary": "ZA RPP List all Domains Inquiry",
        "value": {
          "schema": "SchemeInquiryRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "inquiry": {
            "schema": "ZA_RPP_LIST_DOMAINS",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            }
          }
        }
      },
      "ZaRppListDomainsReport": {
        "summary": "Successful ZA RPP Proxy resolution response",
        "value": {
          "schema": "SchemeInquiryResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "report": {
            "schema": "ZA_RPP_LIST_DOMAINS",
            "agent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "domains": [
              {
                "domain": "BLUE"
              },
              {
                "domain": "GREY"
              },
              {
                "domain": "GREEN"
              },
              {
                "domain": "RED"
              }
            ]
          }
        }
      },
      "ZaRppProxyResolutionIdentifierDeterminationRequest": {
        "summary": "Identification Determination for ZA-RPP proxy resolution",
        "value": {
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "schema": "IdentifierDeterminationRequest",
          "request": {
            "schema": "ZA_RPP",
            "instructedAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "instructingAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "requestor": {
              "schema": "INSTITUTION_IDENTIFICATION",
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "domain": "ADomain",
              "name": "Amazing Bank Inc"
            },
            "identifier": {
              "namespace": "AnotherDomain",
              "schema": "MOBILE",
              "value": "+27-0214620000"
            },
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
            "verificationIdentification": "e3360de097fe42a195cc53251d0ec839"
          },
          "supplementaryData": {
            "customData1": "My custom data 1",
            "customData2": "My custom data 2"
          }
        }
      },
      "ZaRppAccountResolutionIdentifierDeterminationRequest": {
        "summary": "Identification Determination for ZA-RPP account resolution",
        "value": {
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "schema": "IdentifierDeterminationRequest",
          "request": {
            "schema": "ZA_RPP",
            "instructedAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "instructingAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "requestor": {
              "schema": "INSTITUTION_IDENTIFICATION",
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "domain": "ADomain",
              "name": "Amazing Bank Inc"
            },
            "identifier": {
              "schema": "GENERIC",
              "value": 1234567890
            },
            "accountAgent": {
              "bicfi": "RY8PEG0L"
            },
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
            "verificationIdentification": "e3360de097fe42a195cc53251d0ec839"
          },
          "supplementaryData": {
            "customData1": "My custom data 1",
            "customData2": "My custom data 2"
          }
        }
      },
      "ZaRppProxyResolutionSuccessfulResponse": {
        "summary": "Successful ZA RPP Proxy/Account resolution response",
        "value": {
          "schema": "IdentifierDeterminationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "report": {
            "originalUetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
            "originalVerificationIdentification": "1001",
            "schema": "ZA_RPP",
            "reportInformation": {
              "outcome": "SUCCESSFUL",
              "transactionLimit": {
                "value": 3000,
                "currency": "ZAR"
              },
              "accountInformation": {
                "proxy": {
                  "schema": "MOBILE",
                  "value": "+27-812456789"
                },
                "creationDate": "2021-01-01T09:55:45.015708Z",
                "traditionalIdentifier": {
                  "schema": "GENERIC",
                  "value": 1234567890
                }
              },
              "accountOwner": {
                "knownAsName": "Shaun",
                "legalName": "Shaun John Smith"
              }
            },
            "instructedAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "instructingAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "originalRequestor": {
              "schema": "INSTITUTION_IDENTIFICATION",
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "domain": "ADomain",
              "name": "Amazing Bank Inc"
            }
          },
          "supplementaryData": {
            "customData1": "My custom data 1",
            "customData2": "My custom data 2"
          }
        }
      },
      "ZaRppProxyResolutionUnsuccessfulResponse": {
        "summary": "Unsuccessful ZA RPP Proxy/Account resolution response",
        "value": {
          "schema": "IdentifierDeterminationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "report": {
            "schema": "ZA_RPP",
            "originalUetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa",
            "originalVerificationIdentification": "e3360de097fe42a195cc53251d0ec839",
            "reportInformation": {
              "outcome": "FAILED",
              "reasonCode": "AB06",
              "reasonDescription": "Transaction stopped due to timeout at the Instructed Agent."
            },
            "instructedAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            },
            "instructingAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": 210514,
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": 42,
                  "buildingName": "Mysterious Building",
                  "floor": 42,
                  "postBox": 1024,
                  "postCode": 4242,
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    8001
                  ]
                }
              }
            }
          }
        }
      },
      "ZaCdvCheckDigitVerificationRequestExample": {
        "summary": "South African Check Digit Verification Request",
        "value": {
          "verificationScheme": "ZA_CDV",
          "identifier": {
            "schema": "GENERIC",
            "scheme": {
              "schema": "CODE",
              "value": "BBAN"
            },
            "issuer": "Capitec Bank",
            "value": 1608249008
          },
          "branch": {
            "identification": 470010
          },
          "accountType": {
            "schema": "CODE",
            "value": "CACC"
          }
        }
      },
      "CheckDigitVerificationReportPassedExample": {
        "summary": "Successful South African Check Digit Verification Response",
        "value": {
          "outcome": "PASSED"
        }
      },
      "CheckDigitVerificationReportFailedExample": {
        "summary": "Unsuccessful South African Check Digit Verification Response",
        "value": {
          "outcome": "FAILED",
          "reasonInfo": {
            "reason": {
              "schema": "CODE",
              "value": "AGNT"
            },
            "additionalInformation": "The supplied branch code is not a recognised branch code."
          }
        }
      },
      "CheckDigitVerificationReportSkippedExample": {
        "summary": "Skipped South African Check Digit Verification Response",
        "value": {
          "outcome": "SKIPPED",
          "reasonInfo": {
            "reason": {
              "schema": "CODE",
              "value": "DS28"
            },
            "additionalInformation": "The supplied verification scheme is not recognised. Verification will not be conducted."
          }
        }
      },
      "CheckDigitVerificationReportVerbosePassedExample": {
        "summary": "Successful South African Check Digit Verification Verbose Response",
        "value": {
          "outcome": "PASSED",
          "reasonInfo": {
            "reason": {
              "schema": "PROPRIETARY",
              "value": "CDV check successful"
            },
            "additionalInformation": "The CDV check passed. This is the account type that was used during the CDV validation: CURRENT. This is the account number that was used during the CDV validation: 1608249008. This is the branch code that was used during the CDV validation: 470010. "
          }
        }
      },
      "CheckDigitVerificationReportVerboseFailedExample": {
        "summary": "Unsuccessful South African Check Digit Verification Verbose Response due to incorrect details.",
        "value": {
          "outcome": "FAILED",
          "reasonInfo": {
            "reason": {
              "schema": "CODE",
              "value": "AC01"
            },
            "additionalInformation": "The account number and branch code combination did not pass the CDV check. Bank Name : Nedbank. Account Indicator: _4. BranchCodeRange{from=BranchCode{code='100-000'}, to=BranchCode{code='199-999'}}. The CDV check failed. This is the account type that was used during the CDV validation: CURRENT. This is the account number that was used during the CDV validation: 9000000151. This is the branch code that was used during the CDV validation: 100001. "
          }
        }
      },
      "ErrorDetailBadRequest": {
        "summary": "An error indicating an error with the message received.",
        "value": {
          "schema": "ErrorDetail",
          "message": "Invalid request. Field 'creditTransfer.transactionIdentifiers.uetr' required but not present."
        }
      },
      "CheckDigitVerificationReportVerboseErrorExample": {
        "summary": "Unsuccessful South African Check Digit Verification Verbose Response due to an error.",
        "value": {
          "schema": "ErrorDetail",
          "message": "'NREX' not supported",
          "detail": "CDV is not supported for account type 'NREX' provided. Only Current (CACC), Savings (SVGS), Transmission (TRAN), Bond (LOAN), Other (OTHR) and Subscription Share (TRAS) accounts are supported. The CDV check failed: The account type was not found to be a bankserv account type.The Account type could not be found or resolved. This is the account number that was used during the CDV validation: 8001133590301. This is the branch code that was used during the CDV validation: 760005. "
        }
      },
      "ZaAccountVerificationResponse": {
        "value": {
          "schema": "AccountVerificationResponse",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "creator": {
            "legalName": "Zamazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "ZY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "ZamazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "firstAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "ZamazingBankId",
            "name": "Zamazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "XYZ Knysna",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "assigner": {
            "legalName": "Zamazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "ZY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "ZamazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "assignee": {
            "legalName": "Amazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "RY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "AmazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "originalVerification": {
            "identification": "e21a36adc5ab4b70a3f9952d743eaeaa",
            "party": {
              "legalName": "Joshua Paul du Plessis",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-214620000",
                "mobileNumber": "+27-8230000000",
                "emailAddress": "josh.du.plessis@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "account": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "CODE",
                  "value": "BBAN"
                },
                "issuer": "Amazing Bank",
                "value": 60091645492
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              },
              "currency": "ZAR"
            },
            "agent": {
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            },
            "schemeVerificationData": {
              "schema": "ZA_AVS",
              "checkDebitsAllowed": "true",
              "checkCreditsAllowed": "true",
              "checkOlderThanThreeMonths": "true",
              "initials": "JP",
              "lastName": "du Plessis"
            }
          },
          "originalAssignment": {
            "creator": {
              "legalName": "Amazing Bank Inc",
              "identification": {
                "schema": "ORGANISATION",
                "identifiers": [
                  {
                    "schema": "BIC",
                    "BIC": "RY8PEG0L"
                  },
                  {
                    "schema": "OTHER",
                    "identification": "AmazingBankClearingID",
                    "scheme": {
                      "schema": "CODE",
                      "value": "CHID"
                    }
                  }
                ]
              }
            },
            "firstAgent": {
              "bicfi": "RY8PEG0L",
              "memberId": "AmazingBankId",
              "name": "Amazing Bank Inc",
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            },
            "assigner": {
              "legalName": "Amazing Bank Inc",
              "identification": {
                "schema": "ORGANISATION",
                "identifiers": [
                  {
                    "schema": "BIC",
                    "BIC": "RY8PEG0L"
                  },
                  {
                    "schema": "OTHER",
                    "identification": "AmazingBankClearingID",
                    "scheme": {
                      "schema": "CODE",
                      "value": "CHID"
                    }
                  }
                ]
              }
            },
            "assignee": {
              "legalName": "Zamazing Bank Inc",
              "identification": {
                "schema": "ORGANISATION",
                "identifiers": [
                  {
                    "schema": "BIC",
                    "BIC": "ZY8PEG0L"
                  },
                  {
                    "schema": "OTHER",
                    "identification": "ZamazingBankClearingID",
                    "scheme": {
                      "schema": "CODE",
                      "value": "CHID"
                    }
                  }
                ]
              }
            }
          },
          "status": {
            "outcome": "APPROVED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "ACCC"
                }
              }
            ]
          },
          "report": {
            "originalIdentification": "e21a36adc5ab4b70a3f9952d743eaeaa",
            "outcome": {
              "schema": "FAILED",
              "reasonInfo": {
                "reason": {
                  "schema": "CODE",
                  "value": "MS03"
                }
              }
            },
            "schemeVerificationReportData": {
              "schema": "ZA_AVS",
              "accountFound": "TRUE",
              "accountOpen": "TRUE",
              "accountTypeMatch": "TRUE",
              "privateIdentificationMatch": "TRUE",
              "organisationIdentificationMatch": "NOT_CHECKED",
              "trustIdentificationMatch": "NOT_CHECKED",
              "initialsMatch": "FALSE",
              "nameMatch": "FALSE",
              "debitsAllowed": "FALSE",
              "creditsAllowed": "TRUE",
              "olderThanThreeMonths": "TRUE",
              "emailMatch": "NOT_CHECKED",
              "mobileMatch": "NOT_CHECKED"
            }
          }
        }
      },
      "ZaAccountVerificationRequest": {
        "summary": "Account Verification for ZA_AVS",
        "value": {
          "schema": "AccountVerificationRequest",
          "messageIdentifiers": {
            "messageIdentification": "8fd51c7124ba4819b9253e296a68e1da",
            "creationDateTime": "2022-05-04T03:02:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "transactionIdentification": "RRN000000001",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "creator": {
            "legalName": "Amazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "RY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "AmazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "firstAgent": {
            "bicfi": "RY8PEG0L",
            "memberId": "AmazingBankId",
            "name": "Amazing Bank Inc",
            "branch": {
              "identification": "210514",
              "name": "ABC Plettenberg Bay",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              }
            }
          },
          "assigner": {
            "legalName": "Amazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "RY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "AmazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "assignee": {
            "legalName": "Zamazing Bank Inc",
            "identification": {
              "schema": "ORGANISATION",
              "identifiers": [
                {
                  "schema": "BIC",
                  "BIC": "ZY8PEG0L"
                },
                {
                  "schema": "OTHER",
                  "identification": "ZamazingBankClearingID",
                  "scheme": {
                    "schema": "CODE",
                    "value": "CHID"
                  }
                }
              ]
            }
          },
          "verification": {
            "identification": "e21a36adc5ab4b70a3f9952d743eaeaa",
            "party": {
              "legalName": "Joshua Paul du Plessis",
              "address": {
                "addressType": "ADDR",
                "department": "Department of Mysteries",
                "streetName": "Street of Mysteries",
                "buildingNumber": "42",
                "buildingName": "Mysterious Building",
                "floor": "42",
                "postBox": "1024",
                "postCode": "4242",
                "townName": "Mysty Town",
                "townLocationName": "Mysty Location",
                "districtName": "Mysty District",
                "countrySubDivision": "Mysterious Cape",
                "country": "ZA",
                "addressLine": [
                  "16A",
                  "New market street",
                  "Foreshore",
                  "Cape Town",
                  "ZA",
                  "8001"
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-214620000",
                "mobileNumber": "+27-823000000",
                "emailAddress": "joshua.du.plessis@electrum.com"
              },
              "countryOfResidence": "ZA",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "90001236549870",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    },
                    "issuer": "Dept of Home Affairs"
                  }
                ]
              }
            },
            "account": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "CODE",
                  "value": "BBAN"
                },
                "issuer": "Amazing Bank",
                "value": 60091645492
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              },
              "currency": "ZAR"
            },
            "agent": {
              "branch": {
                "identification": "210514",
                "name": "ABC Plettenberg Bay",
                "address": {
                  "addressType": "ADDR",
                  "department": "Department of Mysteries",
                  "streetName": "Street of Mysteries",
                  "buildingNumber": "42",
                  "buildingName": "Mysterious Building",
                  "floor": "42",
                  "postBox": "1024",
                  "postCode": "4242",
                  "townName": "Mysty Town",
                  "townLocationName": "Mysty Location",
                  "districtName": "Mysty District",
                  "countrySubDivision": "Mysterious Cape",
                  "country": "ZA",
                  "addressLine": [
                    "16A",
                    "New market street",
                    "Foreshore",
                    "Cape Town",
                    "ZA",
                    "8001"
                  ]
                }
              }
            },
            "schemeVerificationData": {
              "schema": "ZA_AVS",
              "checkDebitsAllowed": "true",
              "checkCreditsAllowed": "true",
              "checkOlderThanThreeMonths": "true",
              "initials": "JP",
              "lastName": "du Plessis"
            }
          }
        }
      },
      "FundsManagementApprovedResponse": {
        "summary": "Example of an approved reservation response.",
        "value": {
          "schema": "Receipt",
          "messageIdentifiers": {
            "messageIdentification": "msg-12345",
            "creationDateTime": "2025-01-23T06:29:01Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "original-msg-12345",
            "creationDateTime": "2025-01-22T06:29:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "e2e-12345",
            "transactionIdentification": "txn-12345",
            "uetr": "550e8400-e29b-41d4-a716-446655440000"
          },
          "status": {
            "outcome": "APPROVED"
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "FundsManagementRejectedResponse": {
        "summary": "Example of a rejected reservation response.",
        "value": {
          "schema": "Receipt",
          "messageIdentifiers": {
            "messageIdentification": "msg-12345",
            "creationDateTime": "2025-01-23T06:29:01Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "original-msg-12345",
            "creationDateTime": "2025-01-22T06:29:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "e2e-12345",
            "transactionIdentification": "txn-12345",
            "uetr": "550e8400-e29b-41d4-a716-446655440000"
          },
          "status": {
            "outcome": "REJECTED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "CODE",
                  "value": "AC01"
                },
                "additionalInformation": "Incorrect account number"
              }
            ]
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "VoidReservationResponse": {
        "summary": "Example of a void reservation response.",
        "value": {
          "schema": "Receipt",
          "messageIdentifiers": {
            "messageIdentification": "msg-12345",
            "creationDateTime": "2025-01-23T06:29:01Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "original-msg-12345",
            "creationDateTime": "2025-01-22T06:29:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "e2e-12345",
            "transactionIdentification": "txn-12345",
            "uetr": "550e8400-e29b-41d4-a716-446655440000"
          },
          "status": {
            "outcome": "APPROVED"
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "PostingResponse": {
        "summary": "Example of an approved postings response.",
        "value": {
          "schema": "Receipt",
          "messageIdentifiers": {
            "messageIdentification": "msg-12345",
            "creationDateTime": "2025-01-23T06:29:01Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "original-msg-12345",
            "creationDateTime": "2025-01-22T06:29:01Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "e2e-12345",
            "transactionIdentification": "txn-12345",
            "uetr": "550e8400-e29b-41d4-a716-446655440000"
          },
          "status": {
            "outcome": "APPROVED"
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "FraudAssessmentReportPassed": {
        "summary": "A model containing the outcome of the fraud assessment process along with message identifiers and other supplementary data.",
        "value": {
          "schema": "FraudAssessmentReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "status": {
            "outcome": "PASSED"
          },
          "report": {
            "score": "a score",
            "details": [
              "detail 1",
              "detail 2"
            ]
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "FraudAssessmentReportPending": {
        "summary": "A model containing the outcome of the fraud assessment process along with message identifiers and other supplementary data.",
        "value": {
          "schema": "FraudAssessmentReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "status": {
            "outcome": "PENDING"
          },
          "report": {
            "score": "a score",
            "details": [
              "detail 1",
              "detail 2"
            ]
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "FraudAssessmentReportFailed": {
        "summary": "A model containing the outcome of the fraud assessment process along with message identifiers and other supplementary data.",
        "value": {
          "schema": "FraudAssessmentReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "status": {
            "outcome": "FAILED"
          },
          "report": {
            "score": "a score",
            "details": [
              "detail 1",
              "detail 2"
            ]
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "SanctionsAssessmentReportAllowed": {
        "summary": "A model containing the outcome of the sanctions assessment process along with message identifiers and other supplementary data.",
        "value": {
          "schema": "SanctionsAssessmentReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "lastUpdated": "2022-05-04T03:22:11Z",
          "status": {
            "outcome": "ALLOWED",
            "reasonCode": "SCREENED_NO_ALERT"
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "SanctionsAssessmentReportBlocked": {
        "summary": "A model containing the outcome of the sanctions assessment process along with message identifiers and other supplementary data.",
        "value": {
          "schema": "SanctionsAssessmentReport",
          "messageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "9fd51c1234ba4819bbheyde296a68e1da",
            "creationDateTime": "2022-05-04T03:22:11Z"
          },
          "transactionIdentifiers": {
            "endToEndIdentification": "6249118655591098",
            "uetr": "f27a34ad-c5ab-4b70-a3f9-946d743eaeaa"
          },
          "lastUpdated": "2022-05-04T03:22:11Z",
          "status": {
            "outcome": "BLOCKED",
            "reasonCode": "INVESTIGATION_RESULT",
            "reasonDescription": "Transaction blocked following a positive match in the automated screening process.\nThe Beneficiary Name 'Global Logistics Ltd' is a high-confidence match for an\nentity listed under OFAC SDN and EU Sanctions (Consolidated List). Manual\ncompliance review has confirmed the entity's identification.\n"
          },
          "supplementaryData": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      },
      "MandateInitiationRequest": {
        "summary": "Example of an inbound MandateInitiationRequest",
        "value": {
          "schema": "MandateInitiationRequest",
          "messageIdentifiers": {
            "messageIdentification": "100/MANOT/00210007/20190305/000511",
            "creationDateTime": "2019-03-05T10:04:44Z"
          },
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "mandateRequestTransactionIdentifier": "00072019-03-05000000086",
              "authenticationType": "REAL_TIME",
              "requestTransmissionNumber": 1,
              "collectionDay": 29,
              "debitValueType": "VARIABLE"
            }
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "mandate": {
            "mandateIdentification": "2710317",
            "mandateRequestIdentification": "2710317004",
            "trackingIndicator": true,
            "type": {
              "localInstrument": {
                "schema": "PROPRIETARY",
                "value": "0227"
              }
            },
            "occurrences": {
              "sequenceType": "RCUR",
              "frequency": {
                "schema": "MonthlyFrequency",
                "dayOfMonth": 15
              },
              "validFrom": "2019-03-05",
              "firstCollectionDate": "2019-03-29"
            },
            "collectionAmount": {
              "value": 3443.83,
              "currency": "ZAR"
            },
            "maximumAmount": {
              "value": 5165.75,
              "currency": "ZAR"
            },
            "creditor": {
              "legalName": "Creditor Name",
              "identification": {
                "schema": "ORGANISATION",
                "identifiers": [
                  {
                    "schema": "BIC",
                    "BIC": "RY8PEG0L"
                  }
                ]
              }
            },
            "creditorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "ACCOUNT_NUMBER"
                },
                "value": "10173412345"
              },
              "type": {
                "schema": "CODE",
                "value": "CACC"
              }
            },
            "creditorAgent": {
              "clearingSystemMemberId": {
                "memberId": "430000"
              }
            },
            "ultimateCreditor": {
              "legalName": "Ultimate Creditor"
            },
            "debtor": {
              "legalName": "Debtor Name",
              "identification": {
                "schema": "PERSON",
                "identifiers": [
                  {
                    "identification": "I/9905140859123",
                    "scheme": {
                      "schema": "CODE",
                      "value": "NIDN"
                    }
                  }
                ]
              },
              "contactDetails": {
                "phoneNumber": "+27-112569000",
                "emailAddress": "support@debtor.com"
              }
            },
            "debtorAccount": {
              "identification": {
                "schema": "GENERIC",
                "scheme": {
                  "schema": "PROPRIETARY",
                  "value": "ACCOUNT_NUMBER"
                },
                "value": "10173412345"
              },
              "type": {
                "schema": "CODE",
                "value": "SVGS"
              }
            },
            "debtorAgent": {
              "clearingSystemMemberId": {
                "memberId": "470010"
              }
            },
            "ultimateDebtor": {
              "legalName": "Ultimate Debtor"
            }
          }
        }
      },
      "MandateAmendmentRequest": {
        "summary": "Example of an inbound MandateAmendmentRequest",
        "value": {
          "schema": "MandateAmendmentRequest",
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "mandateRequestTransactionIdentifier": "00072019-03-05000000086",
              "authenticationType": "REAL_TIME",
              "requestTransmissionNumber": 1,
              "collectionDay": 99,
              "debitValueType": "USAGE_BASED",
              "debtorBankMandateReference": "0003202501015177310122"
            }
          },
          "messageIdentifiers": {
            "messageIdentification": "100/MANOM/00210007/20190502/000040",
            "creationDateTime": "2019-05-02T15:43:47Z"
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "underlyingAmendmentDetails": {
            "amendmentReason": {
              "reason": {
                "schema": "PROPRIETARY",
                "value": "MD16"
              },
              "additionalInformation": [
                "Mandate amendment requested by creditor due to contract changes"
              ]
            },
            "amendedMandate": {
              "mandateIdentification": "6858841",
              "mandateRequestIdentification": "6858841001",
              "trackingIndicator": true,
              "type": {
                "localInstrument": {
                  "schema": "PROPRIETARY",
                  "value": "0227"
                }
              },
              "occurrences": {
                "sequenceType": "RCUR",
                "frequency": {
                  "schema": "MonthlyFrequency",
                  "dayOfMonth": 15
                },
                "validFrom": "2019-04-26",
                "firstCollectionDate": "2019-04-30"
              },
              "collectionAmount": {
                "value": 3800,
                "currency": "ZAR"
              },
              "maximumAmount": {
                "value": 5500,
                "currency": "ZAR"
              },
              "creditor": {
                "legalName": "Creditor Name",
                "identification": {
                  "schema": "ORGANISATION",
                  "identifiers": [
                    {
                      "schema": "BIC",
                      "BIC": "RY8PEG0L"
                    }
                  ]
                }
              },
              "creditorAccount": {
                "identification": {
                  "schema": "GENERIC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "ACCOUNT_NUMBER"
                  },
                  "value": "10173412345"
                },
                "type": {
                  "schema": "CODE",
                  "value": "CACC"
                }
              },
              "creditorAgent": {
                "clearingSystemMemberId": {
                  "memberId": "430000"
                }
              },
              "debtor": {
                "legalName": "Debtor Name",
                "identification": {
                  "schema": "PERSON",
                  "identifiers": [
                    {
                      "identification": "I/5906140859123",
                      "scheme": {
                        "schema": "CODE",
                        "value": "NIDN"
                      }
                    }
                  ]
                }
              },
              "debtorAccount": {
                "identification": {
                  "schema": "GENERIC",
                  "scheme": {
                    "schema": "PROPRIETARY",
                    "value": "ACCOUNT_NUMBER"
                  },
                  "value": "10173412345"
                },
                "type": {
                  "schema": "CODE",
                  "value": "SVGS"
                }
              },
              "debtorAgent": {
                "clearingSystemMemberId": {
                  "memberId": "990010"
                }
              },
              "ultimateDebtor": {
                "legalName": "Ultimate Debtor"
              }
            },
            "originalMandate": {
              "originalMandate": {
                "mandateIdentification": "2710317",
                "mandateRequestIdentification": "2710317004",
                "trackingIndicator": true,
                "creditor": {
                  "legalName": "Creditor Name",
                  "identification": {
                    "schema": "ORGANISATION",
                    "identifiers": [
                      {
                        "schema": "BIC",
                        "BIC": "RY8PEG0L"
                      }
                    ]
                  },
                  "contactDetails": {
                    "phoneNumber": "+27-112569000",
                    "emailAddress": "support@creditor.com"
                  }
                },
                "debtor": {
                  "legalName": "Debtor Name",
                  "identification": {
                    "schema": "PERSON",
                    "identifiers": [
                      {
                        "identification": "I/9905140859123",
                        "scheme": {
                          "schema": "CODE",
                          "value": "NIDN"
                        }
                      }
                    ]
                  },
                  "contactDetails": {
                    "phoneNumber": "+27-112569000",
                    "emailAddress": "support@debtor.com"
                  }
                },
                "debtorAgent": {
                  "clearingSystemMemberId": {
                    "memberId": "470010"
                  }
                }
              }
            }
          }
        }
      },
      "MandateCancellationRequest": {
        "summary": "Example of an inbound MandateCancellationRequest",
        "value": {
          "schema": "MandateCancellationRequest",
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "mandateRequestTransactionIdentifier": "00072019-03-05000000086",
              "authenticationType": "REAL_TIME",
              "requestTransmissionNumber": 1,
              "collectionDay": 99,
              "debitValueType": "USAGE_BASED"
            }
          },
          "messageIdentifiers": {
            "messageIdentification": "100/MANCO/00999003/20240305/000001",
            "creationDateTime": "2024-03-05T10:08:01Z"
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "instructingAgent": {
            "clearingSystemMemberId": {
              "memberId": "999003"
            }
          },
          "instructedAgent": {
            "clearingSystemMemberId": {
              "memberId": "999002"
            }
          },
          "underlyingCancellationDetails": {
            "originalMessageInformation": {
              "messageIdentification": "100/MANAM/00210007/20190305/000511",
              "creationDateTime": "2019-03-05T10:04:44Z",
              "messageNameIdentification": "MandateAmendmentRequest"
            },
            "cancellationReason": {
              "reason": {
                "schema": "PROPRIETARY",
                "value": "MICN"
              },
              "additionalInformation": [
                "Mandate cancellation requested by creditor"
              ]
            },
            "originalMandate": {
              "originalMandate": {
                "mandateIdentification": "33005",
                "mandateRequestIdentification": "CR000000029853",
                "trackingIndicator": true,
                "type": {
                  "localInstrument": {
                    "schema": "PROPRIETARY",
                    "value": "0227"
                  }
                },
                "occurrences": {
                  "sequenceType": "RCUR",
                  "frequency": {
                    "schema": "MonthlyFrequency",
                    "dayOfMonth": 15
                  },
                  "validFrom": "2019-04-26",
                  "firstCollectionDate": "2019-04-30"
                },
                "creditor": {
                  "legalName": "Creditor Name",
                  "identification": {
                    "schema": "ORGANISATION",
                    "identifiers": [
                      {
                        "schema": "BIC",
                        "BIC": "RY8PEG0L"
                      }
                    ]
                  },
                  "contactDetails": {
                    "phoneNumber": "+27-86-0001234",
                    "emailAddress": "collections@exampleloans.example.co.za"
                  }
                },
                "creditorAccount": {
                  "identification": {
                    "schema": "GENERIC",
                    "scheme": {
                      "schema": "PROPRIETARY",
                      "value": "ACCOUNT_NUMBER"
                    },
                    "value": "10173412345"
                  },
                  "type": {
                    "schema": "CODE",
                    "value": "CACC"
                  }
                },
                "creditorAgent": {
                  "clearingSystemMemberId": {
                    "memberId": "888004"
                  }
                },
                "ultimateCreditor": {
                  "legalName": "Ultimate Creditor Name",
                  "identification": {
                    "schema": "ORGANISATION",
                    "identifiers": [
                      {
                        "schema": "BIC",
                        "BIC": "RY8PEG0L"
                      }
                    ]
                  },
                  "contactDetails": {
                    "phoneNumber": "+27-86-0001234",
                    "emailAddress": "collections@exampleloans.example.co.za"
                  }
                },
                "debtor": {
                  "legalName": "MR JOHN EXAMPLE"
                },
                "debtorAccount": {
                  "identification": {
                    "schema": "GENERIC",
                    "scheme": {
                      "schema": "PROPRIETARY",
                      "value": "ACCOUNT_NUMBER"
                    },
                    "value": "10173412345"
                  },
                  "type": {
                    "schema": "CODE",
                    "value": "SVGS"
                  }
                },
                "debtorAgent": {
                  "clearingSystemMemberId": {
                    "memberId": "888002"
                  }
                }
              }
            }
          }
        }
      },
      "MandateSuspensionRequest": {
        "summary": "Example of an inbound MandateSuspensionRequest",
        "value": {
          "schema": "MandateSuspensionRequest",
          "messageIdentifiers": {
            "messageIdentification": "100/SPOUT/00222290/20260319/000001",
            "creationDateTime": "2026-01-26T07:58:30Z"
          },
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "authenticationType": "NOT_APPLICABLE",
              "requestTransmissionNumber": 1,
              "debtorBankMandateReference": "001020180314DC5860BD19"
            }
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "underlyingSuspensionDetails": {
            "suspensionReason": {
              "reason": {
                "schema": "PROPRIETARY",
                "value": "MCOC"
              },
              "additionalInformation": [
                "Mandate Suspended - Once off Collection"
              ]
            },
            "originalMandate": {
              "originalMandate": {
                "mandateIdentification": "REGRCAP2019042615",
                "mandateRequestIdentification": "REG201926123",
                "trackingIndicator": true,
                "type": {
                  "localInstrument": {
                    "schema": "PROPRIETARY",
                    "value": "0228"
                  }
                },
                "occurrences": {
                  "sequenceType": "RCUR",
                  "frequency": {
                    "schema": "MonthlyFrequency",
                    "dayOfMonth": 15
                  },
                  "validFrom": "2019-04-26",
                  "firstCollectionDate": "2019-04-30"
                },
                "collectionAmount": {
                  "value": 100,
                  "currency": "ZAR"
                },
                "maximumAmount": {
                  "value": 120,
                  "currency": "ZAR"
                },
                "creditor": {
                  "legalName": "Creditor Name",
                  "identification": {
                    "schema": "ORGANISATION",
                    "identifiers": [
                      {
                        "schema": "BIC",
                        "BIC": "RY8PEG0L"
                      }
                    ]
                  }
                },
                "debtor": {
                  "legalName": "Debtor Name",
                  "identification": {
                    "schema": "PERSON",
                    "identifiers": [
                      {
                        "identification": "I/9905140859123",
                        "scheme": {
                          "schema": "CODE",
                          "value": "NIDN"
                        }
                      }
                    ]
                  }
                },
                "debtorAccount": {
                  "identification": {
                    "schema": "GENERIC",
                    "scheme": {
                      "schema": "PROPRIETARY",
                      "value": "ACCOUNT_NUMBER"
                    },
                    "value": "10173412345"
                  },
                  "type": {
                    "schema": "CODE",
                    "value": "SVGS"
                  }
                },
                "debtorAgent": {
                  "clearingSystemMemberId": {
                    "memberId": "470010"
                  }
                }
              }
            }
          }
        }
      },
      "MandateInformationRequest": {
        "summary": "Example of an outbound MandateInformationRequest",
        "value": {
          "schema": "MandateInformationRequest",
          "messageIdentifiers": {
            "messageIdentification": "3c004e038bd3469d99d112681ca1166f",
            "creationDateTime": "2026-01-26T07:58:00Z"
          },
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "authenticationType": "NOT_APPLICABLE",
              "requestTransmissionNumber": 1
            }
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "underlyingCopyDetails": {
            "originalMandate": {
              "originalMandateIdentification": "RGCAP1900000000000A1"
            }
          }
        }
      },
      "CustomerPaymentStatusReportRejected": {
        "summary": "Example of a CustomerPaymentStatusReport with REJECTED outcome",
        "value": {
          "schema": "CustomerPaymentStatusReport",
          "messageIdentifiers": {
            "messageIdentification": "100/MANSR/00210010/20190513/000002",
            "creationDateTime": "2019-05-13T15:16:05Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "100/MANIN/00210007/20190305/000511",
            "creationDateTime": "2019-03-05T10:04:44Z"
          },
          "originalMessageNameIdentification": "MandateInitiationRequest",
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "mandateRequestTransactionIdentifier": "00072019-03-05000000086",
              "requestTransmissionNumber": 1
            }
          },
          "status": {
            "outcome": "REJECTED",
            "reasonInfo": [
              {
                "reason": {
                  "schema": "PROPRIETARY",
                  "value": "901103"
                },
                "additionalInformation": "Invalid Instalment Frequency"
              },
              {
                "reason": {
                  "schema": "PROPRIETARY",
                  "value": "901106"
                },
                "additionalInformation": "Invalid First Collection Date on mandate"
              }
            ]
          },
          "mandateInformation": {
            "mandateIdentification": "REGRCAP2019042615"
          }
        }
      },
      "MandateAcceptanceReport": {
        "summary": "Example of an outbound MandateAcceptanceReport",
        "value": {
          "schema": "MandateAcceptanceReport",
          "messageIdentifiers": {
            "messageIdentification": "3c004e038bd3469d99d112681ca1166f",
            "creationDateTime": "2019-05-13T15:15:43Z"
          },
          "originalMessageIdentifiers": {
            "messageIdentification": "100/MANIN/00210007/20190305/000511",
            "creationDateTime": "2019-03-05T10:04:44Z"
          },
          "paymentScheme": {
            "schema": "ZA_AC",
            "schemeData": {
              "mandateRequestTransactionIdentifier": "00072018-03-19000000098",
              "debtorBankMandateReference": "0003202501015177310122",
              "authenticationType": "REAL_TIME",
              "requestTransmissionNumber": 1,
              "collectionDay": 30,
              "debitValueType": "FIXED"
            }
          },
          "initiatingParty": {
            "legalName": "EXAMPLE LOANS"
          },
          "underlyingAcceptanceDetails": {
            "acceptanceResult": {
              "accepted": false,
              "rejectionReason": {
                "schema": "PROPRIETARY",
                "value": "NRSP"
              },
              "additionalRejectionInformation": [
                "Mandate initiation timed out waiting for debtor authorisation"
              ]
            },
            "originalMandate": {
              "originalMandate": {
                "mandateIdentification": "REGRCAP2019042615",
                "mandateRequestIdentification": "REG201926123",
                "trackingIndicator": true,
                "type": {
                  "localInstrument": {
                    "schema": "PROPRIETARY",
                    "value": "0228"
                  }
                },
                "occurrences": {
                  "sequenceType": "RCUR",
                  "frequency": {
                    "schema": "MonthlyFrequency",
                    "dayOfMonth": 15
                  },
                  "validFrom": "2019-04-26",
                  "firstCollectionDate": "2019-04-30"
                },
                "collectionAmount": {
                  "value": 100,
                  "currency": "ZAR"
                },
                "maximumAmount": {
                  "value": 120,
                  "currency": "ZAR"
                },
                "creditor": {
                  "legalName": "Creditor Name",
                  "identification": {
                    "schema": "ORGANISATION",
                    "identifiers": [
                      {
                        "schema": "BIC",
                        "BIC": "RY8PEG0L"
                      }
                    ]
                  }
                },
                "debtor": {
                  "legalName": "Debtor Name",
                  "identification": {
                    "schema": "PERSON",
                    "identifiers": [
                      {
                        "identification": "I/9905140859123",
                        "scheme": {
                          "schema": "CODE",
                          "value": "NIDN"
                        }
                      }
                    ]
                  }
                },
                "debtorAccount": {
                  "identification": {
                    "schema": "GENERIC",
                    "scheme": {
                      "schema": "PROPRIETARY",
                      "value": "ACCOUNT_NUMBER"
                    },
                    "value": "10173412345"
                  },
                  "type": {
                    "schema": "CODE",
                    "value": "SVGS"
                  }
                },
                "debtorAgent": {
                  "clearingSystemMemberId": {
                    "memberId": "470010"
                  }
                },
                "authentication": {
                  "date": "2019-04-03",
                  "channel": {
                    "schema": "PROPRIETARY",
                    "value": "NC03"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}