openapi: 3.1.0
info:
  title: Clear Junction API
  version: 1.0.0
  description: |-
    ## Introduction

    Welcome to the Clear Junction API Webpage!

    Our API interface is designed to allow your organization seamless connection to Clear Junction's product offerings. The objective is to provide access to our real time payment processing services, as well as to give your customers access to our virtual IBAN facilities.

    Our API supports a number of payment schemes giving you access to a variety of international currencies. Through our API connection you will have access to SEPA Credit Transfer, SEPA Instant, Faster Payments (FPS), CHAPS, SWIFT, and the list continues to grow.

    Clear Junction offers a set of REST-based interfaces available via an HTTPS channel. The communication protocol consists of JSON-formatted messages exchanged between the server (Clear Junction) and the client.

    At Clear Junction we currently offer four types of accounts: a current account, collection account, correspondent account, and an e-money account. Based on licensing and your organization's business case, Clear Junction may be able to offer additional features such as vIBAN or Wallets to suit the client's needs.

    ## General features

    ### Authentication

    All requests require three mandatory headers:

    - `Date`: Current server time in ISO8601 format (automatically generated).
    - `X-API-KEY`: API user identifier (UUID).
    - `Authorization`: Bearer token calculated using SHA512 signature algorithm.

    Clear Junction's API uses a custom authentication process based on an API key approach.

    Signature algorithm:

    1. `apiPassword -> SHA512 -> uppercase`
    2. `X-API-KEY -> uppercase`
    3. `request body -> uppercase` (use empty body for `GET` requests)
    4. Concatenate: `uppercase(X-API-KEY) + Date + uppercase(SHA512(apiPassword)) + uppercase(Body)`
    5. Calculate SHA512 of the concatenated string.
    6. `Authorization = "Bearer " + hash`

    The Authorization header for webhooks is generated using the same mechanism as standard API requests. For non-GET requests, use the raw JSON payload as the request body. For GET requests, the signature must be calculated using an empty body.

    ![Signature Formation](docs/diagrams/out/auth-signature.svg)
servers:
  - url: https://client.clearjunction.com
    description: Production
  - url: https://sandbox.clearjunction.com
    description: Sandbox
security:
  - X-API-KEY: []
    Date: []
    Authorization: []
tags:
  - name: wallet_get_balance
    x-displayName: Get the Wallet Balance
    description: Wallet Balances and available payment methods endpoints
  - name: wallet_state
    x-displayName: Get the Wallet Data
    description: Wallet data and available payment methods endpoints
  - name: payout_overview
    x-displayName: Payouts
    description: |-
      Payout creation endpoints.

      In order to transfer funds from the balance to a specified account (bank or other financial institution) you would need to:

      * Provide the payment originator's (Payer) personal data;

      * Specify the payment recipient's (Payee) account details for the selected rail (IBAN, sort code and account number, or SWIFT institution details);

      * Specify the payment amount.

      ![Payout](docs/diagrams/out/payout-sequence.svg)

      ***
  - name: payout_create
    x-displayName: Payout Create
    description: Payout creation endpoints
  - name: payout_status
    x-displayName: Payout Get Status
    description: Payout status endpoints
  - name: payout_actions
    x-displayName: Payout Actions
    description: Payout actions endpoints
  - name: payout_payee_details_validation
    x-displayName: Payee details validation
    description: Payee details validation endpoints
  - name: payout_webhooks
    x-displayName: Payout Webhooks
    description: |-
      Payout webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.

      #### PayoutReturn flow

      After a payout completes successfully on Clear Junction's side, the receiving institution (Payee's FI) may reject the payment instruction. This rejection can occur after a significant delay (up to several days). When this happens, a payoutReturn transaction is created and the PayoutReturn webhook is sent.

      ![Payout Return flow](docs/diagrams/out/payout-return-sequence.svg)
  - name: payin_overview
    x-displayName: Payins
    description: Incoming payments (payins) can be tracked by status. When configured, status changes are delivered to the client's webhook.
  - name: payin_status
    x-displayName: Payin Get Status
    description: Payin status endpoints
  - name: payin_webhooks
    x-displayName: Payin Webhooks
    description: |-
      Payin webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.

      ![Payin flow](docs/diagrams/out/payin-sequence.svg)
  - name: refund_overview
    x-displayName: Refunds
    description: |
      The “Refund a Transaction” functionality allows the return of incoming payments. It is available for Internal Payments, SEPA Credit Transfers (SEPA CT), SEPA Instant, Faster Payments, CHAPS, and SWIFT. The refund availability period may vary depending on the payment method. For further details, please contact your Client Service Manager.
  - name: refund_create
    x-displayName: Refund Create
    description: Refund creation endpoints
  - name: refund_status
    x-displayName: Refund Get Status
    description: Refund status endpoints
  - name: refund_webhooks
    x-displayName: Refund Webhooks
    description: |-
      Refund webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.
  - name: fx_rate
    x-displayName: Get FX Rate
    description: FX rate endpoints
  - name: fx_transfer
    x-displayName: Create FX Transfer
    description: FX transfer endpoints
  - name: fx_status
    x-displayName: Get FX Transfer Status
    description: FX status endpoints
  - name: fx_webhooks
    x-displayName: FX Transfer Webhooks
    description: |-
      FX webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.
  - name: fx_overview
    x-displayName: Foreign Exchange
    description: |-
      **Service Overview**

      Instant FX is a service that enables users to perform real-time foreign exchange transactions during business hours. Supported currency pairs for conversion include <u>EUR</u>/<u>GBP</u>/<u>USD</u>.

      The service ensures full transparency on the exchange rate and offers instant delivery of funds to the user's Clear Junction account.

      **Service has the following limitations:** Conversion Timing; Currency Exchange Limits; Exchange Rate Validity (120 seconds); Number of transactions. For the exact details of your limits, please inquire with your Client Service Manager.

      ![Instant FX Sequence](docs/diagrams/out/instant-fx-sequence.svg)

      ***

      **Process**

      | Step | Client | Clear Junction | Additional information |
      | --- | --- | --- | --- |
      | **Get Rate Request** | Sends a "Get rate" request to the API, specifying the sell and buy currencies. | The API responds with an "FX quote" that includes information such as the buy currency, sell currency, exchange rate, quoteID, and expiration time. | Beyond business hours, the client will encounter an error message instead of receiving an 'FX quote.' |
      | **Create Transfer** | If the client agrees with the received rate (quote), they proceed to create a transfer request for the foreign exchange transaction. | | The transfer request includes details such as the sell amount, buy amount, and rate UUID. |

      ***

      **Validation and Checking on Clear Junction side**

      | Validation result | Description |
      | --- | --- |
      | **Check Rate** | If the rate is valid, the transfer is considered successful and is recorded in the client's account with the status "Pending". If the rate provided in the quote has expired, the transfer will be rejected. |
      | **Check Balance on Request Stage** | If the client's balance is insufficient to cover the transfer amount, the transfer will be rejected. |
      | **Transaction Limits Violation** | If the transfer violates any of the transaction limits (such as minimum transaction amount, maximum cumulative 30-minute limit, or maximum cumulative daily limit), the transfer is rejected. |
      | **Incorrect Sell/Buy Amounts** | If the indicated sell/buy amounts based on the exchange rate are incorrect, the transfer is rejected. |
      | **Check Balance during processing** | If the client's balance is sufficient to cover the transfer amount, the exchange transaction is considered successful and is marked as "Captured". If the client's balance is insufficient, the transaction will be declined. |
  - name: virtual_accounts_overview
    x-displayName: Virtual Accounts
    description: Virtual accounts cover IBAN and crypto address allocation, account lookup and close, and account linking.
  - name: virtual_accounts_create
    x-displayName: Create Virtual Account
    description: Virtual Accounts creation endpoints
  - name: virtual_accounts_status
    x-displayName: Get Virtual Account Status
    description: Virtual Accounts status and query endpoints
  - name: virtual_accounts_actions
    x-displayName: Virtual Account Actions
    description: Virtual Accounts action endpoints
  - name: virtual_accounts_webhooks
    x-displayName: Virtual Account Webhooks
    description: |-
      Virtual Accounts webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.
  - name: wallets_overview
    x-displayName: Client Money Account e-Wallet
    description: Client money e-wallets can be reserved, queried, and used for transfers between wallets.
  - name: wallets_create
    x-displayName: Create Wallet
    description: Wallet creation endpoints
  - name: wallets_status
    x-displayName: Get Reservation Status
    description: Wallet reservation status endpoints
  - name: wallet_transfer_status
    x-displayName: Get Wallet Transfer Status
    description: Wallet transfer status endpoints
  - name: wallets_actions
    x-displayName: Create Transfer between wallets
    description: Wallet transfer creation endpoints
  - name: wallets_webhooks
    x-displayName: Wallet Webhooks
    description: |-
      Wallet webhooks endpoints.
      Acknowledge each notification with `200 OK` and return `orderReference` in the response body as plain text (`text/plain`), without JSON wrapper.
  - name: reports_overview
    x-displayName: Reports
    description: Reports return transaction history and wallet statements for a requested period.
  - name: reports_transaction
    x-displayName: Transaction Report
    description: Transaction report endpoints
  - name: reports_statement
    x-displayName: Statement
    description: Statement endpoints
  - name: webhooks_overview
    x-displayName: Webhooks
    description: Clear Junction sends signed JSON notifications to the client's postback URL. Acknowledge each message with HTTP 200 as specified on the individual webhook.
  - name: tokenize_overview
    x-displayName: Tokenize
    description: Card data can be replaced with a token through the PCI tokenize endpoint so later operations do not send a raw PAN.
  - name: tokenize_create
    x-displayName: Create Token
    description: Tokenization endpoints
  - name: common_errors
    x-displayName: Common Errors
    description: |-
      The following HTTP status codes may be returned by any endpoint:

      #### 401 Unauthorized

      Returned when authentication fails. The response body is a JSON object.

      Occurs when:
      - One of the mandatory headers (`Date`, `X-API-KEY`, `Authorization`) is missing
      - The `Authorization` header is incorrectly calculated
      - The time in the `Date` header differs from the server time by more than 5 minutes — in this case `details` will contain `request has expired`
      - The interface is not available according to the applied configuration — code `401`, message `Unauthorized`, details `Request cannot be processed`

      Example response (code 20):

      ```json
      {
          "requestReference": "a14a7f24-94d6-41ae-9e33-2a8fc52ca9b9",
          "errors": [
              {
                  "code": "20",
                  "message": "Authorization error",
                  "details": "failed to apply authorization information"
              }
          ]
      }
      ```

      Example response (request expired — code 20, details contain `request has expired`):

      ```json
      {
          "requestReference": "a14a7f24-94d6-41ae-9e33-2a8fc52ca9b9",
          "errors": [
              {
                  "code": "20",
                  "message": "Authorization error",
                  "details": "failed to apply authorization information, request has expired"
              }
          ]
      }
      ```

      Example response (interface not available — code 401):

      ```json
      {
          "requestReference": "a14a7f24-94d6-41ae-9e33-2a8fc52ca9b9",
          "errors": [
              {
                  "code": "401",
                  "message": "Unauthorized",
                  "details": "Request cannot be processed"
              }
          ]
      }
      ```

      #### 403 Forbidden

      Returned when the client lacks permission to access the resource. Ensure the request is made from an IP address that has been added to the whitelist.

      #### 404 Not Found

      Returned when the requested resource or path does not exist. The response body is a JSON object.

      Example response:

      ```json
      {
          "errors": [
              {
                  "code": 404,
                  "message": "Not Found",
                  "details": "Path you requested does not exist"
              }
          ]
      }
      ```

      #### 500 Internal Server Error

      Unexpected server-side error.
paths:
  /v7/gate/payout/internalPayment:
    post:
      summary: Internal Payment
      operationId: createInternalPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutInternalPaymentEntity'
            examples:
              PayoutInternalPaymentFull:
                $ref: '#/components/examples/PayoutInternalPaymentFull'
              PayoutInternalPaymentMinimum:
                $ref: '#/components/examples/PayoutInternalPaymentMinimum'
      description: |-
        Creates an internal payout between Clear Junction accounts.

        If validation succeeds, the payout is created in status `created` and waits for approve (up to 30 days). Execution starts only after approve. Track status with `GET /v7/gate/status/payout/{referenceType}/{reference}`. When `postbackUrl` is set, payout notifications are sent after execution starts. The successful terminal status is `settled`.
  /v7/gate/payout/bankTransfer/eu:
    post:
      summary: EUR transfer Sepa CT
      operationId: createSepaPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferEuEntity'
            examples:
              PayoutBankTransferEuFull:
                $ref: '#/components/examples/PayoutBankTransferEuFull'
              PayoutBankTransferEuFromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferEuFromMasterAccount'
              PayoutBankTransferEuFromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferEuFromVirtualAccount'
              PayoutBankTransferEuFromMasterAccountUltimatePayer:
                $ref: '#/components/examples/PayoutBankTransferEuFromMasterAccountUltimatePayer'
      description: |-
        Creates a SEPA Credit Transfer payout from the client's balance to the specified beneficiary account.

        Preconditions:
        - The client must provide a unique `clientOrder`.
        - Beneficiary data and `payeeRequisite` must be valid for the SEPA scheme.
        - The source balance must be sufficient to cover the transfer and applicable fees.

        Processing model:
        - If validation succeeds, the payout request is created synchronously in status `created`.
        - A payout in status `created` does not start execution automatically.
        - The payout remains in `created` status until the client explicitly calls the approve operation.
        - The payout may remain in `created` status for up to 30 days while awaiting approval.
        - During this waiting period, the payout can be cancelled explicitly by calling the cancel operation.

        Execution trigger:
        - Execution starts only after the approve operation is called.
        - Before approval, the payout is only registered and reserved for later execution.

        Status tracking:
        - Use the create response to confirm that the payout was accepted in status `created`.
        - Use the approve operation to start status progression.
        - Use the cancel operation to cancel a payout that is still waiting in status `created`.
        - Use `GET /v7/gate/status/payout/{referenceType}/{reference}` to track the final status.
        - `referenceType` can be `clientOrder` or `orderReference`.

        Notifications:
        - If `postbackUrl` is provided, the system sends a payout notification webhook immediately after status changes begin following the approve call.

        Correlation keys:
        - Use `clientOrder` as the client-side business key.
        - Use `orderReference` as the system-side transaction reference.
        - Use `requestReference` only as the reference of the current API call.

        Rail behavior:
        - This operation is intended for standard SEPA Credit Transfer payouts in EUR.

        Successful terminal state:
        - The successful final status for a payout is `settled`.
  /v7/gate/payout/bankTransfer/sepaInst:
    post:
      summary: EUR transfer Sepa Instant
      operationId: createSepaInstantPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferEuEntity'
            examples:
              PayoutBankTransferEuFull:
                $ref: '#/components/examples/PayoutBankTransferEuFull'
              PayoutBankTransferEuFromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferEuFromMasterAccount'
              PayoutBankTransferEuFromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferEuFromVirtualAccount'
              PayoutBankTransferEuFromMasterAccountUltimatePayer:
                $ref: '#/components/examples/PayoutBankTransferEuFromMasterAccountUltimatePayer'
      description: |-
        Creates a SEPA Instant payout from the client's balance to the specified beneficiary IBAN in EUR.

        If validation succeeds, the payout is created in status `created` and waits for approve (up to 30 days). Execution starts only after approve. Track status with `GET /v7/gate/status/payout/{referenceType}/{reference}`. When `postbackUrl` is set, payout notifications are sent after execution starts. The successful terminal status is `settled`.
  /v7/gate/payout/bankTransfer/fps:
    post:
      summary: GBP transfer Faster Payments
      deprecated: true
      operationId: createFpsPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
                create_payouts_fps_chaps_technical_005B1:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_technical_005B1'
                create_payouts_fps_chaps_action_forbidden_012:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_action_forbidden_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferFpsEntity'
            examples:
              PayoutBankTransferFpsFull:
                $ref: '#/components/examples/PayoutBankTransferFpsFull'
              PayoutBankTransferFpsFromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferFpsFromMasterAccount'
              PayoutBankTransferFpsFromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferFpsFromVirtualAccount'
              PayoutBankTransferFpsFromMasterAccountUltimatePayer:
                $ref: '#/components/examples/PayoutBankTransferFpsFromMasterAccountUltimatePayer'
      description: |-
        Creates a Faster Payments (FPS) payout from the client's balance to a GBP account identified by sort code and account number.

        This interface is deprecated. Use `POST /v7/gate/payout/v2/bankTransfer/fps` for new integrations.

        If validation succeeds, the payout is created in status `created` and waits for approve. Track status with `GET /v7/gate/status/payout/{referenceType}/{reference}`. When `postbackUrl` is set, payout notifications are sent after execution starts.
  /v7/gate/payout/v2/bankTransfer/fps:
    post:
      summary: V2 GBP transfer Faster Payments
      operationId: createFpsV2Payout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
                create_payouts_fps_chaps_technical_005B1:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_technical_005B1'
                create_payouts_fps_chaps_action_forbidden_012:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_action_forbidden_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferFpsV2Entity'
            examples:
              PayoutBankTransferFpsV2Full:
                $ref: '#/components/examples/PayoutBankTransferFpsV2Full'
              PayoutBankTransferFpsV2FromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferFpsV2FromMasterAccount'
              PayoutBankTransferFpsV2FromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferFpsV2FromVirtualAccount'
      description: |-
        Creates a Faster Payments (FPS) payout from the client's balance to a GBP account identified by sort code and account number.

        Preconditions:
        - The client must provide a unique `clientOrder`.
        - Beneficiary data and `payeeRequisite` (`sortCode` + `accountNumber`) must be valid for FPS.
        - When paying from a virtual account, `payerRequisite` is the source IBAN.
        - The source balance must be sufficient to cover the transfer and applicable fees.

        Processing model:
        - If validation succeeds, the payout request is created synchronously in status `created`.
        - A payout in status `created` does not start execution automatically.
        - The payout remains in `created` status until the client explicitly calls the approve operation.
        - The payout may remain in `created` status for up to 30 days while awaiting approval.
        - During this waiting period, the payout can be cancelled explicitly by calling the cancel operation.

        Execution trigger:
        - Execution starts only after the approve operation is called.

        Status tracking:
        - Use `GET /v7/gate/status/payout/{referenceType}/{reference}` to track the final status.
        - `referenceType` can be `clientOrder` or `orderReference`.

        Notifications:
        - If `postbackUrl` is provided, the system sends a payout notification webhook immediately after status changes begin following the approve call.

        Correlation keys:
        - Use `clientOrder` as the client-side business key.
        - Use `orderReference` as the system-side transaction reference.
        - Use `requestReference` only as the reference of the current API call.

        Rail behavior:
        - This is the current FPS create interface. `POST /v7/gate/payout/bankTransfer/fps` remains available but is deprecated.
        - Status and webhook `paymentDetails` use `paymentMethod: BankTransferFps`.

        Successful terminal state:
        - The successful final status for a payout is `settled`.
  /v7/gate/payout/bankTransfer/chaps:
    post:
      summary: GBP transfer CHAPS
      deprecated: true
      operationId: createChapsPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
                create_payouts_fps_chaps_technical_005B1:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_technical_005B1'
                create_payouts_fps_chaps_action_forbidden_012:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_action_forbidden_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferChapsEntity'
            examples:
              PayoutBankTransferChapsFull:
                $ref: '#/components/examples/PayoutBankTransferChapsFull'
              PayoutBankTransferChapsFromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferChapsFromMasterAccount'
              PayoutBankTransferChapsFromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferChapsFromVirtualAccount'
      description: |-
        Creates a CHAPS payout from the client's balance to a GBP account identified by sort code, account number, and bank SWIFT code. `paymentPurposeCodes` is required.

        This interface is deprecated. Use `POST /v7/gate/payout/v2/bankTransfer/chaps` for new integrations.

        If validation succeeds, the payout is created in status `created` and waits for approve. Track status with `GET /v7/gate/status/payout/{referenceType}/{reference}`. When `postbackUrl` is set, payout notifications are sent after execution starts.
  /v7/gate/payout/v2/bankTransfer/chaps:
    post:
      summary: V2 GBP transfer CHAPS
      operationId: createChapsV2Payout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
                create_payouts_fps_chaps_technical_005B1:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_technical_005B1'
                create_payouts_fps_chaps_action_forbidden_012:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_action_forbidden_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferChapsV2Entity'
            examples:
              PayoutBankTransferChapsV2Full:
                $ref: '#/components/examples/PayoutBankTransferChapsV2Full'
              PayoutBankTransferChapsV2FromMasterAccount:
                $ref: '#/components/examples/PayoutBankTransferChapsV2FromMasterAccount'
              PayoutBankTransferChapsV2FromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferChapsV2FromVirtualAccount'
      description: |-
        Creates a CHAPS payout from the client's balance to a GBP account identified by sort code, account number, and bank SWIFT code.

        Preconditions:
        - The client must provide a unique `clientOrder`.
        - `paymentPurposeCodes` must be supplied.
        - Payee data is individual or corporate; registration `address` is required.
        - `payeeRequisite` must include `sortCode`, `accountNumber`, and `bankSwiftCode`.
        - When paying from a virtual account, `payerRequisite` is the source IBAN.
        - The source balance must be sufficient to cover the transfer and applicable fees.

        Processing model:
        - If validation succeeds, the payout request is created synchronously in status `created`.
        - A payout in status `created` does not start execution automatically.
        - The payout remains in `created` status until the client explicitly calls the approve operation.
        - The payout may remain in `created` status for up to 30 days while awaiting approval.
        - During this waiting period, the payout can be cancelled explicitly by calling the cancel operation.

        Execution trigger:
        - Execution starts only after the approve operation is called.

        Status tracking:
        - Use `GET /v7/gate/status/payout/{referenceType}/{reference}` to track the final status.
        - `referenceType` can be `clientOrder` or `orderReference`.

        Notifications:
        - If `postbackUrl` is provided, the system sends a payout notification webhook immediately after status changes begin following the approve call.

        Correlation keys:
        - Use `clientOrder` as the client-side business key.
        - Use `orderReference` as the system-side transaction reference.
        - Use `requestReference` only as the reference of the current API call.

        Rail behavior:
        - This is the current CHAPS create interface. `POST /v7/gate/payout/bankTransfer/chaps` remains available but is deprecated.
        - Status and webhook `paymentDetails` use `paymentMethod: BankTransferChaps`.

        Successful terminal state:
        - The successful final status for a payout is `settled`.
  /v7/gate/payout/bankTransfer/chapsCrossScheme:
    post:
      summary: GBP transfer CHAPS Cross Scheme
      operationId: createChapsCrossSchemePayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
                create_payouts_fps_chaps_technical_005B1:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_technical_005B1'
                create_payouts_fps_chaps_action_forbidden_012:
                  $ref: '#/components/examples/400_create_payouts_fps_chaps_action_forbidden_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferChapsCrossSchemeEntity'
            examples:
              PayoutBankTransferChapsCrossSchemeFull:
                $ref: '#/components/examples/PayoutBankTransferChapsCrossSchemeFull'
              PayoutBankTransferChapsCrossSchemeFromVirtualAccount:
                $ref: '#/components/examples/PayoutBankTransferChapsCrossSchemeFromVirtualAccount'
      description: |-
        Creates a CHAPS Cross Scheme payout from the client's balance. Payee requisites are an IBAN or an account number with bank SWIFT code. `paymentPurposeCodes` and payee data (with registration address) are required.

        If validation succeeds, the payout is created in status `created` and waits for approve (up to 30 days). Execution starts only after approve. Track status with `GET /v7/gate/status/payout/{referenceType}/{reference}`. When `postbackUrl` is set, payout notifications are sent after execution starts. The successful terminal status is `settled`.
  /v7/gate/payout/bankTransfer/swift:
    post:
      summary: Multi Currency transfer SWIFT
      operationId: createSwiftPayout
      tags:
        - payout_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutCreateOrderResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                create_payouts_validation_007:
                  $ref: '#/components/examples/400_create_payouts_validation_007'
                create_payouts_technical_012:
                  $ref: '#/components/examples/400_create_payouts_technical_012'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutBankTransferSwiftEntity'
            examples:
              PayoutBankTransferSwiftFull:
                $ref: '#/components/examples/PayoutBankTransferSwiftFull'
              PayoutBankTransferSwiftIban:
                $ref: '#/components/examples/PayoutBankTransferSwiftIban'
              PayoutBankTransferSwiftUsdAccountNumber:
                $ref: '#/components/examples/PayoutBankTransferSwiftUsdAccountNumber'
      description: |-
        Creates a SWIFT payout from the client's balance to a corporate beneficiary.

        Preconditions:
        - The client must provide a unique `clientOrder`.
        - `payee` must be a corporate beneficiary. Individual payees are not accepted on this interface.
        - `payeeRequisite` must include `institution` (`name` and `address`) and either `iban` (all currencies) or `accountNumber` (USD and CAD only).
        - Either `institution.bankSwiftCode` or `clearingSystemIdCode` together with `memberId` must be provided.
        - The source balance must be sufficient to cover the transfer and applicable fees.

        Processing model:
        - If validation succeeds, the payout request is created synchronously in status `created`.
        - A payout in status `created` does not start execution automatically.
        - The payout remains in `created` status until the client explicitly calls the approve operation.
        - The payout may remain in `created` status for up to 30 days while awaiting approval.
        - During this waiting period, the payout can be cancelled explicitly by calling the cancel operation.

        Execution trigger:
        - Execution starts only after the approve operation is called.

        Status tracking:
        - Use `GET /v7/gate/status/payout/{referenceType}/{reference}` to track the final status.
        - `referenceType` can be `clientOrder` or `orderReference`.

        Notifications:
        - If `postbackUrl` is provided, the system sends a payout notification webhook immediately after status changes begin following the approve call.

        Correlation keys:
        - Use `clientOrder` as the client-side business key.
        - Use `orderReference` as the system-side transaction reference.
        - Use `requestReference` only as the reference of the current API call.

        Rail behavior:
        - Supported account currencies: EUR, USD, CAD, CHF, CZK, DKK, HUF, NOK, PLN, RON, SEK.
        - HUF is a zero-decimal currency; submit amounts as rounded whole numbers.
        - For CAD payments, `address.state` is mandatory on the corporate partner and on institution addresses.
        - `clearingSystemIdCode` `CACPA` applies to Canadian routing; `ABA` to US routing. `CACPA` is mandatory when sending CAD to specific Canadian BICs listed on the institution field.
        - Optional `intermediaryInstitution` may identify a correspondent bank.
        - Status and webhook `paymentDetails` use `paymentMethod: BankTransferSwift`.

        Successful terminal state:
        - The successful final status for a payout is `settled`.
  /v7/gate/status/payout/{referenceType}/{reference}:
    get:
      operationId: getPayoutStatus
      summary: Get Payout status
      description: |
        Lookup modes:
        - `/v7/gate/status/payout/clientOrder/ORDER-2026-0001`
        - `/v7/gate/status/payout/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - payout_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutGetStatusResponseEntity'
              examples:
                payout_status_response_schema:
                  $ref: '#/components/examples/200_payout_status_response_schema'
                payout_status_settled_sepa_inst:
                  $ref: '#/components/examples/200_payout_status_settled_sepa_inst'
                payout_status_settled_fps:
                  $ref: '#/components/examples/200_payout_status_settled_fps'
                payout_status_settled_chaps:
                  $ref: '#/components/examples/200_payout_status_settled_chaps'
                payout_status_settled_internal:
                  $ref: '#/components/examples/200_payout_status_settled_internal'
                payout_status_settled_swift:
                  $ref: '#/components/examples/200_payout_status_settled_swift'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
  /v7/gate/status/invoice/{referenceType}/{reference}:
    get:
      operationId: getPayinStatus
      summary: Get Payin status
      description: |
        Lookup modes:
        - `/v7/gate/status/invoice/clientOrder/ORDER-2026-0001`
        - `/v7/gate/status/invoice/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - payin_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayinGetStatusResponseEntity'
              examples:
                payin_status_response_schema:
                  $ref: '#/components/examples/200_payin_status_response_schema'
                payin_status_captured_eu_transfer:
                  $ref: '#/components/examples/200_payin_status_captured_eu_transfer'
                payin_status_captured_fps_transfer:
                  $ref: '#/components/examples/200_payin_status_captured_fps_transfer'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
  /v7/gate/refund:
    post:
      summary: Refund
      operationId: createRefund
      tags:
        - refund_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                refund_not_found_016:
                  $ref: '#/components/examples/400_refund_not_found_016'
                refund_validation_007:
                  $ref: '#/components/examples/400_refund_validation_007'
                refund_technical_005_refund_amount:
                  $ref: '#/components/examples/400_refund_technical_005_refund_amount'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundRequestEntity'
  /v7/gate/status/refund/{referenceType}/{reference}:
    get:
      operationId: getRefundStatus
      summary: Get Refund status
      description: |
        Lookup modes:
        - `/v7/gate/status/refund/clientOrder/ORDER-2026-0001`
        - `/v7/gate/status/refund/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - refund_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundGetStatusResponseEntity'
              examples:
                responseSchemaRefund:
                  $ref: '#/components/examples/200_responseSchemaRefund'
                refund_status_captured:
                  $ref: '#/components/examples/200_refund_status_captured'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
  /v7/gate/fx/instant/rate:
    post:
      summary: Get Rate
      operationId: getInstantFxRate
      tags:
        - fx_rate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstantFxRateRequestEntity'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantFxRateResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                fx_rate_validation_007:
                  $ref: '#/components/examples/400_fx_rate_validation_007'
  /v7/gate/fx/instant/transfer:
    post:
      summary: Create FX Transfer
      operationId: createInstantFxTransfer
      tags:
        - fx_transfer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstantFxTransferRequestEntity'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantFxTransferResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                fx_transfer_validation_007:
                  $ref: '#/components/examples/400_fx_transfer_validation_007'
                fx_transfer_technical_010:
                  $ref: '#/components/examples/400_fx_transfer_technical_010'
  /v7/gate/fx/instant/status/{referenceType}/{reference}:
    get:
      operationId: getInstantFxTransferStatus
      summary: Get FX Transfer status
      description: |
        Lookup modes:
        - `/v7/gate/fx/instant/status/clientOrder/ORDER-2026-0001`
        - `/v7/gate/fx/instant/status/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - fx_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantFxTransferResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/allocate/v3/create/iban:
    post:
      summary: Allocate IBAN V3
      operationId: createIbanAllocationV3
      tags:
        - virtual_accounts_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                allocate_iban_validation_007:
                  $ref: '#/components/examples/400_allocate_iban_validation_007'
                allocate_iban_technical_012:
                  $ref: '#/components/examples/400_allocate_iban_technical_012'
                allocate_iban_validation_007_document_expiration:
                  $ref: '#/components/examples/400_allocate_iban_validation_007_document_expiration'
                allocate_iban_validation_007_birthdate:
                  $ref: '#/components/examples/400_allocate_iban_validation_007_birthdate'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                allocate_iban_conflict_409:
                  $ref: '#/components/examples/409_allocate_iban_conflict_409'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocateIbanV3AsyncRequestEntity'
            examples:
              AllocateIbanV3IndividualRequestSchema:
                $ref: '#/components/examples/AllocateIbanV3IndividualRequestSchema'
              AllocateIbanV3IndividualCustom:
                $ref: '#/components/examples/AllocateIbanV3IndividualCustom'
              AllocateIbanV3CorporateCustom:
                $ref: '#/components/examples/AllocateIbanV3CorporateCustom'
  /v7/gate/allocate/v2/status/iban/{referenceType}/{reference}:
    get:
      operationId: getIbanAllocationStatus
      summary: Get IBAN Allocation status
      description: |
        Lookup modes:
        - `/v7/gate/allocate/v2/status/iban/clientOrder/ORDER-2026-0001`
        - `/v7/gate/allocate/v2/status/iban/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - virtual_accounts_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateIbanAsyncGetStatusEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/allocate/v2/info/iban/{iban}:
    get:
      summary: Get IBAN Information by IBAN
      deprecated: true
      operationId: getIbanInfo
      tags:
        - virtual_accounts_status
      parameters:
        - $ref: '#/components/parameters/ibanParam'
          example: GBXXXCLJU04130729900988
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateIbanInfoResponseEntity'
  /v7/gate/allocate/v2/list/iban/{clientCustomerId}:
    get:
      summary: Get IBANs list by clientCustomerId
      operationId: listIbansByClientCustomerId
      tags:
        - virtual_accounts_status
      parameters:
        - $ref: '#/components/parameters/clientCustomerId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateIbanListResponseEntity'
  /v7/gate/virtualAccounts/v1/close/iban:
    post:
      summary: Close IBAN
      operationId: closeVirtualAccountByIban
      tags:
        - virtual_accounts_actions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountActionResponseBase'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                virtual_account_close_validation_007_iban:
                  $ref: '#/components/examples/400_virtual_account_close_validation_007_iban'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualAccountCloseByIbanRequest'
  /v7/gate/virtualAccounts/v1/status/iban:
    post:
      summary: Get virtual account status by IBAN
      operationId: getVirtualAccountStatusByIban
      description: |
        This status endpoint uses request body lookup by `iban`, unlike other status endpoints
        that use path parameters `referenceType` and `reference`.
      tags:
        - virtual_accounts_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountStatusByIbanResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountActionErrorResponseBase'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualAccountActionByIbanRequest'
  /v7/gate/linkAccounts:
    post:
      summary: Link Accounts Request **implementing**
      operationId: createLinkAccounts
      tags:
        - virtual_accounts_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkAccountsRequestEntity'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkAccountsResponseEntity'
  /v7/gate/linkAccounts/status/{referenceType}/{reference}:
    get:
      summary: Get Link Accounts status
      operationId: getLinkAccountsStatus
      description: |
        Lookup modes:
        - `/v7/gate/linkAccounts/status/clientOrder/ORDER-2026-0001`
        - `/v7/gate/linkAccounts/status/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - virtual_accounts_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkAccountsStatusEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/allocate/v4/create:
    post:
      summary: Allocate virtual account (V4)
      description: |
        One endpoint with two request forms selected by `accountType`.

        - `iban` -> `AllocateV4IbanRequestEntity`
        - `crypto_address` -> `AllocateV4CryptoAddressRequestEntity`
      operationId: createIbanAllocationV4
      tags:
        - virtual_accounts_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                allocate_iban_validation_007:
                  $ref: '#/components/examples/400_allocate_iban_validation_007'
                allocate_iban_technical_012:
                  $ref: '#/components/examples/400_allocate_iban_technical_012'
                allocate_iban_validation_007_document_expiration:
                  $ref: '#/components/examples/400_allocate_iban_validation_007_document_expiration'
                allocate_iban_validation_007_birthdate:
                  $ref: '#/components/examples/400_allocate_iban_validation_007_birthdate'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                allocate_iban_conflict_409:
                  $ref: '#/components/examples/409_allocate_iban_conflict_409'
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/AllocateV4IbanRequestEntity'
                - $ref: '#/components/schemas/AllocateV4CryptoAddressRequestEntity'
              discriminator:
                propertyName: accountType
                mapping:
                  iban: '#/components/schemas/AllocateV4IbanRequestEntity'
                  crypto_address: '#/components/schemas/AllocateV4CryptoAddressRequestEntity'
            examples:
              AllocateV4IbanFull:
                $ref: '#/components/examples/AllocateV4IbanFull'
              AllocateV4CryptoFull:
                $ref: '#/components/examples/AllocateV4CryptoFull'
              AllocateV4IbanIndividual:
                $ref: '#/components/examples/AllocateV4IbanIndividual'
              AllocateV4CryptoIndividual:
                $ref: '#/components/examples/AllocateV4CryptoIndividual'
  /v7/gate/allocate/v4/status/{referenceType}/{reference}:
    get:
      operationId: getAllocationStatus
      summary: Get Allocation status
      description: |
        Lookup modes:
        - `/v7/gate/allocate/v4/status/clientOrder/ORDER-2026-0001`
        - `/v7/gate/allocate/v4/status/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - virtual_accounts_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocateV4StatusEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/wallets/corporate:
    post:
      summary: Reserve Corporate Customer Wallet
      operationId: createCorporateWallet
      tags:
        - wallets_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservateWalletCorporateAsyncResponseEntity'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservateWalletCorporateAsyncRequestEntity'
  /v7/gate/wallets/status/{referenceType}/{reference}:
    get:
      operationId: getWalletReservationStatus
      summary: Get Wallet reservation status
      description: |
        Lookup modes:
        - `/v7/gate/wallets/status/clientOrder/ORDER-2026-0001`
        - `/v7/gate/wallets/status/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - wallets_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservateWalletAsyncGetStatusEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/wallets/{walletUuid}:
    get:
      summary: Get the wallet
      operationId: getWallet
      tags:
        - wallet_state
        - wallet_get_balance
      parameters:
        - $ref: '#/components/parameters/walletUuid'
        - $ref: '#/components/parameters/returnPaymentMethods'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWalletResponseEntity'
              example:
                requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
                ownerUuid: eee0d531-c9b8-4e9c-bf5d-0e42d71e2bf4
                walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
                paymentMethods:
                  - type: IBAN
                    bankCode: CLJUGB21
                    accountNumber: GB40CLJU04130729900988
                    name: Some Name
                amounts:
                  - currencyCode: EUR
                    availableFunds: '1340.00'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                get_wallet_validation_00311:
                  $ref: '#/components/examples/400_get_wallet_validation_00311'
                get_wallet_business_005W1:
                  $ref: '#/components/examples/400_get_wallet_business_005W1'
                get_wallet_logic_005S0:
                  $ref: '#/components/examples/400_get_wallet_logic_005S0'
  /v7/gate/wallets/transfer:
    post:
      summary: Create Wallet Transfer
      operationId: createWalletTransfer
      tags:
        - wallets_actions
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletFundTransferResponseEntity'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletFundTransferEntity'
  /v7/gate/status/walletTransfer/{referenceType}/{reference}:
    get:
      operationId: getWalletTransferStatus
      summary: Get Wallet Transfer status
      description: |
        Lookup modes:
        - `/v7/gate/status/walletTransfer/clientOrder/ORDER-2026-0001`
        - `/v7/gate/status/walletTransfer/orderReference/12d603fa-4d0b-4fec-a9b0-cc3114da134e`
      parameters:
        - $ref: '#/components/parameters/referenceTypeParam'
        - $ref: '#/components/parameters/referenceParam'
      tags:
        - wallet_transfer_status
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletFundTransferGetStatusResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                status_not_found_016:
                  $ref: '#/components/examples/400_status_not_found_016'
  /v7/gate/reports/transactionReport:
    post:
      summary: TransactionReport
      operationId: getTransactionReport
      tags:
        - reports_transaction
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletTransactionReportResponseEntity'
              examples:
                resoponseSchema:
                  $ref: '#/components/examples/200_resoponseSchema'
                payin_status_progression:
                  $ref: '#/components/examples/200_payin_status_progression'
                payout_status_progression:
                  $ref: '#/components/examples/200_payout_status_progression'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                transaction_report_validation_007:
                  $ref: '#/components/examples/400_transaction_report_validation_007'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletTransactionReportRequestEntity'
  /v7/gate/wallets/statement:
    post:
      summary: Get Statement
      operationId: getWalletStatement
      tags:
        - reports_statement
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletStatementResponseEntity'
              examples:
                responseSchemaStatement:
                  $ref: '#/components/examples/200_responseSchemaStatement'
                multi_currency_statement:
                  $ref: '#/components/examples/200_multi_currency_statement'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                statement_validation_007:
                  $ref: '#/components/examples/400_statement_validation_007'
                statement_technical_005:
                  $ref: '#/components/examples/400_statement_technical_005'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletReportRequestBaseEntity'
  /v7/gate/transactionAction/approve:
    post:
      summary: Approve
      description: |-
        Required for all payouts created via API.
        Can be applied only to payouts in `created` status.
        After approval request is sent, payout enters processing and can no longer be canceled.
      operationId: approvePayouts
      tags:
        - payout_actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderReferenceArrayAttr'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionActionResponseEntity'
  /v7/gate/transactionAction/cancel:
    post:
      summary: Cancel
      description: Can be applied only to payouts in `created` status.
      operationId: cancelPayouts
      tags:
        - payout_actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderReferenceArrayAttr'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionActionResponseEntity'
  /v7/gate/checkRequisite/cop:
    post:
      summary: Check name registered with the payee’s account
      description: |-
        Confirmation of Payee (CoP) check for GBP payouts (CHAPS/FPS).

        Use this endpoint before creating GBP payout transactions. A valid CoP result is required.

        Request must contain:
        - payee type and name
        - payee bank details (`sortCode`, `accountNumber`, optional `iban`)
        - optional `secondaryReferenceData` only when required by beneficiary institution

        Response provides match result and validity period (`expirationTimestamp`) for decisioning and caching.

        Full CoP guide (reason codes and recommendations): [CoP Guide](docs/reference/cop)
      operationId: validateCop
      tags:
        - payout_payee_details_validation
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckRequisitesCopResponseEntity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                check_requisite_cop_validation_007_sortCode:
                  $ref: '#/components/examples/400_check_requisite_cop_validation_007_sortCode'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckRequisitesCopEntity'
  /v7/gate/checkRequisite/bankTransfer/eu/iban/{iban}:
    get:
      summary: Check SEPA SCT/Inst IBAN
      operationId: getCheckRequisiteBankTransferEuIban
      tags:
        - payout_payee_details_validation
      parameters:
        - $ref: '#/components/parameters/ibanParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckRequisiteBanktransferEu'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseEntity'
              examples:
                check_requisite_iban_validation_007_invalid_iban:
                  $ref: '#/components/examples/400_check_requisite_iban_validation_007_invalid_iban'
        '429':
          description: Too Many Requests. Rate limit exceeded.
          content:
            text/html:
              schema:
                type: string
                description: HTML response body
              example: |
                <html>
                <head>
                    <title>429 Too Many Requests</title>
                </head>
                <body>
                    <center>
                        <h1>429 Too Many Requests</h1>
                    </center>
                    <hr>
                    <center>nginx/1.23.0</center>
                </body>
                </html>
  /v7/pci/createToken:
    post:
      summary: Create token for PAN
      operationId: createToken
      tags:
        - tokenize_create
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PciCreateTokenResponseEntity'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PciCreateTokenRequestEntity'
webhooks:
  payoutNotification:
    post:
      summary: Payout Notification Message
      operationId: handlePayoutNotification
      tags:
        - payout_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutNotificationMessageEntity'
            examples:
              PayoutNotificationRequestSchema:
                $ref: '#/components/examples/PayoutNotificationRequestSchema'
              PayoutNotificationSettledSepaInst:
                $ref: '#/components/examples/PayoutNotificationSettledSepaInst'
              PayoutNotificationSettledFps:
                $ref: '#/components/examples/PayoutNotificationSettledFps'
              PayoutNotificationSettledChaps:
                $ref: '#/components/examples/PayoutNotificationSettledChaps'
              PayoutNotificationSettledInternal:
                $ref: '#/components/examples/PayoutNotificationSettledInternal'
              PayoutNotificationSettledSwift:
                $ref: '#/components/examples/PayoutNotificationSettledSwift'
  payoutReturnNotification:
    post:
      summary: Payout Return Notification Message
      description: |-
        After a payout completes successfully on Clear Junction's side, the receiving institution (Payee's FI) may reject the payment instruction. This rejection can occur after a significant delay (up to several days). When this happens, a payoutReturn transaction is created and this notification is sent.

        ![Payout Return flow](docs/diagrams/out/payout-return-sequence.svg)
      operationId: handlePayoutReturnNotification
      tags:
        - payout_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutReturnNotificationMessageEntity'
  payinNotification:
    post:
      summary: Payin Notification Message
      operationId: handlePayinNotification
      tags:
        - payin_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayinNotificationMessageEntity'
            examples:
              PayinNotificationRequestSchema:
                $ref: '#/components/examples/PayinNotificationRequestSchema'
              PayinNotificationCapturedEuTransfer:
                $ref: '#/components/examples/PayinNotificationCapturedEuTransfer'
              PayinNotificationCapturedFpsTransfer:
                $ref: '#/components/examples/PayinNotificationCapturedFpsTransfer'
  refundNotification:
    post:
      summary: Refund Notification Message
      operationId: handleRefundNotification
      tags:
        - refund_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundNotificationMessageEntity'
            examples:
              RefundNotificationRequestSchema:
                $ref: '#/components/examples/RefundNotificationRequestSchema'
              RefundNotificationCapturedProd:
                $ref: '#/components/examples/RefundNotificationCapturedProd'
  instantFxTransferNotification:
    post:
      summary: Instant FX Transfer Notification Message
      operationId: handleInstantFxTransferNotification
      tags:
        - fx_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstantFxTransferNotificationMessageEntity'
  ibanAllocationNotification:
    post:
      summary: IBAN Allocation Notification Message
      operationId: handleIbanAllocationNotification
      tags:
        - virtual_accounts_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocateIbanAsyncNotificationMessageEntity'
  virtualAccountActionNotification:
    post:
      summary: Virtual Account Action Notification Message
      operationId: handleVirtualAccountActionNotification
      tags:
        - virtual_accounts_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualAccountActionNotificationEntity'
  linkAccountsNotification:
    post:
      summary: Link Accounts Notification Message **implementing**
      operationId: handleLinkAccountsNotification
      tags:
        - virtual_accounts_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkAccountsStatusEntity'
  virtualAccountAllocationNotification:
    post:
      summary: Virtual Account Allocation Notification Message
      operationId: handleVirtualAccountAllocationNotification
      tags:
        - virtual_accounts_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocateV4NotificationMessageEntity'
  walletReservationNotification:
    post:
      summary: Wallet Reservation Notification Message
      operationId: handleWalletReservationNotification
      tags:
        - wallets_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservateWalletAsyncNotificationMessageEntity'
  walletTransferNotification:
    post:
      summary: Wallet Transfer Notification Message
      operationId: handleWalletTransferNotification
      tags:
        - wallets_webhooks
      responses:
        '200':
          description: Acknowledged. Return the orderReference from the notification body.
          content:
            text/plain:
              schema:
                type: string
                format: uuid
                description: Plain text orderReference value from the notification body (without JSON wrapper).
                example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletFundTransferNotificationMessageEntity'
components:
  parameters:
    referenceTypeParam:
      name: referenceType
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/referenceTypeParamAttr'
    referenceParam:
      name: reference
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/referenceParamAttr'
    ibanParam:
      name: iban
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/ibanParamAttr'
    clientCustomerId:
      name: clientCustomerId
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/clientCustomerIdParamAttr'
      example: 2983ght938
    walletUuid:
      name: walletUuid
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/walletUuidPathParamAttr'
      example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
    returnPaymentMethods:
      name: returnPaymentMethods
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/returnPaymentMethodsParamAttr'
      example: true
  securitySchemes:
    X-API-KEY:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API user identifier (UUID). Must be uppercased when computing the signature.
    Date:
      type: apiKey
      in: header
      name: Date
      description: Current server time in ISO8601 format. Used in signature computation.
    Authorization:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Bearer token = SHA512 hash of concatenated string.
        Format: Bearer &lt;signature&gt;.
        Algorithm: SHA512( UPPERCASE(X-API-KEY) + Date + UPPERCASE(SHA512(apiPassword)) + UPPERCASE(Body) ).
        For GET requests use empty body.
  schemas:
    clientOrderAttr:
      type: object
      additionalProperties: false
      required:
        - clientOrder
      properties:
        clientOrder:
          type: string
          minLength: 1
          description: Client-provided unique order ID.
          example: 999899-0005
      example:
        clientOrder: 999899-0005
    currencyEurAttr:
      type: object
      required:
        - currency
      properties:
        currency:
          type: string
          description: The currency applied to the client's account balance (account currency). The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
          example: EUR
    amountAttrPayout:
      allOf:
        - type: object
          required:
            - amount
          properties:
            amount:
              type: number
              description: The amount that will be sent to the recipient's account.
              example: 210.55
      title: amountAttrPayout
    descriptionFullTextAttr:
      type: object
      required:
        - description
      properties:
        description:
          type: string
          description: |-
            Payment description. Length depends on the payment scheme.
            This field is required but may be an empty string in scheme-specific scenarios.
            Allowed characters: letters (`A-Z`, `a-z`), digits (`0-9`), space, and `/ - ? : ( ) . , ' +`.
            Any other characters are not accepted.
          example: Birthday present
    phoneAttr:
      type: object
      properties:
        phone:
          type: string
          description: The phone number
          example: '34712345678'
    emailAttr:
      type: object
      properties:
        email:
          type: string
          format: email
          description: The email address must be valid according to the addr-spec syntax in [RFC 822](http://www.faqs.org/rfcs/rfc822.html), except that comments, whitespace folding and dotless domain names are not supported.
          example: peterson.julie@ex.invalid
    AddressEntity:
      allOf:
        - type: object
          required:
            - country
            - zip
            - city
            - street
          properties:
            country:
              type: string
              description: The code of country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            state:
              type: string
              description: |-
                The state
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                All other characters are rejected. Value must start with a letter or digit.
            zip:
              type: string
              description: |-
                Zip code
                ***
                Validation of format according to country. Formats of zip code according to country available here [Zip Formats](https://74353748992479739.s3.amazonaws.com/files/zip_code_format.html)
              example: '123455'
            city:
              type: string
              description: |-
                City name
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                All other characters are rejected. Value must start with a letter or digit.
              example: Rome
            street:
              type: string
              description: |-
                Street name
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                All other characters are rejected. Value must start with a letter or digit.
              example: 12 Tourin
      title: AddressEntity
    DocumentEntity:
      allOf:
        - type: object
          required:
            - type
            - number
            - issuedCountryCode
          properties:
            type:
              type: string
              enum:
                - passport
                - driverLicense
                - idCard
                - other
              x-enumDescriptions:
                passport: Passport
                driverLicense: Driver license
                idCard: ID card
                other: Other
              description: Type of document
            number:
              type: string
              description: The number of the document
              example: AB1000222
            issuedCountryCode:
              type: string
              description: The code of the country where the document was issued according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            issuedBy:
              type: string
              description: |-
                The name of the authority that has issued the document
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                All other characters are rejected.
              example: Ministry of Interior
            issuedDate:
              type: string
              format: date
              description: The date when the document was issued (YYYY-MM-DD)
              example: '2016-12-21'
            expirationDate:
              type: string
              format: date
              description: The date when the document will be expired (YYYY-MM-DD). The minimum term is today + one month
              example: '2026-12-20'
      title: DocumentEntity
    IndividualBaseEntity:
      allOf:
        - $ref: '#/components/schemas/phoneAttr'
        - $ref: '#/components/schemas/emailAttr'
        - type: object
          properties:
            birthDate:
              type: string
              format: date
              description: Birthdate (YYYY-MM-DD). At least 16 years old. Not more than 85 years old (84+364 days)
              example: '1999-09-29'
            birthPlace:
              type: string
              description: The place where the person was born
              example: Madrid, Spain
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
            document:
              $ref: '#/components/schemas/DocumentEntity'
              description: The identification document
      title: IndividualBaseEntity
    UltimateIndividualEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualBaseEntity'
        - type: object
          properties:
            lastName:
              type: string
              description: |-
                Lastname
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Peterson
            firstName:
              type: string
              description: |-
                FirstName
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Julie
            middleName:
              type: string
              description: |-
                Middlename
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Maria
            address:
              type: object
              properties:
                country:
                  type: string
                  description: The code of country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                  example: IT
                state:
                  type: string
                  description: |-
                    The state
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                zip:
                  type: string
                  description: |-
                    Zip code
                    ***
                    Validation of format according to country. Formats of zip code according to country available here [Zip Formats](https://74353748992479739.s3.amazonaws.com/files/zip_code_format.html)
                  example: '123455'
                city:
                  type: string
                  description: |-
                    City name
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                  example: Rome
                street:
                  type: string
                  description: |-
                    Street name
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                  example: 12 Tourin
              description: Registration address
            document:
              type: object
              properties:
                type:
                  type: string
                  description: Type of document
                number:
                  type: string
                  description: The number of the document
                  example: AB1000222
                issuedCountryCode:
                  type: string
                  description: The code of the country where the document was issued according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                  example: IT
                issuedBy:
                  type: string
                  description: |-
                    The name of the authority that has issued the document
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                    All other characters are rejected.
                  example: Ministry of Interior
                issuedDate:
                  type: string
                  format: date
                  description: The date when the document was issued (YYYY-MM-DD)
                  example: '2016-12-21'
                expirationDate:
                  type: string
                  format: date
                  description: The date when the document will be expired (YYYY-MM-DD). The minimum term is today + one month
                  example: '2026-12-20'
              description: The identification document
      title: UltimateIndividualEntity
    UltimateCorporateEntity:
      allOf:
        - $ref: '#/components/schemas/emailAttr'
        - type: object
          properties:
            name:
              type: string
              description: |-
                The name of the company
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                All other characters are rejected.
              example: SuperBubble Limited
            registrationNumber:
              type: string
              description: Registration number
              example: AAB2827377-837
            incorporationCountry:
              type: string
              description: Incorporation country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            address:
              type: object
              properties:
                country:
                  type: string
                  description: The code of country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                  example: IT
                state:
                  type: string
                  description: |-
                    The state
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                zip:
                  type: string
                  description: |-
                    Zip code
                    ***
                    Validation of format according to country. Formats of zip code according to country available here [Zip Formats](https://74353748992479739.s3.amazonaws.com/files/zip_code_format.html)
                  example: '123455'
                city:
                  type: string
                  description: |-
                    City name
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                  example: Rome
                street:
                  type: string
                  description: |-
                    Street name
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                  example: 12 Tourin
              description: Registration address
            incorporationDate:
              type: string
              format: date
              description: Date of incorporation (YYYY-MM-DD)
              example: '2016-12-21'
      title: UltimateCorporateEntity
    UltimatePartnerEntity:
      allOf:
        - type: object
          oneOf:
            - type: object
              title: Individual
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/UltimateIndividualEntity'
                  description: Personal data of individual customer
            - type: object
              title: Corporate
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/UltimateCorporateEntity'
                  description: Registration data of the company
      title: UltimatePartnerEntity
    PayoutBaseMandatoryEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/currencyEurAttr'
        - $ref: '#/components/schemas/amountAttrPayout'
        - $ref: '#/components/schemas/descriptionFullTextAttr'
        - type: object
          properties:
            ultimatePayer:
              $ref: '#/components/schemas/UltimatePartnerEntity'
              description: The data of the ultimate payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            ultimatePayee:
              $ref: '#/components/schemas/UltimatePartnerEntity'
              description: The data of the ultimate payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
    postbackUrlAttr:
      type: object
      properties:
        postbackUrl:
          type: string
          format: uri
          description: The URL that a notification message should be sent to. The postback URL must be valid according to [RFC 2396](http://www.faqs.org/rfcs/rfc2396). Please note that only URLs with the HTTPS protocol are considered valid.
          example: https://webhook.invalid/cj-webhook
    customInfoAttr:
      type: object
      properties:
        customInfo:
          type: object
          properties:
            MyExampleParam1:
              type: string
              example: exampleValue1
            MyExampleObject1:
              type: object
              properties:
                MyExampleParam2:
                  type: string
                  example: exampleValue2
                MyExampleParam3:
                  type: string
                  example: exampleValue3
          description: A set of additional values formatted as a free structured JSON-object. It will be sent in a Notification
    PayoutBaseEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutBaseMandatoryEntity'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/customInfoAttr'
    clientCustomerIdOptionalAttr:
      type: object
      properties:
        clientCustomerId:
          type: string
          description: The ID of the Customer in the Client's system.
          example: 2983ght938
    walletUuidOptionalAttr:
      type: object
      properties:
        walletUuid:
          type: string
          format: uuid
          description: Client/Customer wallet UUID. (It is used in payment scenarios. For details please consult with your integration manager.)
          example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
    PartnerBaseEntity:
      allOf:
        - $ref: '#/components/schemas/clientCustomerIdOptionalAttr'
        - $ref: '#/components/schemas/walletUuidOptionalAttr'
    PartnerInternalPaymentEntity:
      allOf:
        - $ref: '#/components/schemas/PartnerBaseEntity'
    IndividualNameSeparatedEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualBaseEntity'
        - type: object
          required:
            - lastName
            - firstName
          properties:
            lastName:
              type: string
              description: |-
                Lastname
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Peterson
            firstName:
              type: string
              description: |-
                FirstName
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Julie
            middleName:
              type: string
              description: |-
                Middlename
                Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                All other characters are rejected.
              example: Maria
      title: IndividualNameSeparatedEntity
    IndividualInternalPaymentEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualNameSeparatedEntity'
      title: IndividualInternalPaymentEntity
    CorporateEntity:
      allOf:
        - $ref: '#/components/schemas/emailAttr'
        - type: object
          required:
            - name
          properties:
            name:
              type: string
              description: |-
                The name of the company
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                All other characters are rejected.
              example: SuperBubble Limited
            registrationNumber:
              type: string
              description: Registration number
              example: AAB2827377-837
            incorporationCountry:
              type: string
              description: Incorporation country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
            incorporationDate:
              type: string
              format: date
              description: Date of incorporation (YYYY-MM-DD)
              example: '2016-12-21'
      title: CorporateEntity
    ibanAttr:
      type: object
      required:
        - iban
      properties:
        iban:
          type: string
          description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
          example: GBXXCLJU04130729900988
    RequisiteInternalPaymentEntity:
      allOf:
        - $ref: '#/components/schemas/ibanAttr'
    PayoutInternalPaymentEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutBaseEntity'
        - type: object
          required:
            - payee
            - payeeRequisite
          properties:
            payer:
              $ref: '#/components/schemas/PartnerInternalPaymentEntity'
              description: The optional data of the payer.
            payee:
              type: object
              oneOf:
                - type: object
                  title: Individual
                  description: Personal data of individual customer
                  required:
                    - individual
                  properties:
                    individual:
                      $ref: '#/components/schemas/IndividualInternalPaymentEntity'
                      description: Personal data of individual customer
                - type: object
                  title: Corporate
                  description: Registration data of the company
                  required:
                    - corporate
                  properties:
                    corporate:
                      $ref: '#/components/schemas/CorporateEntity'
                      description: Registration data of the company
              description: |-
                One of: individual, corporate.
                The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
              description: The payer banking details
      title: PayoutInternalPaymentEntity
    requestReferenceAttr:
      type: object
      required:
        - requestReference
      properties:
        requestReference:
          type: string
          format: uuid
          description: Reference to the http request. Each response will have unique requestReference
          example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    orderReferenceAttr:
      type: object
      required:
        - orderReference
      properties:
        orderReference:
          type: string
          format: uuid
          description: Reference to the order
          example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    createdAtAttr:
      type: object
      required:
        - createdAt
      properties:
        createdAt:
          type: string
          format: date-time
          description: Timestamp when order was created according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          example: '2017-09-05T10:37:15+00:00'
    ErrorMessageEntity:
      allOf:
        - type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              description: The code of the message
              example: '008'
            message:
              type: string
              description: The description of the current status
              example: Incorrect recipient details
            details:
              type: string
              description: Any additional details
              example: Please check account number.
      title: ErrorMessageEntity
    messagesAttr:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/ErrorMessageEntity'
          description: List of informative messages related to processing of the transaction. Message fields are described below. _(empty array if the status of order isn't **declined**)_
    customFormatAttr:
      type: object
      properties:
        customFormat:
          type: object
          additionalProperties: true
          description: Client customized format of response or notification message. Structure is client-specific and may be an empty object.
    CreateOrderResponseBaseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/createdAtAttr'
        - $ref: '#/components/schemas/messagesAttr'
        - $ref: '#/components/schemas/customFormatAttr'
    PayoutCreateOrderStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - created
            - pending
            - declined
            - settled
          x-enumDescriptions:
            created: The transaction was created
            pending: The transaction is pending
            declined: The transaction was declined
            settled: The transaction was settled
          description: Status of order
          example: created
    PayoutCreateOrderResponseEntity:
      allOf:
        - $ref: '#/components/schemas/CreateOrderResponseBaseEntity'
        - $ref: '#/components/schemas/PayoutCreateOrderStatusAttr'
        - type: object
          required:
            - subStatuses
          properties:
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of order
                  example: pending
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
      title: PayoutCreateOrderResponseEntity
    ApiErrorItemEntity:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code (e.g. 20, 007, 404, 016)
          example: '20'
        message:
          type: string
          description: Human-readable error message
          example: Authorization error
        details:
          type: string
          description: Additional details (optional)
          example: failed to apply authorization information
      title: ApiErrorItemEntity
    ApiErrorResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          required:
            - errors
          properties:
            errors:
              type: array
              items:
                $ref: '#/components/schemas/ApiErrorItemEntity'
              minItems: 1
      title: ApiErrorResponseEntity
    IndividualEuEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualNameSeparatedEntity'
      title: IndividualEuEntity
    PartnerEuEntity:
      allOf:
        - oneOf:
            - title: Individual
              type: object
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/IndividualEuEntity'
                  description: Personal data of individual customer
            - title: Corporate
              type: object
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/CorporateEntity'
                  description: Registration data of the company
        - $ref: '#/components/schemas/PartnerBaseEntity'
    bankSwiftCodeOptionalAttr:
      type: object
      properties:
        bankSwiftCode:
          type: string
          description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362)
          example: UBSWCHZH80A
    RequisiteBankEuEntity:
      allOf:
        - $ref: '#/components/schemas/ibanAttr'
        - $ref: '#/components/schemas/bankSwiftCodeOptionalAttr'
    PayoutBankTransferEuEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutBaseEntity'
        - type: object
          required:
            - payee
            - payeeRequisite
          properties:
            payer:
              $ref: '#/components/schemas/PartnerEuEntity'
              description: The data of the payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payee:
              $ref: '#/components/schemas/PartnerEuEntity'
              description: The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankEuEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankEuEntity'
              description: The payer banking details
      title: PayoutBankTransferEuEntity
    currencyGbpAttr:
      type: object
      required:
        - currency
      properties:
        currency:
          type: string
          description: The currency is applied to the client account balance (account currency). The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
          example: GBP
    PayoutGbpBaseMandatoryEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/currencyGbpAttr'
        - $ref: '#/components/schemas/amountAttrPayout'
        - $ref: '#/components/schemas/descriptionFullTextAttr'
        - type: object
          properties:
            ultimatePayer:
              $ref: '#/components/schemas/UltimatePartnerEntity'
              description: The data of the ultimate payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            ultimatePayee:
              $ref: '#/components/schemas/UltimatePartnerEntity'
              description: The data of the ultimate payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
    PayoutGbpBaseEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutGbpBaseMandatoryEntity'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/customInfoAttr'
    CorporateGbEntity:
      allOf:
        - $ref: '#/components/schemas/CorporateEntity'
        - type: object
          properties:
            legalEntityIdentifier:
              type: string
              description: Legal entity identifier (LEI) in case the entity is a financial institution according to [ISO 17442](https://en.wikipedia.org/wiki/Legal_Entity_Identifier)
              example: 222200WWAABBBCCCDD33
      title: CorporateGbEntity
    PartnerGbpEntity:
      allOf:
        - oneOf:
            - title: Individual
              type: object
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/IndividualEuEntity'
                  description: Personal data of individual customer
            - title: Corporate
              type: object
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/CorporateGbEntity'
                  description: Registration data of the company
        - $ref: '#/components/schemas/PartnerBaseEntity'
      title: PartnerGbpEntity
    PayoutBankTransferGbpEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutGbpBaseEntity'
        - type: object
          required:
            - payee
          properties:
            payer:
              $ref: '#/components/schemas/PartnerGbpEntity'
              description: The data of the payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payee:
              $ref: '#/components/schemas/PartnerGbpEntity'
              description: The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
      title: PayoutBankTransferGbpEntity
    sortCodeAttr:
      type: object
      required:
        - sortCode
      properties:
        sortCode:
          type: string
          description: The name given by both the British and Irish banking industry to the bank codes which are used to route money transfers between banks within their respective countries via their respective clearance organizations
          example: '000000'
    ukAccountNumberAttr:
      type: object
      required:
        - accountNumber
      properties:
        accountNumber:
          type: string
          description: The number of the bank account
          example: '11111111'
    ibanUkOptionalAttr:
      type: object
      properties:
        iban:
          type: string
          description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number).
          example: GB00CLJU00000011111111
    RequisiteBankGbpEntity:
      allOf:
        - $ref: '#/components/schemas/sortCodeAttr'
        - $ref: '#/components/schemas/ukAccountNumberAttr'
        - $ref: '#/components/schemas/ibanUkOptionalAttr'
    RequisiteBankFpsEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankGbpEntity'
        - $ref: '#/components/schemas/bankSwiftCodeOptionalAttr'
    PayoutBankTransferFpsEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutBankTransferGbpEntity'
        - type: object
          required:
            - payeeRequisite
          properties:
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankFpsEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankFpsEntity'
              description: The payer banking details
      title: PayoutBankTransferFpsEntity
    PayoutBankTransferFpsV2Entity:
      allOf:
        - $ref: '#/components/schemas/PayoutBankTransferGbpEntity'
        - type: object
          required:
            - payeeRequisite
          properties:
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankFpsEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
              description: The payer banking details
      title: PayoutBankTransferFpsV2Entity
    purposeCodeRequiredAttr:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          description: Underlying reason for the payment transaction, as published in an external [Category and Purpose Code list](https://74353748992479739.s3.amazonaws.com/files/category_and_purpose_codes.html).
          example: INTP
    categoryPurposeCodeRequiredAttr:
      type: object
      required:
        - category
      properties:
        category:
          type: string
          description: Broader nature of the payment, as published in an external [Category and Purpose Code list](https://74353748992479739.s3.amazonaws.com/files/category_and_purpose_codes.html).
          example: GP2P
    paymentPurposeCodesEntity:
      allOf:
        - $ref: '#/components/schemas/purposeCodeRequiredAttr'
        - $ref: '#/components/schemas/categoryPurposeCodeRequiredAttr'
    bankSwiftCodeRequiredAttr:
      type: object
      required:
        - bankSwiftCode
      properties:
        bankSwiftCode:
          type: string
          description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362)
          example: UBSWCHZH80A
    RequisiteBankChapsEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankGbpEntity'
        - $ref: '#/components/schemas/bankSwiftCodeRequiredAttr'
    PayoutBankTransferChapsEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutBankTransferGbpEntity'
        - type: object
          required:
            - paymentPurposeCodes
            - payeeRequisite
          properties:
            paymentPurposeCodes:
              $ref: '#/components/schemas/paymentPurposeCodesEntity'
              description: The appropriate Payment Category Code and Payment Purpose Code must be accurately selected, ensuring they reflect the intended purpose of each payment.
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankChapsEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankChapsEntity'
              description: The payer banking details
      title: PayoutBankTransferChapsEntity
    IndividualChapsEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualNameSeparatedEntity'
        - type: object
          required:
            - address
          properties:
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
      title: IndividualChapsEntity
    CorporateChapsEntity:
      allOf:
        - $ref: '#/components/schemas/CorporateGbEntity'
        - type: object
          required:
            - address
          properties:
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
      title: CorporateChapsEntity
    PartnerChapsEntity:
      allOf:
        - oneOf:
            - title: Individual
              type: object
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/IndividualChapsEntity'
                  description: Personal data of individual customer
            - title: Corporate
              type: object
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/CorporateChapsEntity'
                  description: Registration data of the company
        - $ref: '#/components/schemas/PartnerBaseEntity'
      title: PartnerChapsEntity
    PayoutBankTransferChapsV2Entity:
      allOf:
        - $ref: '#/components/schemas/PayoutGbpBaseEntity'
        - type: object
          required:
            - paymentPurposeCodes
            - payee
            - payeeRequisite
          properties:
            paymentPurposeCodes:
              $ref: '#/components/schemas/paymentPurposeCodesEntity'
              description: The appropriate Payment Category Code and Payment Purpose Code must be accurately selected, ensuring they reflect the intended purpose of each payment.
            payer:
              $ref: '#/components/schemas/PartnerGbpEntity'
              description: The data of the payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payee:
              $ref: '#/components/schemas/PartnerChapsEntity'
              description: The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankChapsEntity'
              description: The payee banking details
            payerRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
              description: The payer banking details
      title: PayoutBankTransferChapsV2Entity
    PartnerChapsCrossSchemeEntity:
      allOf:
        - oneOf:
            - title: Individual
              type: object
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/IndividualChapsEntity'
                  description: Personal data of individual customer
            - title: Corporate
              type: object
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/CorporateChapsEntity'
                  description: Registration data of the company
        - $ref: '#/components/schemas/PartnerBaseEntity'
      title: PartnerChapsCrossSchemeEntity
    PayoutBankTransferChapsCrossSchemeEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutGbpBaseEntity'
        - type: object
          required:
            - payeeRequisite
            - paymentPurposeCodes
            - payee
          properties:
            payeeRequisite:
              oneOf:
                - title: IBAN
                  type: object
                  required:
                    - iban
                  properties:
                    iban:
                      type: string
                      description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
                      example: GBXXCLJU04130729900988
                    bankSwiftCode:
                      type: string
                      description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362)
                      example: UBSWCHZH80A
                  description: The payee banking details
                - title: accountNumber
                  type: object
                  required:
                    - accountNumber
                    - bankSwiftCode
                  properties:
                    accountNumber:
                      type: string
                      description: The number of the account that the funds should be transferred to.
                      example: '40817810933000654321'
                    bankSwiftCode:
                      type: string
                      description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362)
                      example: UBSWCHZH80A
                  description: The payee banking details
              description: The payee banking details
            paymentPurposeCodes:
              $ref: '#/components/schemas/paymentPurposeCodesEntity'
              description: The appropriate Payment Category Code and Payment Purpose Code must be accurately selected, ensuring they reflect the intended purpose of each payment.
            payer:
              $ref: '#/components/schemas/PartnerGbpEntity'
              description: The data of the payer. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payee:
              $ref: '#/components/schemas/PartnerChapsCrossSchemeEntity'
              description: The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payerRequisite:
              type: object
              required:
                - iban
              properties:
                iban:
                  type: string
                  description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
                  example: GBXXCLJU04130729900988
              description: The payer banking details
      title: PayoutBankTransferChapsCrossSchemeEntity
    CorporateSwiftEntity:
      allOf:
        - $ref: '#/components/schemas/CorporateGbEntity'
        - type: object
          required:
            - address
          properties:
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address. `state` is mandatory when sending CAD payments.
      title: CorporateSwiftEntity
    PartnerSwiftOnlyCorporateEntity:
      allOf:
        - type: object
          required:
            - corporate
          properties:
            corporate:
              $ref: '#/components/schemas/CorporateSwiftEntity'
              description: Registration data of the company. For more detail see CorporateSwiftEntity.
        - $ref: '#/components/schemas/PartnerBaseEntity'
      title: PartnerSwiftOnlyCorporateEntity
    SwiftInstitutionIdentificationEntity:
      type: object
      properties:
        bankSwiftCode:
          type: string
          description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362). Either **bankSwiftCode** or **clearingSystemIdCode** together with **memberId** must be provided.
          example: UBSWCHZH80A
        clearingSystemIdCode:
          type: string
          enum:
            - ABA
            - CACPA
          x-enumDescriptions:
            ABA: The domestic bank routing number used in the United States (American Bankers Association routing number).
            CACPA: The domestic bank routing number used in Canada (Canadian Payments Association routing number).
          description: Code of the banking clearing system used to identify the bank. If provided, **memberId** must also be supplied. Mandatory when sending CAD payments to BICs BNDCCAMMXXX, CIBCCATTXXX, BLCMCAMMXXX, MFCTCATTXXX, CCDQCAMMXXX, MRCUCA21XXX, SBOSUS33XXX.
          example: ABA
        memberId:
          type: string
          description: Bank identifier within the clearing system specified in **clearingSystemIdCode**.
          example: '62116001'
        name:
          type: string
          description: Bank name
          example: Bank of America
      title: SwiftInstitutionIdentificationEntity
    SwiftInstitutionEntity:
      allOf:
        - $ref: '#/components/schemas/SwiftInstitutionIdentificationEntity'
        - type: object
          required:
            - name
            - address
          properties:
            address:
              $ref: '#/components/schemas/AddressEntity'
      title: SwiftInstitutionEntity
    SwiftIntermediaryInstitutionEntity:
      allOf:
        - $ref: '#/components/schemas/SwiftInstitutionIdentificationEntity'
        - type: object
          required:
            - address
          properties:
            name:
              type: string
              description: Intermediary bank name
              example: Bank of America
            address:
              type: object
              required:
                - country
              properties:
                country:
                  type: string
                  description: The code of country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                  example: IT
                state:
                  type: string
                  description: |-
                    The state
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `. / , ( ) ' - #`.
                    All other characters are rejected. Value must start with a letter or digit.
                zip:
                  type: string
                  description: Zip code. Validation of format according to country.
                  example: '123455'
                city:
                  type: string
                  description: City name
                  example: Rome
                street:
                  type: string
                  description: Street name
                  example: 12 Tourin
          description: Intermediary institution information
      title: SwiftIntermediaryInstitutionEntity
    ReceiverRequisiteBankSwiftEntity:
      allOf:
        - oneOf:
            - title: IBAN
              type: object
              required:
                - iban
              properties:
                iban:
                  type: string
                  description: The number of the account that the funds should be transferred to according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number). Can be specified for all currencies.
                  example: DE89370400440532013000
            - title: accountNumber
              type: object
              required:
                - accountNumber
              properties:
                accountNumber:
                  type: string
                  description: The number of the account that the funds should be transferred to. Supported for USD and CAD transactions only.
                  example: '299009881'
        - type: object
          required:
            - institution
          properties:
            institution:
              $ref: '#/components/schemas/SwiftInstitutionEntity'
            intermediaryInstitution:
              $ref: '#/components/schemas/SwiftIntermediaryInstitutionEntity'
              description: Intermediary institution information
      title: ReceiverRequisiteBankSwiftEntity
    PayoutBankTransferSwiftEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutGbpBaseEntity'
        - type: object
          required:
            - currency
            - amount
            - payee
            - payeeRequisite
          properties:
            currency:
              type: string
              enum:
                - EUR
                - USD
                - CAD
                - CHF
                - CZK
                - DKK
                - HUF
                - NOK
                - PLN
                - RON
                - SEK
              description: The currency applied to the client's account balance (account currency). The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217).
              example: EUR
            amount:
              type: number
              description: The amount that will be sent to the recipient's account. HUF is a zero-decimal currency; all payment amounts must be submitted as rounded whole numbers to avoid processing errors.
              example: 210.55
            paymentPurposeCodes:
              $ref: '#/components/schemas/paymentPurposeCodesEntity'
              description: The appropriate Payment Category Code and Payment Purpose Code must be accurately selected, ensuring they reflect the intended purpose of each payment.
            payer:
              $ref: '#/components/schemas/PartnerSwiftOnlyCorporateEntity'
              description: The data of the payer. SWIFT payouts accept corporate partners only.
            payerRequisite:
              type: object
              properties:
                iban:
                  type: string
                  description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
                  example: GBXXCLJU04130729900988
              description: The payer banking details
            payee:
              $ref: '#/components/schemas/PartnerSwiftOnlyCorporateEntity'
              description: The data of the payee. SWIFT payouts accept corporate partners only.
            payeeRequisite:
              $ref: '#/components/schemas/ReceiverRequisiteBankSwiftEntity'
              description: The payee banking details
      title: PayoutBankTransferSwiftEntity
    referenceTypeParamAttr:
      type: string
      enum:
        - clientOrder
        - orderReference
      x-enumDescriptions:
        clientOrder: Client-provided order identifier
        orderReference: System-generated UUID reference
      description: |
        Type of lookup key.

        Use `clientOrder` when `reference` contains your own order ID.
        Use `orderReference` when `reference` contains the Clear Junction UUID.
      example: orderReference
    referenceParamAttr:
      type: string
      minLength: 1
      description: |
        Lookup value paired with `referenceType`.

        If `referenceType=orderReference`, this value must be a UUID.
        Example: `12d603fa-4d0b-4fec-a9b0-cc3114da134e`

        If `referenceType=clientOrder`, this value must be your client order ID.
        Example: `ORDER-2026-0001`
      example: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    operTimestampAttr:
      type: object
      required:
        - operTimestamp
      properties:
        operTimestamp:
          type: string
          format: date-time
          description: The timestamp when the transaction status was last changed according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          example: '2017-09-05T10:37:15+00:00'
    amountAttr:
      type: object
      required:
        - amount
      properties:
        amount:
          type: number
          description: The amount applied to the client's account balance in the account currency.
          example: 210.55
    operationCurrencyAttr:
      type: object
      required:
        - operationCurrency
      properties:
        operationCurrency:
          type: string
          description: The currency stated in the payment transaction of the relevant payment service provider (sending bank, acquiring institution etc). Literal code according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217).
          pattern: ^[A-Z]{3}$
          example: EUR
    operationAmountAttr:
      type: object
      required:
        - operationAmount
      properties:
        operationAmount:
          type: number
          description: The amount stated in the payment transaction of the relevant payment service provider (sending bank, acquiring institution etc) in the currency of that payment.
          example: 230.55
    TransactionMinimalBaseEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/operTimestampAttr'
        - $ref: '#/components/schemas/messagesAttr'
        - $ref: '#/components/schemas/currencyEurAttr'
        - $ref: '#/components/schemas/amountAttr'
        - $ref: '#/components/schemas/operationCurrencyAttr'
        - $ref: '#/components/schemas/operationAmountAttr'
    productNameAttr:
      type: object
      properties:
        productName:
          type: string
          description: The name of the product
          example: depricated
    siteAddressAttr:
      type: object
      properties:
        siteAddress:
          type:
            - string
            - 'null'
          format: uri
          description: The Url of the client's site
          example: null
    labelAttr:
      type: object
      properties:
        label:
          type:
            - string
            - 'null'
          description: Any data that can be useful for identification order
          example: null
    valuedAtAttr:
      type: object
      required:
        - valuedAt
      properties:
        valuedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: The timestamp for which the account holder can use the funds for incoming transfers or the timestamp for which the funds were charged to the account for the outgoing transfer. The timestamp is defined according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). The value can be null if the transfer is not finished.
          example: '2018-03-26T10:36:26+00:00'
    TransactionStatusBaseEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionMinimalBaseEntity'
        - $ref: '#/components/schemas/productNameAttr'
        - $ref: '#/components/schemas/siteAddressAttr'
        - $ref: '#/components/schemas/labelAttr'
        - $ref: '#/components/schemas/customInfoAttr'
        - $ref: '#/components/schemas/customFormatAttr'
        - $ref: '#/components/schemas/valuedAtAttr'
    PayoutOrderStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - created
            - cancelled
            - pending
            - declined
            - settled
          x-enumDescriptions:
            created: The transaction was created
            cancelled: The transaction was cancelled
            pending: The transaction is pending
            declined: The transaction was declined
          description: Status of order
          example: pending
    payeeNameAttr:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Payee name
          example: Peterson Julie
    SwiftStatusInstitutionEntity:
      allOf:
        - $ref: '#/components/schemas/SwiftInstitutionIdentificationEntity'
        - type: object
          properties:
            address:
              $ref: '#/components/schemas/AddressEntity'
      title: SwiftStatusInstitutionEntity
    SwiftStatusPayeeRequisiteEntity:
      allOf:
        - $ref: '#/components/schemas/payeeNameAttr'
        - $ref: '#/components/schemas/ibanUkOptionalAttr'
        - type: object
          properties:
            accountNumber:
              type: string
              description: The number of the bank account
              example: '11111111'
            institution:
              $ref: '#/components/schemas/SwiftStatusInstitutionEntity'
            intermediaryInstitution:
              $ref: '#/components/schemas/SwiftStatusInstitutionEntity'
              description: Intermediary institution information
      title: SwiftStatusPayeeRequisiteEntity
    payerNameAttr:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Payer name
          example: Peterson Julie
    SwiftStatusPayerRequisiteEntity:
      allOf:
        - $ref: '#/components/schemas/payerNameAttr'
        - $ref: '#/components/schemas/ibanUkOptionalAttr'
        - type: object
          properties:
            accountNumber:
              type: string
              description: The number of the bank account
              example: '11111111'
            institution:
              $ref: '#/components/schemas/SwiftStatusInstitutionEntity'
            intermediaryInstitution:
              $ref: '#/components/schemas/SwiftStatusInstitutionEntity'
              description: Intermediary institution information
      title: SwiftStatusPayerRequisiteEntity
    PaymentDetailBaseEntity:
      type: object
      required:
        - description
        - crossScheme
      properties:
        description:
          type: string
          description: Payment description.
          example: Birthday present
        crossScheme:
          type: boolean
          description: Parameter indicating that a transaction traverses multiple payment schemes
          example: false
    BankTransferSwiftPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
            - payeeRequisite
            - payerRequisite
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferSwift
            payeeRequisite:
              $ref: '#/components/schemas/SwiftStatusPayeeRequisiteEntity'
              description: The payee requisites
            payerRequisite:
              $ref: '#/components/schemas/SwiftStatusPayerRequisiteEntity'
              description: The payer requisites
        - $ref: '#/components/schemas/PaymentDetailBaseEntity'
      title: Swift Payment Detail
    RequisiteBankEuWithPayeeNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankEuEntity'
        - $ref: '#/components/schemas/payeeNameAttr'
    RequisiteBankEuWithPayerNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankEuEntity'
        - $ref: '#/components/schemas/payerNameAttr'
    BankTransferEuPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
            - payeeRequisite
            - payerRequisite
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferEu
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankEuWithPayeeNameEntity'
              description: The payee requisites
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankEuWithPayerNameEntity'
              description: The payer requisites
        - $ref: '#/components/schemas/PaymentDetailBaseEntity'
      title: Eu Payment Detail
    BankTransferSepaInstPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
            - payeeRequisite
            - payerRequisite
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferSepaInst
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankEuWithPayeeNameEntity'
              description: The payee requisites
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankEuWithPayerNameEntity'
              description: The payer requisites
        - $ref: '#/components/schemas/PaymentDetailBaseEntity'
      title: BankTransferSepaInstPaymentDetailEntity
    RequisiteInternalPaymentWithPayeeNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
        - $ref: '#/components/schemas/payeeNameAttr'
    RequisiteInternalPaymentWithPayerNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteInternalPaymentEntity'
        - $ref: '#/components/schemas/payerNameAttr'
    InternalPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
            - payeeRequisite
            - payerRequisite
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: InternalPayment
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentWithPayeeNameEntity'
              description: The payee requisites
            payerRequisite:
              $ref: '#/components/schemas/RequisiteInternalPaymentWithPayerNameEntity'
              description: The payer requisites
        - $ref: '#/components/schemas/PaymentDetailBaseEntity'
      title: Internal Payment Detail
    RequisiteBankGbpWithPayeeNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankGbpEntity'
        - $ref: '#/components/schemas/payeeNameAttr'
    RequisiteBankGbpWithPayerNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankGbpEntity'
        - $ref: '#/components/schemas/payerNameAttr'
    BankTransferUkPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - payeeRequisite
            - payerRequisite
          properties:
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankGbpWithPayeeNameEntity'
              description: The payee requisites
            payerRequisite:
              $ref: '#/components/schemas/RequisiteBankGbpWithPayerNameEntity'
              description: The payer requisites
        - $ref: '#/components/schemas/PaymentDetailBaseEntity'
    BankTransferUkDefaultPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferGbp
        - $ref: '#/components/schemas/BankTransferUkPaymentDetailEntity'
      title: General UK Payment Detail
    BankTransferUkFpsPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferFps
        - $ref: '#/components/schemas/BankTransferUkPaymentDetailEntity'
      title: FPS Payment Detail
    BankTransferUkChapsPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferChaps
        - $ref: '#/components/schemas/BankTransferUkPaymentDetailEntity'
      title: CHAPS Payment Detail
    RequisiteBankChapsCrossSchemeEntity:
      allOf:
        - $ref: '#/components/schemas/ibanAttr'
        - $ref: '#/components/schemas/bankSwiftCodeOptionalAttr'
    RequisiteBankChapsCrossSchemeWithPayeeNameEntity:
      allOf:
        - $ref: '#/components/schemas/RequisiteBankChapsCrossSchemeEntity'
        - $ref: '#/components/schemas/payeeNameAttr'
    BankTransferUkChapsCrossSchemePaymentDetailEntity:
      allOf:
        - $ref: '#/components/schemas/BankTransferUkPaymentDetailEntity'
        - type: object
          required:
            - crossScheme
            - paymentMethod
            - payeeRequisite
          properties:
            crossScheme:
              type: boolean
              description: Parameter indicating that a transaction traverses multiple payment schemes
              example: true
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferChaps
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankChapsCrossSchemeWithPayeeNameEntity'
              description: The payee requisites
      title: CHAPS Cross-Scheme Payment Detail
    BankTransferUkBacsPaymentDetailEntity:
      allOf:
        - type: object
          required:
            - paymentMethod
          properties:
            paymentMethod:
              type: string
              description: PaymentMethod Type
              example: BankTransferBacs
        - $ref: '#/components/schemas/BankTransferUkPaymentDetailEntity'
      title: BACS Payment Detail
    PayoutStatusEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionStatusBaseEntity'
        - $ref: '#/components/schemas/PayoutOrderStatusAttr'
        - type: object
          required:
            - transactionType
            - subStatuses
            - paymentDetails
          properties:
            transactionType:
              type: string
              description: Transaction Type. Fixed value 'Payout'
              example: Payout
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of order
                  example: pending
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
            payer:
              type: object
              properties:
                walletUuid:
                  type: string
                  format: uuid
                  description: Client/Customer wallet UUID. (It is used in payment scenarios. For details please consult with your integration manager.)
                  example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
                clientCustomerId:
                  type: string
                  description: The ID of the Customer in the Client's system.
                  example: 2983ght938
            paymentDetails:
              anyOf:
                - title: Swift
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSwiftPaymentDetailEntity'
                - title: SEPA CT
                  allOf:
                    - $ref: '#/components/schemas/BankTransferEuPaymentDetailEntity'
                - title: SEPA Instant
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSepaInstPaymentDetailEntity'
                - title: Internal
                  allOf:
                    - $ref: '#/components/schemas/InternalPaymentDetailEntity'
                - title: UK Transfer
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkDefaultPaymentDetailEntity'
                - title: FPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkFpsPaymentDetailEntity'
                - title: CHAPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsPaymentDetailEntity'
                - title: CHAPS Cross-Scheme
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsCrossSchemePaymentDetailEntity'
                - title: BACS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkBacsPaymentDetailEntity'
              description: Additional payment details. Structure depends on the Payment Method
      title: PayoutStatusEntity
    PayoutGetStatusResponseEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: PayoutGetStatusResponseEntity
    PayinOrderStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - created
            - expired
            - canceled
            - rejected
            - returned
            - pending
            - authorized
            - captured
            - declined
            - settled
          x-enumDescriptions:
            created: The transaction was created
            expired: The transaction was expired
            canceled: The transaction was canceled
            rejected: The transaction was rejected
            returned: The transaction was returned
            pending: The transaction is pending
            authorized: The transaction was authorized
            captured: The transaction was captured
            declined: The transaction was declined
            settled: The transaction was settled
          description: Status of order
          example: pending
    PayinStatusEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionStatusBaseEntity'
        - $ref: '#/components/schemas/PayinOrderStatusAttr'
        - type: object
          required:
            - transactionType
            - subStatuses
            - paymentDetails
          properties:
            transactionType:
              type: string
              description: Transaction Type. Fixed value 'Payin'
              example: Payin
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of operation
                  example: captured
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
            payer:
              type: object
              properties:
                address:
                  type: object
                  properties:
                    addressOneString:
                      type: string
                      description: The address in unstructured text view.
                      example: IT, DSS, 123455, Rome, 12 Tourin
                    country:
                      type: string
                      description: The code of country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                      example: IT
                  description: Registration address
              description: The data of the payer (if it presents in a payment data)
            payee:
              type: object
              properties:
                walletUuid:
                  type: string
                  format: uuid
                  description: Client/Customer wallet UUID. (It is used in payment scenarios. For details please consult with your integration manager.)
                  example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
                clientCustomerId:
                  type: string
                  description: The ID of the Customer in the Client's system.
                  example: 2983ght938
            paymentDetails:
              anyOf:
                - title: Swift
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSwiftPaymentDetailEntity'
                - title: SEPA CT
                  allOf:
                    - $ref: '#/components/schemas/BankTransferEuPaymentDetailEntity'
                - title: SEPA Instant
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSepaInstPaymentDetailEntity'
                - title: Internal
                  allOf:
                    - $ref: '#/components/schemas/InternalPaymentDetailEntity'
                - title: UK Transfer
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkDefaultPaymentDetailEntity'
                - title: FPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkFpsPaymentDetailEntity'
                - title: CHAPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsPaymentDetailEntity'
                - title: CHAPS Cross-Scheme
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsCrossSchemePaymentDetailEntity'
                - title: BACS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkBacsPaymentDetailEntity'
              description: Additional payment details. Structure depends on the Payment Method
      title: PayinStatusEntity
    PayinGetStatusResponseEntity:
      allOf:
        - $ref: '#/components/schemas/PayinStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: PayinGetStatusResponseEntity
    relatedOrderReferenceAttr:
      type: object
      required:
        - relatedOrderReference
      properties:
        relatedOrderReference:
          type: string
          format: uuid
          description: Reference to the original order
          example: 8a934717-72ed-45a2-9730-393a3f04bdf7
    descriptionRefundFullTextAttr:
      type: object
      required:
        - description
      properties:
        description:
          type: string
          description: |-
            Payment description. Maximum length is 120 characters.
            This field is required but may be an empty string in scheme-specific scenarios.
            Allowed characters: letters (`A-Z`, `a-z`), digits (`0-9`), space, and `/ - ? : ( ) . , ' +`.
            Any other characters are not accepted.
          example: Birthday present
    RefundRequestEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/relatedOrderReferenceAttr'
        - $ref: '#/components/schemas/descriptionRefundFullTextAttr'
      title: RefundRequestEntity
    RefundStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - created
            - pending
            - declined
            - captured
          x-enumDescriptions:
            created: The transaction was created
            pending: The transaction is pending
            declined: The transaction was declined
            captured: The transaction was captured
          description: Status of order
          example: created
    RefundResponseEntity:
      allOf:
        - $ref: '#/components/schemas/CreateOrderResponseBaseEntity'
        - $ref: '#/components/schemas/relatedOrderReferenceAttr'
        - $ref: '#/components/schemas/RefundStatusAttr'
        - type: object
          required:
            - subStatuses
          properties:
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of operation
                  example: created
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
      title: RefundResponseEntity
    PaymentDetailsBaseEntity:
      type: object
      required:
        - description
      properties:
        description:
          type: string
          description: Payment description.
          example: Birthday present
    RefundStatusEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionStatusBaseEntity'
        - $ref: '#/components/schemas/relatedOrderReferenceAttr'
        - $ref: '#/components/schemas/RefundStatusAttr'
        - type: object
          required:
            - subStatuses
            - transactionType
            - paymentDetails
          properties:
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of operation
                  example: created
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
            transactionType:
              type: string
              description: Transaction Type. Fixed value 'Refund'
              example: Refund
            paymentDetails:
              $ref: '#/components/schemas/PaymentDetailsBaseEntity'
              description: Additional payment details.
      title: RefundStatusEntity
    RefundGetStatusResponseEntity:
      allOf:
        - $ref: '#/components/schemas/RefundStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: RefundGetStatusResponseEntity
    InstantFxRateRequestEntity:
      type: object
      required:
        - sellCurrency
        - buyCurrency
      properties:
        sellCurrency:
          type: string
          description: Base currency. The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
          example: EUR
        buyCurrency:
          type: string
          description: Target currency. The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
          example: USD
      title: InstantFxRateRequestEntity
    InstantFxRateQuoteEntity:
      type: object
      required:
        - rateUuid
        - quote
        - sellCurrency
        - buyCurrency
        - expirationTimestamp
      properties:
        rateUuid:
          type: string
          format: uuid
          description: A unique rate uuid
          example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        quote:
          type: string
          description: Quote for convertation
          example: '1.1810'
        sellCurrency:
          type: string
          description: Base currency
          example: EUR
        buyCurrency:
          type: string
          description: Target currency
          example: USD
        expirationTimestamp:
          type: string
          format: date-time
          description: The timestamp when the rate would be expired according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          example: '2017-09-05T10:37:15+00:00'
      title: InstantFxRateQuoteEntity
    InstantFxRateResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          required:
            - quotes
          properties:
            quotes:
              type: array
              items:
                $ref: '#/components/schemas/InstantFxRateQuoteEntity'
              description: Array of FX rate quotes
      title: InstantFxRateResponseEntity
    InstantFxTransferRequestEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - type: object
          required:
            - sellAmount
            - buyAmount
            - sellCurrency
            - buyCurrency
            - rateUuid
          properties:
            sellAmount:
              type: number
              description: Amount in base currency
              example: 503
            buyAmount:
              type: number
              description: Amount in target currency
              example: 434.14
            sellCurrency:
              type: string
              description: Base currency. The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
              example: EUR
            buyCurrency:
              type: string
              description: Target currency. The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
              example: GBP
            rateUuid:
              type: string
              format: uuid
              description: A unique rate uuid
              example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
      title: InstantFxTransferRequestEntity
    InstantFxTransferResponseEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/operTimestampAttr'
        - type: object
          required:
            - sellAmount
            - sellCurrency
            - buyAmount
            - buyCurrency
            - status
            - rateUuid
            - quote
          properties:
            sellAmount:
              type: number
              description: Amount in base currency
              example: 503
            sellCurrency:
              type: string
              description: Base currency
              example: EUR
            buyAmount:
              type: number
              description: Amount in target currency
              example: 434.14
            buyCurrency:
              type: string
              description: Target currency
              example: GBP
            status:
              type: string
              enum:
                - created
                - pending
                - declined
                - captured
              x-enumDescriptions:
                created: The transaction was created
                pending: The transaction is pending
                declined: The transaction was declined
                captured: The transaction was captured
              description: Status of order
              example: pending
            rateUuid:
              type: string
              format: uuid
              description: A unique rate uuid
              example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
            quote:
              type: string
              description: Quote for convertation
              example: '0.8631'
      title: InstantFxTransferResponseEntity
    clientOnlyWalletUuidOptionalAttr:
      type: object
      properties:
        walletUuid:
          type: string
          format: uuid
          description: Client wallet UUID. (It is used in certain scenarios. For details please consult with your integration manager.)
          example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
    ibansGroupOptionalAttr:
      type: object
      properties:
        ibansGroup:
          type: string
          description: Fixed value 'DEFAULT'. It is used in certain integration scenarios. For details please consult with your integration manager
          example: DEFAULT
    ibanCountryOptionalAttr:
      type: object
      properties:
        ibanCountry:
          type: string
          description: Fixed value 'GB'. (It is used in certain integration scenarios. For details please consult with your integration manager)
          example: GB
    AllocateIbanAsyncRequestSharedAttrs:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/clientOnlyWalletUuidOptionalAttr'
        - $ref: '#/components/schemas/ibansGroupOptionalAttr'
        - $ref: '#/components/schemas/ibanCountryOptionalAttr'
        - $ref: '#/components/schemas/customInfoAttr'
      title: AllocateIbanAsyncRequestSharedAttrs
    AllocateIbanV3IndividualEntity:
      allOf:
        - $ref: '#/components/schemas/IndividualNameSeparatedEntity'
        - type: object
          required:
            - birthDate
            - address
            - document
          properties:
            birthDate:
              type: string
              format: date
              description: Birthdate (YYYY-MM-DD). At least 16 years old. Not more than 85 years old (84+364 days)
              example: '1999-09-29'
            birthCountry:
              type: string
              description: The code of the country in which the person was born according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            taxNumber:
              type: string
              description: Individual tax number **Required if taxCountry is US**
              example: '7728168971'
            taxCountry:
              type: string
              description: Individual tax country code according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
            document:
              type: object
              required:
                - expirationDate
              properties:
                issuedBy:
                  type: string
                  description: |-
                    The name of the authority that has issued the document
                    Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                    All other characters are rejected.
                  example: Ministry of Interior
                expirationDate:
                  type: string
                  format: date
                  description: The date when the document will be expired \(YYYY-MM-DD\). The minimum term is today + one month
                  example: '2026-12-20'
              description: The identification document
      title: AllocateIbanV3IndividualEntity
    CorporateEntityExtended:
      allOf:
        - $ref: '#/components/schemas/emailAttr'
        - $ref: '#/components/schemas/phoneAttr'
        - type: object
          required:
            - name
            - registrationNumber
            - incorporationCountry
            - address
            - incorporationDate
            - ultimateBeneficialOwner
            - tradingWebsite
            - otherDetails
            - fundFlows
          properties:
            name:
              type: string
              description: |-
                The name of the company
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                All other characters are rejected.
              example: SuperBubble Limited
            registrationNumber:
              type: string
              description: Registration number
              example: AAB2827377-837
            incorporationCountry:
              type: string
              description: Incorporation country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
            incorporationDate:
              type: string
              format: date
              description: Date of incorporation (YYYY-MM-DD)
              example: '2016-12-21'
            taxCountry:
              type: string
              description: Company tax country code according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            taxNumber:
              type: string
              description: Company tax number **Required if taxCountry is US *
              example: '7728168971'
            industryType:
              type: string
              description: The type of industry the company operates in
              example: Electronics Distributor
            publicallyTraded:
              type: boolean
              description: The company owned by shareholders who are members of the general public and trade shares publicly, as on the stock market.
              example: true
            stockSymbol:
              type: string
              description: Stock market symbol
              example: APA
            stockExchange:
              type: string
              description: The market in which securities are bought and sold Update
              example: NYSE
            ultimateBeneficialOwner:
              type: array
              items:
                type: object
                required:
                  - lastName
                  - firstName
                  - birthDate
                  - ownership
                  - document
                  - beneficialOwnerPep
                  - beneficialOwnerPepDetails
                  - usaTaxResidency
                  - giinNumber
                properties:
                  lastName:
                    type: string
                    description: |-
                      The lastName of the ultimate beneficial (latin spelling), according to the document.
                      Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                      All other characters are rejected.
                    example: Ivanov
                  firstName:
                    type: string
                    description: |-
                      The firstName of the ultimate beneficial (latin spelling), according to the document.
                      Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                      All other characters are rejected.
                    example: Ioan
                  birthDate:
                    type: string
                    format: date
                    description: The birthday in format yyyy-MM-dd. At least 16 years old. Not more than 85 years old (84+364 days)
                    example: '1990-01-12'
                  ownership:
                    type: number
                    description: BO ownership in corporate customer
                    example: 100
                  document:
                    type: object
                    required:
                      - expirationDate
                    properties:
                      type:
                        type: string
                        description: Type of document
                      number:
                        type: string
                        description: The number of the document
                        example: AB1000222
                      expirationDate:
                        type: string
                        format: date
                        description: The date when the document will be expired (YYYY-MM-DD). The minimum term is today + one month
                        example: '2026-12-20'
                  beneficialOwnerPep:
                    type: boolean
                    description: Is the Beneficial Owner a Politically Exposed Person [PEP]?
                    example: true
                  beneficialOwnerPepDetails:
                    type: string
                    description: If YES, details
                    example: BO is PEP relative of the vice-president of the USA
                  usaTaxResidency:
                    type: boolean
                    description: '`Is the BO a USA Tax Resident?`'
                    example: true
                  giinNumber:
                    type: string
                    description: '`If YES, GIIN Number`'
            tradingWebsite:
              type: string
              format: uri
              description: The Url of the client''s site
              example: https://www.geotriangle.com
            expectedTurnover:
              type: number
              description: expected payin turnover per month in EUR
              example: 1000000
            beneficialLegalEntity:
              type: string
              description: Information about the ultimate beneficial owner
              example: Solomon S.A. owns Michigan Ltd. 100%, Sequoia S.L owns Solomon S.A. 100%, Ivanov Ioan owns Sequoia S.L. 100%
            otherDetails:
              type: object
              required:
                - businessActivity
              properties:
                businessActivity:
                  type: string
                  description: Business activity description
                  example: Michigan Ltd. is one of the leading developers of real estate on Manhattan island.
                relevantInformation:
                  type: string
                  description: Any information client wants to share with CJ
                  example: Michigan Ltd. enters to TOP-500 of Forbes.
                negativeInformation:
                  type: string
                  description: Any adverse information about customer/related person/business partner
                  example: none
            businessPartners:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: |-
                      Business partner name
                      Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                      All other characters are rejected.
                  incorporationCountryCode:
                    type: string
                    description: Country of registration
                  plannedTransfersQuantityMonth:
                    type: number
                    description: Planned number of transactions per month with business partner
                  plannedTransfersEurVolumeMonth:
                    type: number
                    description: Planned volume of transactions with business partner (eqv. EUR)
                  additionalInfo:
                    type: string
                    description: Additional information
                  basisPartnership:
                    type: string
                    description: Basis for partnership
                  website:
                    type: string
                    description: Web page
              description: details for customer's business partners
            fundFlows:
              type: object
              required:
                - plannedIncTransfersQuantity
                - plannedIncTransfersEurVolume
                - plannedOutTransfersQuantity
                - plannedOutTransfersEurVolume
              properties:
                plannedIncTransfersQuantity:
                  type: number
                  description: Planned number of incoming transactions
                plannedIncTransfersEurVolume:
                  type: number
                  description: Planned volume of incoming transactions (eqv. EUR)
                plannedOutTransfersQuantity:
                  type: number
                  description: Planned number of outbound transactions
                plannedOutTransfersEurVolume:
                  type: number
                  description: Planned volume of outbound transactions (eqv. EUR)
              description: details for customer's fund flows
            complianceEvaluation:
              type: object
              properties:
                amlRiskLevel:
                  type: string
                  description: AML Risk level
                reviewPeriodicity:
                  type: string
                  description: Frequency of periodic review
                  example: 1 per year
                appliedLimits:
                  type: string
                  description: Applied limits
                  example: none
                additionalInfo:
                  type: string
                  description: Additional information
            customOptions:
              type: object
              properties:
                myExampleParam1:
                  type: string
                  example: exampleValue1
                myExampleObject1:
                  type: object
                  properties:
                    myExampleParam2:
                      type: string
                      example: exampleValue2
                    myExampleParam3:
                      type: string
                      example: exampleValue
                myExampleArray1:
                  type: array
                  items:
                    type: object
                myExampleArray2:
                  type: array
                  items:
                    type: object
                    properties:
                      myExampleParam4:
                        type: string
                        example: exampleValue4
                      myExampleParam5:
                        type: string
                        example: exampleValue5
              description: Custom information that can be provided by the Client
    AllocateIbanV3RegistrantEntity:
      type: object
      required:
        - clientCustomerId
      properties:
        clientCustomerId:
          type: string
          description: The ID of the Customer in the Client's system.
          example: 2983ght938
      oneOf:
        - type: object
          title: Individual
          description: Personal data of individual customer
          required:
            - individual
          properties:
            individual:
              $ref: '#/components/schemas/AllocateIbanV3IndividualEntity'
              description: Personal data of individual customer
        - type: object
          title: Corporate
          description: Registration data of the company
          required:
            - corporate
          properties:
            corporate:
              $ref: '#/components/schemas/CorporateEntityExtended'
              description: Registration data of the company
      description: 'One of: individual, corporate.'
    AllocateIbanV3AsyncRequestEntity:
      allOf:
        - $ref: '#/components/schemas/AllocateIbanAsyncRequestSharedAttrs'
        - type: object
          required:
            - registrant
          properties:
            registrant:
              $ref: '#/components/schemas/AllocateIbanV3RegistrantEntity'
      title: AllocateIbanV3AsyncRequestEntity
    AllocateResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - type: object
          required:
            - status
          properties:
            status:
              type: string
              description: Status of operation. Accepted for processing.
              example: accepted
      title: AllocateResponseEntity
    allocateAsyncStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - accepted
            - pending
            - allocated
            - declined
          x-enumDescriptions:
            accepted: The allocation was accepted
            pending: The allocation is pending
            allocated: The allocation was allocated
            declined: The allocation was declined
          description: Status of operation.
          example: allocated
    IbanAllocationErrorMessageEntity:
      allOf:
        - type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              description: The code of the message
              example: '008'
            message:
              type: string
              description: The description of the current status
              example: Invalid firstName
            details:
              type: string
              description: Any additional details
              example: Please check firstName.
      title: IbanAllocationErrorMessageEntity
    allocateAsyncMessagesAttr:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/IbanAllocationErrorMessageEntity'
          description: List of informative messages related to processing of allocation order. Message fields are described below. _(empty array if the status of order isn't **failed**)_
    AllocateStatusEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/allocateAsyncStatusAttr'
        - $ref: '#/components/schemas/allocateAsyncMessagesAttr'
    AllocateIbanAsyncStatusEntity:
      allOf:
        - $ref: '#/components/schemas/AllocateStatusEntity'
        - type: object
          properties:
            iban:
              type: string
              description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number). _Empty string if status of allocation order isn't **allocated**_
              example: GB00CLJU00000011111111
      title: AllocateIbanAsyncStatusEntity
    AllocateIbanAsyncGetStatusEntity:
      allOf:
        - $ref: '#/components/schemas/AllocateIbanAsyncStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: AllocateIbanAsyncGetStatusEntity
    ibanParamAttr:
      type: string
      minLength: 1
      description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
      example: GB92BARC20005275849855
    walletUuidRequiredAttr:
      type: object
      required:
        - walletUuid
      properties:
        walletUuid:
          type: string
          format: uuid
          description: Client/Customer wallet UUID.
          example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
    ibanCreatedAtAttr:
      type: object
      required:
        - ibanCreatedAt
      properties:
        ibanCreatedAt:
          type: string
          format: date-time
          description: Timestamp when IBAN was created according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          example: '2017-09-05T10:37:15+00:00'
    clientCustomerIdAttr:
      type: object
      required:
        - clientCustomerId
      properties:
        clientCustomerId:
          type: string
          description: The ID of the Customer in the Client's system.
          example: 2983ght938
    AllocateIbanInfoRegistrantEntity:
      allOf:
        - $ref: '#/components/schemas/clientCustomerIdAttr'
        - type: object
          required:
            - name
          properties:
            name:
              type: string
              description: Registrant name
              example: Peterson Julie
      title: AllocateIbanInfoRegistrantEntity
    AllocateIbanInfoResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - $ref: '#/components/schemas/ibanCreatedAtAttr'
        - type: object
          required:
            - registrant
          properties:
            registrant:
              $ref: '#/components/schemas/AllocateIbanInfoRegistrantEntity'
      title: AllocateIbanInfoResponseEntity
    clientCustomerIdParamAttr:
      type: string
      description: The ID of the Customer in the Client's system.
      example: 2983ght938
    ibansAttr:
      type: object
      required:
        - ibans
      properties:
        ibans:
          type: array
          items:
            type: string
            example: GB00CLJU00000011111111
          description: List of IBANs assigned to the customer.
          example:
            - GB00CLJU00000011111111
            - GB00CLJU00000011111112
    AllocateIbanListResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/clientCustomerIdAttr'
        - $ref: '#/components/schemas/ibansAttr'
      title: AllocateIbanListResponseEntity
    VirtualAccountActionByIbanRequest:
      allOf:
        - type: object
          required:
            - iban
          properties:
            iban:
              type: string
              description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number).
              example: GB00CLJU00000011111111
      title: VirtualAccountActionByIbanRequest
    VirtualAccountCloseByIbanRequest:
      allOf:
        - $ref: '#/components/schemas/VirtualAccountActionByIbanRequest'
        - $ref: '#/components/schemas/postbackUrlAttr'
      title: VirtualAccountCloseByIbanRequest
    VirtualAccountStatusAttr:
      type: object
      required:
        - virtualAccountStatus
      properties:
        virtualAccountStatus:
          type: string
          enum:
            - pending
            - active
            - disabled
            - closed
          x-enumDescriptions:
            pending: The virtual account is pending
            active: The virtual account is active
            disabled: The virtual account is disabled
            closed: The virtual account is closed
          example: pending
    VirtualAccountActionMessagesAttr:
      type: object
      properties:
        messages:
          type: array
          items:
            type: object
            required:
              - code
              - message
              - details
            properties:
              code:
                type: string
                description: The code of the message
                example: '012'
              message:
                type: string
                description: Short message about error
                example: Virtual already has closed status
              details:
                type: string
                description: Detailed description about error
          description: List of informative messages related to processing of the action. Message fields are described below. _(empty array if the action status of request is **success**)_
    actionOutcomeValueAttr:
      type: string
      enum:
        - success
        - declined
      x-enumDescriptions:
        success: The action was successful
        declined: The action was declined
      description: Action processing status
      example: success
    actionStatusAttr:
      type: object
      required:
        - actionStatus
      properties:
        actionStatus:
          $ref: '#/components/schemas/actionOutcomeValueAttr'
    VirtualAccountActionResponseBase:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/VirtualAccountStatusAttr'
        - $ref: '#/components/schemas/VirtualAccountActionMessagesAttr'
        - $ref: '#/components/schemas/actionStatusAttr'
      title: VirtualAccountActionResponseBase
    VirtualAccountActionAttr:
      allOf:
        - type: object
          required:
            - action
          properties:
            action:
              type: string
              enum:
                - allocate
                - activate
                - close
                - disable
              x-enumDescriptions:
                allocate: The virtual account is allocated
                activate: The virtual account is activated
                close: The virtual account is closed
                disable: The virtual account is disabled
              example: allocate
    VirtualAccountReasonAttr:
      allOf:
        - type: object
          required:
            - reason
          properties:
            reason:
              type: string
              enum:
                - Virtual account allocation requested
                - Automatic activation
                - Closed by client
                - Disabled per external request
                - Disabled per internal risk policies
                - Closed per external request
                - Closed per internal risk policies
              x-enumDescriptions:
                Virtual account allocation requested: automatic reason, when allocation was requested
                Automatic activation: automatic reason, when allocation was processed
                Closed by client: The virtual account was closed by the client
                Disabled per external request: The virtual account was disabled by an external request
                Disabled per internal risk policies: The virtual account was disabled by internal risk policies
                Closed per external request: The virtual account was closed by an external request
                Closed per internal risk policies: The virtual account was closed by internal risk policies
              description: Reason of action
              example: Automatic activation
    VirtualAccountReasonCodesAttr:
      type: object
      required:
        - reasonCode
      properties:
        reasonCode:
          type: string
          enum:
            - VAAC000
            - VAAC001
            - VAAC002
            - VAAC010
            - VAAC020
            - VAAC021
            - VAAC029
            - VAAC030
            - VAAC031
            - VAAC032
            - VAAC033
            - VAAC039
          x-enumDescriptions:
            VAAC000: Automatic activation (**automatic, cant be send during change status action**)
            VAAC001: Pending activation (**automatic, cant be send during change status action**)
            VAAC002: Manual activation
            VAAC010: Closed by client
            VAAC020: Disabled per external request
            VAAC021: Disabled per internal risk policies
            VAAC029: Disabled as a result of client account closure
            VAAC030: Closed per external request
            VAAC031: Closed per internal risk policies
            VAAC032: Closed due to expired disabled status
            VAAC033: Closed due to onboarding verification failure
            VAAC039: The client is closed
          description: Reason Code of action
          example: VAAC000
    VirtualAccountStatusEntityBase:
      allOf:
        - $ref: '#/components/schemas/VirtualAccountStatusAttr'
        - $ref: '#/components/schemas/VirtualAccountActionAttr'
        - $ref: '#/components/schemas/VirtualAccountReasonAttr'
        - $ref: '#/components/schemas/VirtualAccountReasonCodesAttr'
        - type: object
          required:
            - actionTimestamp
          properties:
            actionTimestamp:
              type: string
              format: date-time
              description: Timestamp when the virtual account status change occurred according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
              example: '2023-08-10T14:48:39+00:00'
    VirtualAccountStatusByIbanResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - type: object
          required:
            - registrant
            - actual
            - history
          properties:
            registrant:
              $ref: '#/components/schemas/AllocateIbanInfoRegistrantEntity'
            actual:
              $ref: '#/components/schemas/VirtualAccountStatusEntityBase'
            history:
              type: array
              items:
                $ref: '#/components/schemas/VirtualAccountStatusEntityBase'
              description: Chronological list of virtual account status changes.
      title: VirtualAccountStatusByIbanResponseEntity
    VirtualAccountActionErrorResponseBase:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          properties:
            errors:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: number
                    example: 10
                  message:
                    type: string
                    example: Validation error
                  details:
                    type: string
                    example: The provided value is invalid
      title: VirtualAccountActionErrorResponseBase
    sourceAccountAttr:
      type: object
      required:
        - accountType
        - accountCategory
      properties:
        accountType:
          type: string
          description: Type of source account
          example: CRYPTO_ADDRESS
        accountCategory:
          type: string
          enum:
            - ethereum_erc20
            - tron_trc20
            - bsc_bep20
          x-enumDescriptions:
            ethereum_erc20: Ethereum ERC-20 token standard
            tron_trc20: Tron TRC-20 token standard
            bsc_bep20: Binance Smart Chain BEP-20 token standard
          description: Category of the crypto account
          example: ethereum_erc20
    targetAccountAttr:
      type: object
      required:
        - accountType
        - accountNumber
      properties:
        accountType:
          type: string
          example: IBAN
        accountNumber:
          type: string
          example: GBXXCLJU12345612345678
    LinkAccountsRequestEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - type: object
          required:
            - sourceAccount
            - targetAccount
            - tcTimestamp
            - tcAgreed
            - registrant
          properties:
            sourceAccount:
              $ref: '#/components/schemas/sourceAccountAttr'
            targetAccount:
              $ref: '#/components/schemas/targetAccountAttr'
            tcTimestamp:
              type: string
              format: date-time
              description: Timestamp (according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard) for when Terms and Conditions were signed by vIBAN registrant on Client's platform. Submission time has a 7 day expiration period after Terms and Conditions were signed.
              example: '2017-09-05T10:37:15+00:00'
            tcAgreed:
              type: boolean
              description: Confirmation that vIBAN registrant accepted Terms and Conditions.
              example: true
            registrant:
              type: object
              required:
                - individual
              properties:
                individual:
                  type: object
                  required:
                    - taxNumber
                    - taxCountry
                  properties:
                    taxNumber:
                      type: string
                      description: Individual tax number
                      example: '7728168971'
                    taxCountry:
                      type: string
                      description: Individual tax country code according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                      example: IT
      title: LinkAccountsRequestEntity
    LinkAccountsResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - type: object
          required:
            - redirectUrl
            - status
          properties:
            redirectUrl:
              type: string
              format: uri
              description: URL for redirect after link accounts flow
            status:
              type: string
              description: Status of operation
              example: accepted
      title: LinkAccountsResponseEntity
    LinkAccountsStatusEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/messagesAttr'
        - type: object
          required:
            - status
            - sourceAccount
            - targetAccount
          properties:
            status:
              type: string
              example: linked
            sourceAccount:
              type: object
              required:
                - accountNumber
              properties:
                accountNumber:
                  type: string
                  description: It will be **null** if link process is in progress or declined
                  example: '0xb794f5ea0ba39494ce839613fffba74279579268'
            targetAccount:
              $ref: '#/components/schemas/targetAccountAttr'
      title: LinkAccountsStatusEntity
    AllocateIbanAsyncRegistrantEntity:
      type: object
      required:
        - clientCustomerId
      properties:
        clientCustomerId:
          type: string
          description: The ID of the Customer in the Client's system.
          example: 2983ght938
      oneOf:
        - type: object
          title: Individual
          description: Personal data of individual customer
          required:
            - individual
          properties:
            individual:
              $ref: '#/components/schemas/IndividualNameSeparatedEntity'
              description: Personal data of individual customer
        - type: object
          title: Corporate
          description: Registration data of the company
          required:
            - corporate
          properties:
            corporate:
              $ref: '#/components/schemas/CorporateEntityExtended'
              description: Registration data of the company
      description: 'One of: individual, corporate.'
    AllocateV4VirtualAccountRequestEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/clientOnlyWalletUuidOptionalAttr'
        - $ref: '#/components/schemas/customInfoAttr'
        - type: object
          required:
            - registrant
          properties:
            registrant:
              $ref: '#/components/schemas/AllocateIbanAsyncRegistrantEntity'
      title: AllocateV4VirtualAccountRequestEntity
    AllocateV4IbanRequestEntity:
      allOf:
        - type: object
          required:
            - accountType
            - accountCategory
          properties:
            accountType:
              type: string
              enum:
                - iban
              example: iban
            accountCategory:
              type: string
              enum:
                - '041307'
                - '041308'
                - '042811'
                - '009971'
              example: '041307'
        - $ref: '#/components/schemas/AllocateV4VirtualAccountRequestEntity'
      title: AllocateV4IbanRequestEntity
    AllocateV4CryptoAddressRequestEntity:
      allOf:
        - type: object
          required:
            - accountType
            - accountCategory
          properties:
            accountCategory:
              type: string
              enum:
                - ethereum_erc20
                - tron_trc20
                - bsc_bep20
              example: ethereum_erc20
            accountType:
              type: string
              enum:
                - crypto_address
              example: crypto_address
        - $ref: '#/components/schemas/AllocateV4VirtualAccountRequestEntity'
      title: AllocateV4CryptoAddressRequestEntity
    accountCategoryAttrRequired:
      allOf:
        - type: object
          required:
            - accountCategory
          properties:
            accountCategory:
              type: string
              example: ethereum_erc20
      title: accountCategoryAttrRequired
    accountTypeAttrRequired:
      allOf:
        - type: object
          required:
            - accountType
          properties:
            accountType:
              type: string
              example: crypto_address
      title: accountTypeAttrRequired
    AllocateV4StatusEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/allocateAsyncStatusAttr'
        - $ref: '#/components/schemas/allocateAsyncMessagesAttr'
        - type: object
          properties:
            virtualAccount:
              allOf:
                - $ref: '#/components/schemas/accountCategoryAttrRequired'
                - $ref: '#/components/schemas/accountTypeAttrRequired'
                - type: object
                  required:
                    - accountUuid
                    - details
                  properties:
                    accountUuid:
                      type: string
                      format: uuid
                      example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
                    details:
                      type: object
                      required:
                        - accountNumber
                      properties:
                        accountNumber:
                          type: string
                          example: GB00CLJU00000011111111
                        institutionCode:
                          type: string
                          example: GBXXXX21
      title: AllocateV4StatusEntity
    walletCurrencyAttr:
      type: object
      required:
        - currency
      properties:
        currency:
          type: string
          description: The currency must be valid according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) or be a well recognised cryptocurrency, such as USDT and USDC.
          pattern: ^[A-Z]{3}$
          example: EUR
    WalletCorporateEntityExtended:
      allOf:
        - $ref: '#/components/schemas/emailAttr'
        - $ref: '#/components/schemas/phoneAttr'
        - type: object
          required:
            - name
            - registrationNumber
            - incorporationCountry
            - address
            - incorporationDate
            - ultimateBeneficialOwner
            - tradingWebsite
            - expectedTurnover
            - otherDetails
            - businessPartners
            - fundFlows
            - complianceEvaluation
          properties:
            name:
              type: string
              description: |-
                The name of the company
                Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                All other characters are rejected.
              example: SuperBubble Limited
            registrationNumber:
              type: string
              description: Registration number
              example: AAB2827377-837
            incorporationCountry:
              type: string
              description: Incorporation country according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            address:
              $ref: '#/components/schemas/AddressEntity'
              description: Registration address
            incorporationDate:
              type: string
              format: date
              description: Date of incorporation (YYYY-MM-DD)
              example: '2016-12-21'
            taxCountry:
              type: string
              description: Company tax country code according to [ISO 3166-1 Alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
              example: IT
            taxNumber:
              type: string
              description: Company tax number **Required if taxCountry is US *
              example: '7728168971'
            industryType:
              type: string
              description: The type of industry the company operates in
              example: Electronics Distributor
            publicallyTraded:
              type: boolean
              description: The company owned by shareholders who are members of the general public and trade shares publicly, as on the stock market.
              example: true
            stockSymbol:
              type: string
              description: Stock market symbol
              example: APA
            stockExchange:
              type: string
              description: The market in which securities are bought and sold Update
              example: NYSE
            ultimateBeneficialOwner:
              type: array
              items:
                type: object
                required:
                  - lastName
                  - firstName
                  - birthDate
                  - ownership
                  - document
                  - beneficialOwnerPep
                  - beneficialOwnerPepDetails
                  - usaTaxResidency
                  - giinNumber
                properties:
                  lastName:
                    type: string
                    description: |-
                      The lastName of the ultimate beneficial (latin spelling), according to the document.
                      Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                      All other characters are rejected.
                    example: Ivanov
                  firstName:
                    type: string
                    description: |-
                      The firstName of the ultimate beneficial (latin spelling), according to the document.
                      Allowed characters: letters (A-Z, a-z), space, and `- . '.`
                      All other characters are rejected.
                    example: Ioan
                  birthDate:
                    type: string
                    format: date
                    description: The birthday in format yyyy-MM-dd. At least 16 years old. Not more than 85 years old (84+364 days)
                    example: '1990-01-12'
                  ownership:
                    type: number
                    description: BO ownership in corporate customer
                    example: 100
                  document:
                    type: object
                    required:
                      - expirationDate
                    properties:
                      expirationDate:
                        type: string
                        format: date
                        description: The date when the document will be expired (YYYY-MM-DD). The minimum term is today + one month
                        example: '2026-12-20'
                  beneficialOwnerPep:
                    type: boolean
                    description: Is the Beneficial Owner a Politically Exposed Person [PEP]?
                    example: true
                  beneficialOwnerPepDetails:
                    type: string
                    description: If YES, details
                    example: BO is PEP relative of the vice-president of the USA
                  usaTaxResidency:
                    type: boolean
                    description: '`Is the BO a USA Tax Resident?`'
                    example: true
                  giinNumber:
                    type: string
                    description: '`If YES, GIIN Number`'
            tradingWebsite:
              type: string
              format: uri
              description: The Url of the client''s site
              example: https://www.geotriangle.com
            expectedTurnover:
              type: number
              description: expected payin turnover per month in EUR
              example: 1000000
            beneficialLegalEntity:
              type: string
              description: Information about the ultimate beneficial owner
              example: Solomon S.A. owns Michigan Ltd. 100%, Sequoia S.L owns Solomon S.A. 100%, Ivanov Ioan owns Sequoia S.L. 100%
            otherDetails:
              type: object
              required:
                - businessActivity
              properties:
                businessActivity:
                  type: string
                  description: Business activity description
                  example: Michigan Ltd. is one of the leading developers of real estate on Manhattan island.
                relevantInformation:
                  type: string
                  description: Any information client wants to share with CJ
                  example: Michigan Ltd. enters to TOP-500 of Forbes.
                negativeInformation:
                  type: string
                  description: Any adverse information about customer/related person/business partner
                  example: none
            businessPartners:
              type: array
              items:
                type: object
                required:
                  - name
                  - incorporationCountryCode
                  - plannedTransfersQuantityMonth
                  - plannedTransfersEurVolumeMonth
                  - basisPartnership
                  - website
                properties:
                  name:
                    type: string
                    description: |-
                      Business partner name
                      Allowed characters: letters (A-Z, a-z), digits (0-9), space, and `- ( ) . , '`.
                      All other characters are rejected.
                  incorporationCountryCode:
                    type: string
                    description: Country of registration
                  plannedTransfersQuantityMonth:
                    type: number
                    description: Planned number of transactions per month with business partner
                  plannedTransfersEurVolumeMonth:
                    type: number
                    description: Planned volume of transactions with business partner (eqv. EUR)
                  additionalInfo:
                    type: string
                    description: Additional information
                  basisPartnership:
                    type: string
                    description: Basis for partnership
                  website:
                    type: string
                    description: Web page
              description: details for customer's business partners
            fundFlows:
              type: object
              required:
                - plannedIncTransfersQuantity
                - plannedIncTransfersEurVolume
                - plannedOutTransfersQuantity
                - plannedOutTransfersEurVolume
              properties:
                plannedIncTransfersQuantity:
                  type: number
                  description: Planned number of incoming transactions
                plannedIncTransfersEurVolume:
                  type: number
                  description: Planned volume of incoming transactions (eqv. EUR)
                plannedOutTransfersQuantity:
                  type: number
                  description: Planned number of outbound transactions
                plannedOutTransfersEurVolume:
                  type: number
                  description: Planned volume of outbound transactions (eqv. EUR)
              description: details for customer's fund flows
            complianceEvaluation:
              type: object
              required:
                - amlRiskLevel
                - reviewPeriodicity
                - appliedLimits
              properties:
                amlRiskLevel:
                  type: string
                  description: AML Risk level
                reviewPeriodicity:
                  type: string
                  description: Frequency of periodic review
                  example: 1 per year
                appliedLimits:
                  type: string
                  description: Applied limits
                  example: none
                additionalInfo:
                  type: string
                  description: Additional information
            customOptions:
              type: object
              properties:
                myExampleParam1:
                  type: string
                  example: exampleValue1
                myExampleObject1:
                  type: object
                  properties:
                    myExampleParam2:
                      type: string
                      example: exampleValue2
                    myExampleParam3:
                      type: string
                      example: exampleValue
                myExampleArray1:
                  type: array
                  items:
                    type: object
                myExampleArray2:
                  type: array
                  items:
                    type: object
                    properties:
                      myExampleParam4:
                        type: string
                        example: exampleValue4
                      myExampleParam5:
                        type: string
                        example: exampleValue5
              description: Custom information that can be provided by the Client
    WalletHolderCorporateEntity:
      allOf:
        - $ref: '#/components/schemas/WalletCorporateEntityExtended'
        - type: object
          required:
            - isMicroEnterprise
          properties:
            isMicroEnterprise:
              type: boolean
              description: An enterprise which employs fewer than 10 persons and has a turnover or annual balance sheet that does not exceed €2 million
              example: false
      title: WalletHolderCorporateEntity
    ReservateWalletCorporateAsyncRequestEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/walletCurrencyAttr'
        - $ref: '#/components/schemas/ibansGroupOptionalAttr'
        - $ref: '#/components/schemas/ibanCountryOptionalAttr'
        - $ref: '#/components/schemas/customInfoAttr'
        - type: object
          required:
            - holder
          properties:
            holder:
              type: object
              required:
                - clientCustomerId
                - corporate
              properties:
                clientCustomerId:
                  type: string
                  description: The ID of the Customer in the Client's system.
                  example: 2983ght938
                corporate:
                  $ref: '#/components/schemas/WalletHolderCorporateEntity'
      title: ReservateWalletCorporateAsyncRequestEntity
    ReservateWalletAsyncResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - type: object
          required:
            - status
          properties:
            status:
              type: string
              description: Status of operation. Accepted for processing.
              example: accepted
      title: ReservateWalletAsyncResponseEntity
    ReservateWalletCorporateAsyncResponseEntity:
      allOf:
        - $ref: '#/components/schemas/ReservateWalletAsyncResponseEntity'
        - type: object
          required:
            - uploadFilesLink
          properties:
            uploadFilesLink:
              type: string
              description: '[Pre-signed AWS S3 link](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html). You must upload zip with documents for verification using HTTP PUT and binary of zip in body of request. Available formats for uploading in zip are pdf and csv. Total size must be less than 10MB.'
              example: https://g7-sand-compliance-s3.s3.eu-west-1.amazonaws.com/g7-sand-00b8ccf4-31cc-4d88-8208-d28421ebfab0.zip?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAX2GHS26DYCKLQPVP%2F20220517%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20220517T132126Z&X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Signature=300e6718de724ae113032eedec9a2bb2e194e2bed8fb07c18c35c0c29da499e5
      title: ReservateWalletCorporateAsyncResponseEntity
    walletAsyncReservationStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - accepted
            - pending
            - reserved
            - declined
          x-enumDescriptions:
            accepted: The reservation was accepted
            pending: The reservation is pending
            reserved: The reservation was reserved
            declined: The reservation was declined
          description: Status of reservation operation.
          example: accepted
    WalletReservationErrorMessageEntity:
      allOf:
        - type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              description: The code of the message
              example: '008'
            message:
              type: string
              description: The description of the current status
              example: Invalid firstName
            details:
              type: string
              description: Any additional details
              example: Please check firstName.
      title: WalletReservationErrorMessageEntity
    walletAsyncReservationMessagesAttr:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/WalletReservationErrorMessageEntity'
          description: List of informative messages related to processing of reservation order. Message fields are described below. _(empty array if the status of order isn't **failed**)_
    ReservateWalletAsyncStatusEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - $ref: '#/components/schemas/walletAsyncReservationStatusAttr'
        - $ref: '#/components/schemas/walletAsyncReservationMessagesAttr'
        - type: object
          properties:
            iban:
              type: string
              description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number). _Empty string if status of reservation order isn't **reserved**_
              example: GB00CLJU00000011111111
      title: ReservateWalletAsyncStatusEntity
    ReservateWalletAsyncGetStatusEntity:
      allOf:
        - $ref: '#/components/schemas/ReservateWalletAsyncStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: ReservateWalletAsyncGetStatusEntity
    walletUuidPathParamAttr:
      type: string
      format: uuid
      description: UUID of the wallet.
      example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
    returnPaymentMethodsParamAttr:
      type: boolean
      description: Return the list of allowed payment methods for the wallet.
      example: true
    WalletPaymentMethodEntity:
      type: object
      required:
        - type
        - accountNumber
        - name
      properties:
        type:
          type: string
          description: Type of the payment method.
          example: IBAN
        channels:
          type: array
          description: The list of allowed channels. `SEPA` is default.
          items:
            type: string
            enum:
              - SEPA
              - SWIFT
              - EU-BANK
              - CIS-BANK
        currencies:
          type: array
          description: List of allowed currencies. `[EUR]` is default.
          items:
            type: string
            description: Literal code of currency according to ISO-4217.
        bankCode:
          type: string
          description: Bank code.
        bankCorrAccount:
          type: string
          description: Specific requisite.
        accountNumber:
          type: string
          description: Number of the generated account.
          example: GB40CLJU04130729900988
        name:
          type: string
          description: Name of payee (real for own IBANs and formal for other accounts).
          example: Some Name
        purposeTag:
          type: string
          description: Tag added to payment purpose to identify client and (if necessary) customer.
      title: WalletPaymentMethodEntity
    WalletAmountEntity:
      type: object
      required:
        - currencyCode
        - availableFunds
      properties:
        currencyCode:
          type: string
          description: Literal code of currency according to ISO-4217.
          example: EUR
        availableFunds:
          type: string
          description: Amount of available funds.
          example: '1340.00'
      title: WalletAmountEntity
    GetWalletResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - type: object
          required:
            - ownerUuid
            - amounts
          properties:
            ownerUuid:
              type: string
              format: uuid
              description: UUID of the customer to whom the wallet belongs.
              example: eee0d531-c9b8-4e9c-bf5d-0e42d71e2bf4
            paymentMethods:
              type: array
              description: The list of allowed payment methods.
              items:
                $ref: '#/components/schemas/WalletPaymentMethodEntity'
            amounts:
              type: array
              description: The list of amounts per currencies.
              items:
                $ref: '#/components/schemas/WalletAmountEntity'
      title: GetWalletResponseEntity
    WalletRequisiteEntity:
      allOf:
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
      title: WalletRequisiteEntity
    WalletFundTransferEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/currencyEurAttr'
        - $ref: '#/components/schemas/amountAttr'
        - $ref: '#/components/schemas/descriptionFullTextAttr'
        - $ref: '#/components/schemas/postbackUrlAttr'
        - $ref: '#/components/schemas/customInfoAttr'
        - type: object
          required:
            - payerRequisite
            - payeeRequisite
          properties:
            payerRequisite:
              $ref: '#/components/schemas/WalletRequisiteEntity'
            payeeRequisite:
              $ref: '#/components/schemas/WalletRequisiteEntity'
      title: WalletFundTransferEntity
    WalletFundTransferResponseEntity:
      allOf:
        - $ref: '#/components/schemas/CreateOrderResponseBaseEntity'
        - $ref: '#/components/schemas/PayoutCreateOrderStatusAttr'
      title: WalletFundTransferResponseEntity
    WalletFundTransferStatusEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionStatusBaseEntity'
        - $ref: '#/components/schemas/PayoutOrderStatusAttr'
        - type: object
          required:
            - transactionType
            - subStatuses
            - payer
            - payee
          properties:
            transactionType:
              type: string
              description: Transaction type for transfer of funds between wallets. Fixed value 'TransferWallet'.
              example: TransferWallet
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of order
                  example: pending
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
            payer:
              type: object
              required:
                - walletUuid
              properties:
                walletUuid:
                  type: string
                  format: uuid
                  description: Payer Client/Customer wallet UUID (source of funds)
                  example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
            payee:
              type: object
              required:
                - walletUuid
              properties:
                walletUuid:
                  type: string
                  format: uuid
                  description: Payee Client/Customer wallet UUID (destination of funds)
                  example: 020d2c85-c3bf-4a69-9795-37a49b1f9dd9
      title: WalletFundTransferStatusEntity
    WalletFundTransferGetStatusResponseEntity:
      allOf:
        - $ref: '#/components/schemas/WalletFundTransferStatusEntity'
        - $ref: '#/components/schemas/requestReferenceAttr'
      title: WalletFundTransferGetStatusResponseEntity
    WalletTransactionReportRequestEntity:
      allOf:
        - $ref: '#/components/schemas/walletUuidOptionalAttr'
        - type: object
          required:
            - timestampFrom
            - timestampTo
          properties:
            timestampFrom:
              type: string
              format: date-time
              description: The start timestamp of the report period according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
              example: '2017-09-05T00:00:00+00:00'
            timestampTo:
              type: string
              format: date-time
              description: The last day of the report period according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), max period is 7 days
              example: '2017-09-12T00:00:00+00:00'
      title: WalletTransactionReportRequestEntity
    CommonTransactionStatusForReport:
      allOf:
        - $ref: '#/components/schemas/TransactionMinimalBaseEntity'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - type: object
          required:
            - transactionType
          properties:
            transactionType:
              type: string
              enum:
                - Payin
                - PayinReturn
                - Refund
                - Payout
                - PayoutReturn
                - Fee
                - Chargback
                - Representment
                - Transfer
                - TransferWallet
                - RollingReserve
              x-enumDescriptions:
                Payin: Payin transaction
                PayinReturn: Payin return transaction
                Refund: Refund transaction
                Payout: Payout transaction
                PayoutReturn: Payout return transaction
                Fee: Fee transaction
                Chargback: Chargback transaction
                Representment: Representment transaction
                Transfer: Transfer transaction
                TransferWallet: Transfer wallet transaction
                RollingReserve: Rolling reserve transaction
              description: Type of transactionType
              example: Payin
            operStatus:
              type: string
              enum:
                - created
                - expired
                - canceled
                - rejected
                - returned
                - pending
                - authorized
                - captured
                - settled
                - declined
              x-enumDescriptions:
                created: The transaction was created
                expired: The transaction was expired
                canceled: The transaction was canceled
                rejected: The transaction was rejected
                returned: The transaction was returned
                pending: The transaction is processing
                authorized: The transaction was authorized
                captured: The transaction was captured
                settled: The transaction was settled
                declined: The transaction was declined
              description: Status of operation.
              example: declined
      title: CommonTransactionStatusForReport
    WalletTransactionReportResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          required:
            - report
          properties:
            report:
              type: array
              items:
                $ref: '#/components/schemas/CommonTransactionStatusForReport'
      title: WalletTransactionReportResponseEntity
    WalletReportRequestBaseEntity:
      allOf:
        - type: object
          required:
            - walletUuid
            - dateFrom
            - dateTo
          properties:
            walletUuid:
              type: string
              format: uuid
              description: Payee Client wallet UUID
              example: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
            dateFrom:
              type: string
              format: date
              description: The first day of report period. "YYYY-MM-DD" formatted
              example: '2018-08-22'
            dateTo:
              type: string
              format: date
              description: The last day of report period. "YYYY-MM-DD" formatted
              example: '2018-08-29'
      title: WalletReportRequestBaseEntity
    feeAttr:
      type: object
      required:
        - feeAmount
      properties:
        feeAmount:
          type: number
          description: The fee of the transfer in transaction currency.
          example: 2.11
    StatementTransactionEntity:
      allOf:
        - $ref: '#/components/schemas/clientOrderAttr'
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/valuedAtAttr'
        - $ref: '#/components/schemas/amountAttr'
        - $ref: '#/components/schemas/feeAttr'
        - type: object
          required:
            - paymentDetails
          properties:
            paymentDetails:
              anyOf:
                - title: Swift
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSwiftPaymentDetailEntity'
                - title: SEPA CT
                  allOf:
                    - $ref: '#/components/schemas/BankTransferEuPaymentDetailEntity'
                - title: SEPA Instant
                  allOf:
                    - $ref: '#/components/schemas/BankTransferSepaInstPaymentDetailEntity'
                - title: Internal
                  allOf:
                    - $ref: '#/components/schemas/InternalPaymentDetailEntity'
                - title: UK Transfer
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkDefaultPaymentDetailEntity'
                - title: FPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkFpsPaymentDetailEntity'
                - title: CHAPS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsPaymentDetailEntity'
                - title: CHAPS Cross-Scheme
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkChapsCrossSchemePaymentDetailEntity'
                - title: BACS
                  allOf:
                    - $ref: '#/components/schemas/BankTransferUkBacsPaymentDetailEntity'
              description: Additional payment details. Structure depends on the Payment Method
      title: StatementTransactionEntity
    WalletStatementEntity:
      allOf:
        - $ref: '#/components/schemas/currencyEurAttr'
        - type: object
          required:
            - balanceIn
            - countIn
            - turnIn
            - countOut
            - turnOut
            - balanceOut
          properties:
            balanceIn:
              type: number
              description: incoming balance for the dateFrom in defined currency for requested walletUuid
            countIn:
              type: number
              description: count of income transactions
            turnIn:
              type: number
              description: total income turnover
            countOut:
              type: number
              description: count of outcome transactions
            turnOut:
              type: number
              description: total outcome turnover
            balanceOut:
              type: number
              description: outcoming balance for the dateTo in defined currency for requested walletUuid
            transactions:
              type: array
              items:
                $ref: '#/components/schemas/StatementTransactionEntity'
              description: array of transactions ordered by operTimestamp ordered by asc from dateFrom to dateTo. If total count is more than 5000 transactions - this param will not present in response.
      title: WalletStatementEntity
    WalletStatementResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          properties:
            statements:
              type: array
              items:
                $ref: '#/components/schemas/WalletStatementEntity'
              description: array of statement data for requested walletUuid
      title: WalletStatementResponseEntity
    orderReferenceArrayAttr:
      type: object
      required:
        - orderReferenceArray
      properties:
        orderReferenceArray:
          type: array
          description: list of the references for approval
          items:
            type: string
            format: uuid
          example:
            - 12d603fa-4d0b-4fec-a9b0-cc3114da134e
            - 8a7214dd-91e7-469c-b02c-e4a665d08723
            - 8a7214dd-c006-440d-8e91-83c7c59865b0
    actionProcessingStatusAttr:
      type: object
      required:
        - actionProcessingStatus
      properties:
        actionProcessingStatus:
          allOf:
            - $ref: '#/components/schemas/actionOutcomeValueAttr'
          description: The status of the action request
    ActionResultEntity:
      allOf:
        - $ref: '#/components/schemas/orderReferenceAttr'
        - $ref: '#/components/schemas/actionProcessingStatusAttr'
        - $ref: '#/components/schemas/messagesAttr'
    TransactionActionResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          properties:
            actionResult:
              type: array
              items:
                $ref: '#/components/schemas/ActionResultEntity'
      title: TransactionActionResponseEntity
    PartnerCheckRequisitesCopEntity:
      allOf:
        - type: object
          oneOf:
            - type: object
              title: Individual
              description: Personal data of individual customer
              required:
                - individual
              properties:
                individual:
                  $ref: '#/components/schemas/IndividualEuEntity'
                  description: Personal data of individual customer
            - type: object
              title: Corporate
              description: Registration data of the company
              required:
                - corporate
              properties:
                corporate:
                  $ref: '#/components/schemas/CorporateEntity'
                  description: Registration data of the company
      title: PartnerCheckRequisitesCopEntity
    CheckRequisitesCopEntity:
      allOf:
        - type: object
          required:
            - payee
            - payeeRequisite
          properties:
            payee:
              $ref: '#/components/schemas/PartnerCheckRequisitesCopEntity'
              description: The data of the payee. The structure is defined for each client personally. Strictly one the section (individual or corporate) must be defined.
            payeeRequisite:
              $ref: '#/components/schemas/RequisiteBankGbpEntity'
              description: The payee banking details
      title: CheckRequisitesCopEntity
    CheckRequisitesCopResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          required:
            - matched
            - expirationTimestamp
          properties:
            matched:
              type: boolean
              description: '''True'' when there is a match or ''False'' when the copre is no match or only a partial match.'
              example: false
            expirationTimestamp:
              type: string
              format: date-time
              description: Date and time until which the current CoP check result remains valid, we recommend storing each CoP check result in cache until this designated timestamp according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
              example: '2023-09-05T10:37:15+00:00'
            falseMatchDetails:
              type: object
              required:
                - code
                - description
                - name
              properties:
                code:
                  type: string
                  description: '''False'' match reason code.'
                  example: MBAM
                description:
                  type: string
                  description: Detailed description of the received reason code.
                  example: Close name match. You can proceed with the payment request, but we recommend updating the Payee name and running CoP check again.
                name:
                  type: string
                  description: Suggestion of a Payee name if it has been sent as a part of response from the Receiving bank (in specific cases of close match).
                  example: Julia Maria Peterson
              description: Provided if there is no match or a partial match.
      title: CheckRequisitesCopResponseEntity
    CheckRequisiteBanktransferEu:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - $ref: '#/components/schemas/bankSwiftCodeOptionalAttr'
        - type: object
          properties:
            bankName:
              type: string
              description: Name of the Bank
              example: Bank Name
            sepaReachable:
              type: boolean
              description: Is SCT reachable
              example: true
            sepaInstReachable:
              type: boolean
              description: Is SEPA Inst reachable
              example: true
      title: CheckRequisiteBanktransferEu
    PciCreateTokenRequestEntity:
      allOf:
        - type: object
          required:
            - storeType
            - data
          properties:
            storeType:
              type: string
              example: pan
            data:
              type: object
              required:
                - pan
              properties:
                pan:
                  type: string
                  description: card number
                  example: '4111111111111165'
                card_expiration_date:
                  type: string
                  description: expiration date of card
                  example: 02/18
                card_holder_name:
                  type: string
                  description: card holder name
                  example: Lastname Firstname
                token_expiration_period_month:
                  type: number
                  description: expiration period of token
                  example: 24
      title: PciCreateTokenRequestEntity
    PciCreateTokenResponseEntity:
      allOf:
        - $ref: '#/components/schemas/requestReferenceAttr'
        - type: object
          required:
            - stored_data
            - token
            - expire_term
            - created_at
            - expired_at
            - used_at
          properties:
            stored_data:
              type: object
              required:
                - pan
              properties:
                pan:
                  type: string
                  description: card number
                  example: 411111******1165
                card_expiration_date:
                  type: string
                  description: expiration date of card
                  example: 02/18
                card_holder_name:
                  type: string
                  description: card holder name
                  example: Lastname Firstname
                token_expiration_period_month:
                  type: number
                  description: expiration period of token
                  example: 24
            token:
              type: string
              example: 8ef31731-cf17-45cd-83ae-6716a1c8026c
            expire_term:
              type: number
              example: 24
            created_at:
              type: string
              description: datetime
              example: '2019-10-22T12:26:13+00:00'
            expired_at:
              type: string
              description: datetime
              example: '2021-10-22T12:27:50+00:00'
            used_at:
              type: string
              description: datetime
              example: '2019-10-22T12:27:50+00:00'
      title: PciCreateTokenResponseEntity
    notificationMessageUuidAttr:
      type: object
      required:
        - messageUuid
      properties:
        messageUuid:
          type: string
          format: uuid
          description: A unique messageUuid assigned to each event notification. This messageUuid is included in the notification messages so that multiple messages related to the same event notification (when the original message appears as undelivered) will share the same messageUuid.
          example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
    PayoutNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'payoutNotification'
              example: payoutNotification
      title: PayoutNotificationMessageEntity
    PayoutReturnOrderStatusAttr:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - captured
            - returned
          x-enumDescriptions:
            captured: The transaction was captured
            returned: The transaction was returned
          description: Status of order
          example: settled
    PayoutReturnStatusEntity:
      allOf:
        - $ref: '#/components/schemas/TransactionStatusBaseEntity'
        - $ref: '#/components/schemas/relatedOrderReferenceAttr'
        - $ref: '#/components/schemas/PayoutReturnOrderStatusAttr'
        - type: object
          required:
            - transactionType
            - subStatuses
          properties:
            transactionType:
              type: string
              description: Transaction Type. Fixed value 'PayoutReturn'
              example: PayoutReturn
            subStatuses:
              type: object
              required:
                - operStatus
                - complianceStatus
              properties:
                operStatus:
                  type: string
                  description: Status of order
                  example: settled
                complianceStatus:
                  type: string
                  description: Status of compliance checks
                  example: pending
              description: subStatuses affect to the status of order
      title: PayoutReturnStatusEntity
    PayoutReturnNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/PayoutReturnStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'payoutReturnNotification'
              example: payoutReturnNotification
      title: PayoutReturnNotificationMessageEntity
    PayinNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/PayinStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'payinNotification'
              example: payinNotification
      title: PayinNotificationMessageEntity
    RefundNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/RefundStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'refundNotification'
              example: refundNotification
      title: RefundNotificationMessageEntity
    InstantFxTransferNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/InstantFxTransferResponseEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'fxNotification'
              example: fxNotification
      title: InstantFxTransferNotificationMessageEntity
    AllocateIbanAsyncNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/AllocateIbanAsyncStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'ibanAllocationNotification'
              example: ibanAllocationNotification
      title: AllocateIbanAsyncNotificationMessageEntity
    VirtualAccountIbanEntity:
      type: object
      required:
        - virtualAccountStatus
        - type
        - bankCode
        - bankAccountNumber
        - registrant
      properties:
        virtualAccountStatus:
          type: string
          example: closed
        type:
          type: string
          enum:
            - iban
          x-enumDescriptions:
            iban: The virtual account is an IBAN
          example: iban
        bankCode:
          type: string
          description: Bank Swift Code according to [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362) in case of virtualAccount.type = *`iban`*
          example: CLJUXXXXX
        bankAccountNumber:
          type: string
          description: The number of the account according to [IBAN](https://en.wikipedia.org/wiki/International_Bank_Account_Number) in case of virtualAccount.type = *`iban`*
          example: GBXXCLJU012345612345678
        registrant:
          $ref: '#/components/schemas/AllocateIbanInfoRegistrantEntity'
    VirtualAccountActionNotificationEntity:
      allOf:
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - $ref: '#/components/schemas/walletUuidRequiredAttr'
        - $ref: '#/components/schemas/VirtualAccountReasonCodesAttr'
        - type: object
          required:
            - orderReference
            - virtualAccount
            - action
            - actionTimestamp
            - type
          properties:
            orderReference:
              type: string
              format: uuid
              description: Reference to the order
              example: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
            virtualAccount:
              $ref: '#/components/schemas/VirtualAccountIbanEntity'
            action:
              type: string
              enum:
                - close
                - activate
                - disable
              x-enumDescriptions:
                close: The virtual account is closed
                activate: The virtual account is activated
                disable: The virtual account is disabled
              example: close
            actionTimestamp:
              type: string
              example: '2023-08-10T14:48:39+00:00'
            type:
              type: string
              example: virtualAccountActionNotification
      title: VirtualAccountActionNotificationEntity
    AllocateV4NotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/AllocateV4StatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'virtualAccountAllocationNotification'
              example: virtualAccountAllocationNotification
      title: AllocateV4NotificationMessageEntity
    ReservateWalletAsyncNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/ReservateWalletAsyncStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'walletReservationNotification'
              example: walletReservationNotification
      title: ReservateWalletAsyncNotificationMessageEntity
    WalletFundTransferNotificationMessageEntity:
      allOf:
        - $ref: '#/components/schemas/WalletFundTransferStatusEntity'
        - $ref: '#/components/schemas/notificationMessageUuidAttr'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              description: Notification type. Fixed value 'walletTransferNoification'
              example: walletFundTransferNotification
      title: WalletFundTransferNotificationMessageEntity
  examples:
    PayoutInternalPaymentFull:
      x-schema: interfaces.yaml#/PayoutInternalPaymentEntity
      summary: Request schema
      description: Full Parameters set for internal payment
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payer: {}
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payeeRequisite:
          iban: GBXXCLJU04130729900988
        payerRequisite:
          iban: GBXXCLJU04130729900988
    PayoutInternalPaymentMinimum:
      x-schema: interfaces.yaml#/PayoutInternalPaymentEntity
      x-exclude:
        - customInfo
        - payer
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for internal payout
      description: Minimal internal payout from clients master account (corporate payee)
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          corporate:
            name: Example Corporation
        payeeRequisite:
          iban: GBXXCLJU04130720100605
        payerRequisite:
          iban: GBXXCLJU04130729900988
    400_create_payouts_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: Required but empty
            message: 'Missing or invalid parameter: clientOrder'
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_create_payouts_technical_012:
      summary: Technical error (012) - Duplicate clientOrder
      value:
        errors:
          - code: '012'
            details: Duplicate clientOrder
            message: Technical Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    PayoutBankTransferEuFull:
      x-schema: interfaces.yaml#/PayoutBankTransferEuEntity
      summary: Request schema
      description: Full Parameters set for SEPA (BankTransfer EU / SEPA Instant)
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payeeRequisite:
          iban: GBXXCLJU04130729900988
          bankSwiftCode: UBSWCHZH80A
        payerRequisite:
          iban: GBXXCLJU04130729900988
          bankSwiftCode: UBSWCHZH80A
    PayoutBankTransferEuFromMasterAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferEuEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for SEPA payout (master account)
      description: Minimal SEPA payout from clients master account(BankTransfer EU / SEPA Instant)
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          iban: GB92BARC20005275849855
    PayoutBankTransferEuFromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferEuEntity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for SEPA payout (customer account)
      description: Minimal SEPA payout from clients customer account(BankTransfer EU / SEPA Instant)
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payer:
          individual:
            lastName: Peterson
            firstName: Julie
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          iban: GB92BARC20005275849855
        payerRequisite:
          iban: GBXXCLJU04130729900988
    PayoutBankTransferEuFromMasterAccountUltimatePayer:
      x-schema: interfaces.yaml#/PayoutBankTransferEuEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayee
      summary: Minimum payload for SEPA payout (ultimate payer)
      description: Payout with Ultimate Payer for SEPA (BankTransfer EU / SEPA Instant)
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            lastName: Peterson
            firstName: Julie
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          iban: GB92BARC20005275849855
    PayoutBankTransferFpsFull:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsEntity
      summary: Request schema
      description: Full parameters set for FPS payout
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payeeRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
        payerRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
    PayoutBankTransferFpsFromMasterAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for FPS payout (master account)
      description: Minimal FPS payout from client master account
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
    PayoutBankTransferFpsFromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsEntity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for FPS payout (virtual account)
      description: FPS payout from client virtual account with payer
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: FPS payout with payer
        postbackUrl: https://webhook.invalid/cj-webhook
        payer:
          individual:
            lastName: Doe
            firstName: John
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
        payerRequisite:
          iban: GBXXCLJU04130729903682
    PayoutBankTransferFpsFromMasterAccountUltimatePayer:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayee
      summary: Minimum payload for FPS payout (ultimate payer)
      description: FPS payout with Ultimate Payer from master account
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            address:
              country: GB
              state: ''
              zip: SW1A 1AA
              city: London
              street: 123 Main Street
            lastName: Smith
            firstName: John
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
    400_create_payouts_fps_chaps_technical_005B1:
      summary: Technical error (005) - Payment method not in wallet
      value:
        errors:
          - code: '005'
            details: Error details are described in the details field.
            message: Technical Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_create_payouts_fps_chaps_action_forbidden_012:
      summary: Action forbidden (012) - CoP check required
      value:
        errors:
          - code: '012'
            details: Please run CoP check as there is no valid result cached for this payee.
            message: Action forbidden
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    PayoutBankTransferFpsV2Full:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsV2Entity
      summary: Request schema
      description: Full parameters set for FPS v2 payout
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payeeRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
        payerRequisite:
          iban: GBXXCLJU04130729900988
    PayoutBankTransferFpsV2FromMasterAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsV2Entity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for FPS v2 payout (master account)
      description: Minimal FPS v2 payout from client master account
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
    PayoutBankTransferFpsV2FromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferFpsV2Entity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for FPS v2 payout (virtual account)
      description: FPS v2 payout from client virtual account with payer IBAN
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: FPS payout with payer
        postbackUrl: https://webhook.invalid/cj-webhook
        payer:
          individual:
            lastName: Doe
            firstName: John
        payee:
          individual:
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
        payerRequisite:
          iban: GBXXCLJU04130729903682
    PayoutBankTransferChapsFull:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsEntity
      summary: Request schema
      description: Full parameters set for CHAPS payout
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payeeRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
        payerRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
    PayoutBankTransferChapsFromMasterAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for CHAPS payout (master account)
      description: Minimal CHAPS payout from client master account
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          individual:
            lastName: Doe
            firstName: John
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
          bankSwiftCode: BARCGB22
    PayoutBankTransferChapsFromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsEntity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for CHAPS payout (virtual account)
      description: CHAPS payout from client virtual account with payer
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payer:
          individual:
            lastName: Doe
            firstName: John
        payee:
          individual:
            lastName: Doe
            firstName: John
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
          bankSwiftCode: BARCGB22
        payerRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
          bankSwiftCode: BARCGB22
    PayoutBankTransferChapsV2Full:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsV2Entity
      summary: Request schema
      description: Full parameters set for CHAPS v2 payout
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payeeRequisite:
          sortCode: '000000'
          accountNumber: '11111111'
          iban: GB00CLJU00000011111111
          bankSwiftCode: UBSWCHZH80A
        payerRequisite:
          iban: GBXXCLJU04130729900988
    PayoutBankTransferChapsV2FromMasterAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsV2Entity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for CHAPS v2 payout (master account)
      description: Minimal CHAPS v2 payout from client master account
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payee:
          individual:
            address:
              country: GB
              state: ''
              zip: SW1A 1AA
              city: London
              street: 1 Bank Street
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
          bankSwiftCode: BARCGB22
    PayoutBankTransferChapsV2FromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsV2Entity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: Minimum payload for CHAPS v2 payout (virtual account)
      description: CHAPS v2 payout from client virtual account with payer IBAN
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payer:
          individual:
            lastName: Doe
            firstName: John
        payee:
          individual:
            address:
              country: GB
              state: ''
              zip: SW1A 1AA
              city: London
              street: 1 Bank Street
            lastName: Doe
            firstName: John
        payeeRequisite:
          sortCode: '200052'
          accountNumber: '75849855'
          bankSwiftCode: BARCGB22
        payerRequisite:
          iban: GBXXCLJU04130729903682
    PayoutBankTransferChapsCrossSchemeFull:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsCrossSchemeEntity
      summary: Request schema
      description: Full parameters set for CHAPS Cross Scheme payout
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: ''
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        payeeRequisite:
          iban: GBXXCLJU04130729900988
          bankSwiftCode: UBSWCHZH80A
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        payerRequisite:
          iban: GBXXCLJU04130729900988
    PayoutBankTransferChapsCrossSchemeFromVirtualAccount:
      x-schema: interfaces.yaml#/PayoutBankTransferChapsCrossSchemeEntity
      x-exclude:
        - customInfo
        - ultimatePayer
        - ultimatePayee
      summary: CHAPS Cross Scheme payout (virtual account, IBAN payee)
      description: CHAPS Cross Scheme payout from virtual account with payer, payee by IBAN
      value:
        clientOrder: 999899-0005
        currency: GBP
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payeeRequisite:
          iban: ES9121000418450200051332
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payer:
          individual:
            lastName: Doe
            firstName: John
        payee:
          individual:
            address:
              country: GB
              state: ''
              zip: SW1A 1AA
              city: London
              street: 123 Main Street
            lastName: Doe
            firstName: John
        payerRequisite:
          iban: GBXXCLJU04130729903682
    PayoutBankTransferSwiftFull:
      x-schema: interfaces.yaml#/PayoutBankTransferSwiftEntity
      summary: Request schema
      description: Full parameters set for SWIFT payout
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        ultimatePayer:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        ultimatePayee:
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
        postbackUrl: https://webhook.invalid/cj-webhook
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        paymentPurposeCodes:
          code: INTP
          category: GP2P
        payer:
          corporate:
            email: peterson.julie@ex.invalid
            name: SuperBubble Limited
            registrationNumber: AAB2827377-837
            incorporationCountry: IT
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            incorporationDate: '2016-12-21'
            legalEntityIdentifier: 222200WWAABBBCCCDD33
        payerRequisite:
          iban: GBXXCLJU04130729900988
        payee:
          corporate:
            email: peterson.julie@ex.invalid
            name: SuperBubble Limited
            registrationNumber: AAB2827377-837
            incorporationCountry: IT
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            incorporationDate: '2016-12-21'
            legalEntityIdentifier: 222200WWAABBBCCCDD33
        payeeRequisite:
          iban: DE89370400440532013000
          institution:
            bankSwiftCode: UBSWCHZH80A
            clearingSystemIdCode: ABA
            memberId: '62116001'
            name: Bank of America
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
          intermediaryInstitution:
            bankSwiftCode: UBSWCHZH80A
            clearingSystemIdCode: ABA
            memberId: '62116001'
            name: Bank of America
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
    PayoutBankTransferSwiftIban:
      x-schema: interfaces.yaml#/PayoutBankTransferSwiftEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
        - paymentPurposeCodes
      summary: Minimum payload for SWIFT payout (IBAN)
      description: SWIFT payout with IBAN payee requisite
      value:
        clientOrder: 999899-0005
        currency: EUR
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          corporate:
            name: SuperBubble Limited
            address:
              country: DE
              zip: '10115'
              city: Berlin
              street: 12 Tourin
        payeeRequisite:
          iban: DE89370400440532013000
          institution:
            bankSwiftCode: UBSWCHZH80A
            name: Bank of America
            address:
              country: US
              zip: '28255'
              city: Charlotte
              street: 100 North Tryon Street
          intermediaryInstitution:
            bankSwiftCode: UBSWCHZH80A
            address:
              country: IT
    PayoutBankTransferSwiftUsdAccountNumber:
      x-schema: interfaces.yaml#/PayoutBankTransferSwiftEntity
      x-exclude:
        - customInfo
        - payer
        - payerRequisite
        - ultimatePayer
        - ultimatePayee
        - paymentPurposeCodes
      summary: Minimum payload for SWIFT payout (USD account number)
      description: SWIFT payout with accountNumber and ABA routing
      value:
        clientOrder: 999899-0005
        currency: USD
        amount: 210.55
        description: Birthday present
        postbackUrl: https://webhook.invalid/cj-webhook
        payee:
          corporate:
            name: SuperBubble Limited
            address:
              country: US
              zip: '28255'
              city: Charlotte
              street: 100 North Tryon Street
        payeeRequisite:
          accountNumber: '299009881'
          institution:
            bankSwiftCode: UBSWCHZH80A
            clearingSystemIdCode: ABA
            memberId: '62116001'
            name: Bank of America
            address:
              country: US
              zip: '28255'
              city: Charlotte
              street: 100 North Tryon Street
          intermediaryInstitution:
            bankSwiftCode: UBSWCHZH80A
            address:
              country: IT
    200_payout_status_response_schema:
      summary: Response schema
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo:
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
          MyExampleParam1: exampleValue1
        label: null
        messages:
          - code: 8
            details: Please check account number.
            message: Incorrect recipient details
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: 2983ght938
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        paymentDetails:
          crossScheme: false
          description: Birthday present
          payeeRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            institution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: Peterson Julie
          payerRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            institution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: Peterson Julie
          paymentMethod: BankTransferSwift
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        siteAddress: null
        status: pending
        subStatuses:
          complianceStatus: pending
          operStatus: pending
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payout_status_settled_sepa_inst:
      summary: Expected payout payload for SEPA Instant status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: b02c-a0d58545
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        paymentDetails:
          crossScheme: false
          description: Birthday present
          payeeRequisite:
            bankSwiftCode: ''
            iban: GB92BARC20005275849855
            name: John Doe
          payerRequisite:
            bankSwiftCode: ''
            iban: GBXXCLJU04130729903682
            name: John Doe
          paymentMethod: BankTransferSepaInst
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: settled
        subStatuses:
          complianceStatus: clean
          operStatus: settled
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payout_status_settled_fps:
      summary: Expected payout payload for FPS status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: GBP
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: GBP
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: b02c-a0d58545
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        paymentDetails:
          crossScheme: false
          description: FPS payout with payer
          payeeRequisite:
            accountNumber: '75849855'
            iban: GB00CLJU00000011111111
            name: John Doe
            sortCode: '200052'
          payerRequisite:
            accountNumber: '80221632'
            iban: GBXXCLJU04130780221632
            name: John Doe
            sortCode: '041307'
          paymentMethod: BankTransferFps
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: settled
        subStatuses:
          complianceStatus: clean
          operStatus: settled
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payout_status_settled_chaps:
      summary: Expected payout payload for CHAPS cross-scheme status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: GBP
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: GBP
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: b02c-a0d58545
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        paymentDetails:
          crossScheme: true
          description: CHAPS Cross Scheme payout
          payeeRequisite:
            bankSwiftCode: ''
            iban: ES9121000418450200051332
            name: John Doe
          payerRequisite:
            accountNumber: '29903682'
            iban: GBXXCLJU04130729903682
            name: Sandbox Limited
            sortCode: '041307'
          paymentMethod: BankTransferChaps
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: settled
        subStatuses:
          complianceStatus: clean
          operStatus: settled
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payout_status_settled_internal:
      summary: Expected payout payload for internal status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: b02c-a0d58545
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        paymentDetails:
          crossScheme: false
          description: Internal payout
          payeeRequisite:
            iban: GBXXCLJU04130729903682
            name: John Doe
          payerRequisite:
            iban: GBXXCLJU04130729900988
            name: Sandbox Limited
          paymentMethod: InternalPayment
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: settled
        subStatuses:
          complianceStatus: clean
          operStatus: settled
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payout_status_settled_swift:
      summary: Expected payout payload for SWIFT status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payer:
          clientCustomerId: b02c-a0d58545
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        paymentDetails:
          crossScheme: false
          description: SWIFT payout
          payeeRequisite:
            accountNumber: '11111111'
            iban: DE89370400440532013000
            institution:
              address:
                city: Charlotte
                country: US
                state: ''
                street: 100 North Tryon Street
                zip: '28255'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: SuperBubble Limited
          payerRequisite:
            accountNumber: '11111111'
            iban: GBXXCLJU04130729900988
            institution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: Sandbox Limited
          paymentMethod: BankTransferSwift
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: settled
        subStatuses:
          complianceStatus: clean
          operStatus: settled
        transactionType: Payout
        valuedAt: '2018-03-26T10:36:26+00:00'
    400_status_not_found_016:
      summary: Not found by reference (016)
      value:
        errors:
          - code: '016'
            details: ''
            message: Not found transaction by this reference.
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_payin_status_response_schema:
      summary: Response schema
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo:
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
          MyExampleParam1: exampleValue1
        label: null
        messages:
          - code: 8
            details: Please check account number.
            message: Incorrect recipient details
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payee:
          clientCustomerId: 2983ght938
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        paymentDetails:
          crossScheme: false
          description: Birthday present
          payeeRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            institution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: Peterson Julie
          payerRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            institution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            intermediaryInstitution:
              address:
                city: Rome
                country: IT
                state: ''
                street: 12 Tourin
                zip: '123455'
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
            name: Peterson Julie
          paymentMethod: BankTransferSwift
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        siteAddress: null
        status: pending
        subStatuses:
          complianceStatus: pending
          operStatus: captured
        transactionType: Payin
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_payin_status_captured_eu_transfer:
      summary: Expected payin payload for EU transfer status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payee:
          clientCustomerId: 2983ght938
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        paymentDetails:
          crossScheme: false
          description: Birthday present
          payeeRequisite:
            bankSwiftCode: UBSWCHZH80A
            iban: GBXXCLJU04130729900988
            name: Peterson Julie
          payerRequisite:
            bankSwiftCode: UBSWCHZH80A
            iban: GBXXCLJU04130729900988
            name: Peterson Julie
          paymentMethod: BankTransferEu
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: captured
        subStatuses:
          complianceStatus: approved
          operStatus: captured
        transactionType: Payin
        valuedAt: '2017-09-05T10:37:15+00:00'
    200_payin_status_captured_fps_transfer:
      summary: Expected payin payload for FPS transfer status
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: GBP
        customFormat: {}
        customInfo: {}
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: GBP
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        payee:
          clientCustomerId: 2983ght938
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        paymentDetails:
          crossScheme: false
          description: Birthday present
          payeeRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            name: Peterson Julie
            sortCode: '000000'
          payerRequisite:
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            name: Peterson Julie
            sortCode: '000000'
          paymentMethod: BankTransferFps
        productName: depricated
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: captured
        subStatuses:
          complianceStatus: approved
          operStatus: captured
        transactionType: Payin
        valuedAt: '2017-09-05T10:37:15+00:00'
    400_refund_not_found_016:
      summary: Not found by reference (016)
      value:
        errors:
          - code: '016'
            details: ''
            message: Not found transaction by this reference.
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_refund_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: Required but empty
            message: Missing or invalid parameter
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_refund_technical_005_refund_amount:
      summary: Technical error (005) - Refund amount exceeds original
      value:
        errors:
          - code: '005'
            details: Refund failure. Refund amount exceeds the original transaction amount.
            message: Technical Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_responseSchemaRefund:
      summary: Response schema
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo:
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
          MyExampleParam1: exampleValue1
        label: null
        messages:
          - code: 8
            details: Please check account number.
            message: Incorrect recipient details
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        paymentDetails:
          description: Birthday present
        productName: depricated
        relatedOrderReference: 8a934717-72ed-45a2-9730-393a3f04bdf7
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        siteAddress: null
        status: created
        subStatuses:
          complianceStatus: pending
          operStatus: created
        transactionType: Refund
        valuedAt: '2018-03-26T10:36:26+00:00'
    200_refund_status_captured:
      summary: Refund status (captured)
      value:
        amount: 210.55
        clientOrder: 999899-0005
        currency: EUR
        customFormat: {}
        customInfo: []
        label: null
        messages: []
        operTimestamp: '2017-09-05T10:37:15+00:00'
        operationAmount: 230.55
        operationCurrency: EUR
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        paymentDetails:
          description: Refund transaction
        productName: depricated
        relatedOrderReference: 8a934717-72ed-45a2-9730-393a3f04bdf7
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        returned: false
        siteAddress: null
        status: captured
        subStatuses:
          complianceStatus: clean
          operStatus: captured
        transactionType: Refund
        valuedAt: '2018-03-26T10:36:26+00:00'
    400_fx_rate_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: ''
            message: 'Missing or invalid parameter: sellCurrency'
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_fx_transfer_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: ''
            message: Invalid sellAmount or buyAmount. Minimum amount should be 500.
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_fx_transfer_technical_010:
      summary: Amount limits (010)
      value:
        errors:
          - code: '010'
            details: ''
            message: Amount limits exceeded
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    AllocateIbanV3IndividualRequestSchema:
      x-schema: interfaces.yaml#/AllocateIbanV3AsyncRequestEntity
      summary: Request schema
      description: Request schema for Allocate IBAN V3
      value:
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        ibansGroup: DEFAULT
        ibanCountry: GB
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        registrant:
          clientCustomerId: 2983ght938
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              issuedBy: Ministry of Interior
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
            birthCountry: IT
            taxNumber: '7728168971'
            taxCountry: IT
    AllocateIbanV3IndividualCustom:
      x-schema: interfaces.yaml#/AllocateIbanV3AsyncRequestEntity
      x-exclude:
        - walletUuid
        - ibansGroup
        - ibanCountry
        - customInfo
      summary: Individual registrant with wallet
      description: Allocate IBAN V3 for an individual customer using a specific walletUuid.
      value:
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        registrant:
          clientCustomerId: 2983ght938
          individual:
            birthDate: '1999-09-29'
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
        document:
          type: passport
          number: AB1234567
          issuedCountryCode: GB
          expirationDate: '2030-12-31'
    AllocateIbanV3CorporateCustom:
      x-schema: interfaces.yaml#/AllocateIbanV3AsyncRequestEntity
      x-exclude:
        - walletUuid
        - ibansGroup
        - ibanCountry
        - customInfo
      summary: Corporate registrant
      description: Allocate IBAN V3 for a corporate customer with extended compliance details.
      value:
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        registrant:
          clientCustomerId: 2983ght938
          corporate:
            name: HUB LTD
            registrationNumber: '279792'
            incorporationCountry: CY
            address:
              country: CY
              zip: '2041'
              city: NOCOSIA
              street: THISEOS 221
            incorporationDate: '2024-08-24'
            tradingWebsite: appartments-cy.com
            expectedTurnover: 5000000
            fundFlows:
              plannedIncTransfersQuantity: 5000
              plannedIncTransfersEurVolume: 5000000
              plannedOutTransfersQuantity: 7500
              plannedOutTransfersEurVolume: 4000000
            taxCountry: CY
            complianceEvaluation:
              amlRiskLevel: Low
              reviewPeriodicity: QUARTERLY
              appliedLimits: NONE
            otherDetails:
              businessActivity: The company will be the designer and developer of the intellectual property
            businessPartners:
              - name: SERVICES LTD
                incorporationCountryCode: CY
                plannedTransfersQuantityMonth: 1
                plannedTransfersEurVolumeMonth: 6000
                basisPartnership: SERVICE PROVIDER
                website: trust.com
              - name: B SERVICES LTD
                incorporationCountryCode: CY
                plannedTransfersQuantityMonth: 1
                plannedTransfersEurVolumeMonth: 6000
                basisPartnership: SERVICE PROVIDER
                website: compservice.com.cy
            ultimateBeneficialOwner:
              - lastName: Doe
                firstName: John
                birthDate: '1985-11-17'
                ownership: '100'
                document:
                  expirationDate: '2035-01-26'
                  number: '244450363'
                  issuedCountryCode: GB
                  type: passport
                beneficialOwnerPep: false
                usaTaxResidency: false
    400_allocate_iban_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: Required but empty
            message: Missing or invalid parameter
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_allocate_iban_technical_012:
      summary: Technical error (012)
      value:
        errors:
          - code: '012'
            details: Duplicate clientOrder
            message: Technical Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_allocate_iban_validation_007_document_expiration:
      summary: Validation error (007) - Document expiration date
      value:
        errors:
          - code: '007'
            details: Invalid expirationDate. Must be at least one month from current date.
            message: 'Missing or invalid parameter: registrant.individual.document.expirationDate'
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_allocate_iban_validation_007_birthdate:
      summary: Validation error (007) - Birth date age
      value:
        errors:
          - code: '007'
            details: Invalid birthDate. Must be 16 or greater and not more than 85 y.o.
            message: 'Missing or invalid parameter: birthDate'
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    409_allocate_iban_conflict_409:
      summary: Conflict (409)
      value:
        errors:
          - code: 005BR
            details: Multiple similar requests forbidden
            message: Logic Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_virtual_account_close_validation_007_iban:
      summary: Validation error (007) - Invalid IBAN format
      value:
        errors:
          - code: '007'
            details: Does not match /^GB.*$/
            message: 'Missing or invalid parameter: iban'
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    AllocateV4IbanFull:
      x-schema: interfaces.yaml#/AllocateV4IbanRequestEntity
      summary: Full Schema request - Allocate IBAN account
      description: Complete payload for virtual IBAN allocation.
      value:
        accountType: iban
        accountCategory: '041307'
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        registrant:
          clientCustomerId: 2983ght938
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
    AllocateV4CryptoFull:
      x-schema: interfaces.yaml#/AllocateV4CryptoAddressRequestEntity
      summary: Full Schema request - Allocate crypto address
      description: Complete payload for crypto address allocation.
      value:
        accountCategory: ethereum_erc20
        accountType: crypto_address
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        registrant:
          clientCustomerId: 2983ght938
          individual:
            phone: '34712345678'
            email: peterson.julie@ex.invalid
            birthDate: '1999-09-29'
            birthPlace: Madrid, Spain
            address:
              country: IT
              state: ''
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              issuedBy: Ministry of Interior
              issuedDate: '2016-12-21'
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
            middleName: Maria
    AllocateV4IbanIndividual:
      x-schema: interfaces.yaml#/AllocateV4IbanRequestEntity
      x-exclude:
        - walletUuid
        - ibansGroup
        - ibanCountry
        - customInfo
      summary: Minimal request - Individual IBAN account
      description: Complete payload for virtual IBAN allocation.
      value:
        accountType: iban
        accountCategory: '041307'
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        registrant:
          clientCustomerId: 2983ght938
          individual:
            birthDate: '1999-09-29'
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
    AllocateV4CryptoIndividual:
      x-schema: interfaces.yaml#/AllocateV4CryptoAddressRequestEntity
      x-exclude:
        - walletUuid
        - ibansGroup
        - ibanCountry
        - customInfo
      summary: Minimal request - Individual crypto address
      description: Complete payload for crypto address allocation.
      value:
        accountCategory: ethereum_erc20
        accountType: crypto_address
        clientOrder: 999899-0005
        postbackUrl: https://webhook.invalid/cj-webhook
        registrant:
          clientCustomerId: 2983ght938
          individual:
            birthDate: '1999-09-29'
            address:
              country: IT
              zip: '123455'
              city: Rome
              street: 12 Tourin
            document:
              type: passport
              number: AB1000222
              issuedCountryCode: IT
              expirationDate: '2026-12-20'
            lastName: Peterson
            firstName: Julie
    400_get_wallet_validation_00311:
      summary: Validation error (00311)
      value:
        errors:
          - code: '00311'
            details: Invalid parameter format
            message: Validation error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_get_wallet_business_005W1:
      summary: Wallet not found (005W1)
      value:
        errors:
          - code: 005W1
            details: Wallet not found
            message: Logic Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_get_wallet_logic_005S0:
      summary: Logic error (005S0) - Too many linked accounts
      value:
        errors:
          - code: 005S0
            details: Wallet contains more than 500 linked accounts. Occurs when ?paymentMethods=true.
            message: Logic Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_resoponseSchema:
      summary: Response schema
      value:
        report:
          - amount: 210.55
            clientOrder: 999899-0005
            currency: EUR
            messages:
              - code: 8
                details: Please check account number.
                message: Incorrect recipient details
            operStatus: declined
            operTimestamp: '2017-09-05T10:37:15+00:00'
            operationAmount: 230.55
            operationCurrency: EUR
            orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
            transactionType: Payin
            walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_payin_status_progression:
      summary: Payin status progression
      value:
        report:
          - amount: 147
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: created
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: 150
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payin
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: 147
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: pending
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: 150
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payin
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: 147
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: authorized
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: 150
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payin
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: 147
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: captured
            operTimestamp: '2026-01-15T14:17:41+00:00'
            operationAmount: 150
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payin
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_payout_status_progression:
      summary: Payout status progression
      value:
        report:
          - amount: -150
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: created
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: -147
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payout
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: -150
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: pending
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: -147
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payout
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: -150
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: authorized
            operTimestamp: '2026-01-15T14:16:49+00:00'
            operationAmount: -147
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payout
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: -150
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: captured
            operTimestamp: '2026-01-15T14:17:41+00:00'
            operationAmount: -147
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payout
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          - amount: -150
            clientOrder: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            currency: EUR
            messages: []
            operStatus: settled
            operTimestamp: '2026-01-15T14:17:41+00:00'
            operationAmount: -147
            operationCurrency: EUR
            orderReference: a0d7c99c-ee4a-454b-80f1-43087f7842f8
            transactionType: Payout
            walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_transaction_report_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: Required but empty
            message: Missing or invalid parameter
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    200_responseSchemaStatement:
      summary: Response schema
      value:
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        statements:
          - balanceIn: 0
            balanceOut: 0
            countIn: 0
            countOut: 0
            currency: EUR
            transactions:
              - {}
            turnIn: 0
            turnOut: 0
    200_multi_currency_statement:
      summary: Multi-currency statement (EUR + GBP, SEPA + FPS)
      value:
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        statements:
          - balanceIn: 0
            balanceOut: 9970
            countIn: 1
            countOut: 0
            currency: EUR
            transactions:
              - amount: 9970
                clientOrder: a0d588db-4b47-419b-a77c-86e3ee05c229
                feeAmount: 30
                orderReference: a0d588db-4b47-419b-a77c-86e3ee05c229
                paymentDetails:
                  crossScheme: false
                  description: SEPA original payment description
                  payeeRequisite:
                    bankSwiftCode: CLJUGB21XXX
                    iban: GBXXCLJU04130729903682
                    name: Sandbox Limited
                  payerRequisite:
                    bankSwiftCode: CAIXESBBXXX
                    iban: ES9121000418450200051332
                    name: John Doe
                  paymentMethod: BankTransferEu
                valuedAt: '2026-01-14T11:24:39+00:00'
            turnIn: 9970
            turnOut: 0
          - balanceIn: 0
            balanceOut: 9970
            countIn: 1
            countOut: 0
            currency: GBP
            transactions:
              - amount: 9970
                clientOrder: a0d588e5-880f-4f03-a5d6-085ba80f9a77
                feeAmount: 30
                orderReference: a0d588e5-880f-4f03-a5d6-085ba80f9a77
                paymentDetails:
                  crossScheme: false
                  description: SEPA original payment description
                  payeeRequisite:
                    accountNumber: '29903682'
                    iban: GBXXCLJU04130729903682
                    name: Sandbox Limited
                    sortCode: '041307'
                  payerRequisite:
                    accountNumber: '00051332'
                    iban: ES9121000418450200051332
                    name: John Doe
                    sortCode: '184502'
                  paymentMethod: BankTransferFps
                valuedAt: '2026-01-14T11:24:48+00:00'
            turnIn: 9970
            turnOut: 0
    400_statement_validation_007:
      summary: Validation error (007)
      value:
        errors:
          - code: '007'
            details: Required but empty
            message: Not valid time interval
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_statement_technical_005:
      summary: Technical error (005)
      value:
        errors:
          - code: '005'
            details: ''
            message: Technical Error
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_check_requisite_cop_validation_007_sortCode:
      summary: Validation error (007) - Invalid sortCode
      value:
        errors:
          - code: '007'
            details: Invalid payeeRequisite.sortCode
            message: Invalid payeeRequisite.sortCode
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    400_check_requisite_iban_validation_007_invalid_iban:
      summary: Validation error (007) - Invalid IBAN
      value:
        errors:
          - code: '007'
            details: 'iban: Please provide a valid IBAN'
            message: Please provide a valid IBAN
        requestReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
    PayoutNotificationRequestSchema:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Request schema
      description: Request schema for payout notification webhook.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages:
          - code: 8
            message: Incorrect recipient details
            details: Please check account number.
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: pending
        transactionType: Payout
        subStatuses:
          operStatus: pending
          complianceStatus: pending
        payer:
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
          clientCustomerId: 2983ght938
        paymentDetails:
          paymentMethod: BankTransferSwift
          payeeRequisite:
            name: Peterson Julie
            iban: GB00CLJU00000011111111
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          payerRequisite:
            name: Peterson Julie
            iban: GB00CLJU00000011111111
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
    PayoutNotificationSettledSepaInst:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Expected payout payload for SEPA Instant webhook
      description: Expected webhook payload for a settled SEPA Instant payout.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: settled
        transactionType: Payout
        subStatuses:
          operStatus: settled
          complianceStatus: clean
        payer:
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          clientCustomerId: b52b-6f0a6ac9526
        paymentDetails:
          paymentMethod: BankTransferSepaInst
          payeeRequisite:
            iban: GB92BARC20005275849855
            bankSwiftCode: ''
            name: John Doe
          payerRequisite:
            iban: GBXXCLJU04130729903682
            bankSwiftCode: ''
            name: Sandbox Limited
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
        returned: false
    PayoutNotificationSettledFps:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Expected payout payload for FPS webhook
      description: Expected webhook payload for a settled FPS payout.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: GBP
        amount: 210.55
        operationCurrency: GBP
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: settled
        transactionType: Payout
        subStatuses:
          operStatus: settled
          complianceStatus: clean
        payer:
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          clientCustomerId: b52b-6f0a6ac9526
        paymentDetails:
          paymentMethod: BankTransferFps
          payeeRequisite:
            sortCode: '200052'
            accountNumber: '75849855'
            iban: GB00CLJU00000011111111
            name: John Doe
          payerRequisite:
            sortCode: '041307'
            accountNumber: '80221632'
            iban: GBXXCLJU04130780221632
            name: John Doe
          description: FPS payout with payer
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
        returned: false
    PayoutNotificationSettledChaps:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Expected payout payload for CHAPS cross-scheme webhook
      description: Expected webhook payload for a settled CHAPS cross-scheme payout.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: GBP
        amount: 210.55
        operationCurrency: GBP
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: settled
        transactionType: Payout
        subStatuses:
          operStatus: settled
          complianceStatus: clean
        payer:
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          clientCustomerId: b52b-6f0a6ac9526
        paymentDetails:
          paymentMethod: BankTransferChaps
          payeeRequisite:
            sortCode: '000000'
            accountNumber: '11111111'
            iban: ES9121000418450200051332
            name: John Doe
            bankSwiftCode: ''
          payerRequisite:
            sortCode: '041307'
            accountNumber: '29903682'
            iban: GBXXCLJU04130729903682
            name: Sandbox Limited
            crossScheme: true
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
        returned: false
    PayoutNotificationSettledInternal:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Expected payout payload for internal webhook
      description: Expected webhook payload for a settled internal payout.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: settled
        transactionType: Payout
        subStatuses:
          operStatus: settled
          complianceStatus: clean
        payer:
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          clientCustomerId: b52b-6f0a6ac9526
        paymentDetails:
          paymentMethod: InternalPayment
          payeeRequisite:
            iban: GBXXCLJU04130729903682
            name: John Doe
          payerRequisite:
            iban: GBXXCLJU04130729900988
            name: Sandbox Limited
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
        returned: false
    PayoutNotificationSettledSwift:
      x-schema: interfaces.yaml#/PayoutNotificationMessageEntity
      summary: Expected payout payload for SWIFT webhook
      description: Expected webhook payload for a settled SWIFT payout.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: settled
        transactionType: Payout
        subStatuses:
          operStatus: settled
          complianceStatus: clean
        payer:
          walletUuid: a0d58545-82f2-4d88-addd-c8b1dcb773a2
          clientCustomerId: b52b-6f0a6ac9526
        paymentDetails:
          paymentMethod: BankTransferSwift
          payeeRequisite:
            name: SuperBubble Limited
            iban: DE89370400440532013000
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: US
                state: ''
                zip: '28255'
                city: Charlotte
                street: 100 North Tryon Street
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          payerRequisite:
            name: Sandbox Limited
            iban: GBXXCLJU04130729900988
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          description: SWIFT payout
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payoutNotification
        returned: false
    PayinNotificationRequestSchema:
      x-schema: interfaces.yaml#/PayinNotificationMessageEntity
      summary: Request schema
      description: Request schema for payin notification webhook.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages:
          - code: 8
            message: Incorrect recipient details
            details: Please check account number.
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        status: pending
        transactionType: Payin
        subStatuses:
          operStatus: captured
          complianceStatus: pending
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        payee:
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
          clientCustomerId: 2983ght938
        paymentDetails:
          paymentMethod: BankTransferSwift
          payeeRequisite:
            name: Peterson Julie
            iban: GB00CLJU00000011111111
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          payerRequisite:
            name: Peterson Julie
            iban: GB00CLJU00000011111111
            accountNumber: '11111111'
            institution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
            intermediaryInstitution:
              bankSwiftCode: UBSWCHZH80A
              clearingSystemIdCode: ABA
              memberId: '62116001'
              name: Bank of America
              address:
                country: IT
                state: ''
                zip: '123455'
                city: Rome
                street: 12 Tourin
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payinNotification
    PayinNotificationCapturedEuTransfer:
      x-schema: interfaces.yaml#/PayinNotificationMessageEntity
      summary: Expected payin payload for EU transfer webhook
      description: Expected webhook payload for a captured EU transfer payin.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2026-03-25T08:19:17+00:00'
        status: captured
        transactionType: Payin
        subStatuses:
          operStatus: captured
          complianceStatus: approved
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        payee:
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
          clientCustomerId: 2983ght938
        paymentDetails:
          paymentMethod: BankTransferEu
          payeeRequisite:
            iban: GBXXCLJU04130729900988
            bankSwiftCode: UBSWCHZH80A
            name: Peterson Julie
          payerRequisite:
            iban: GBXXCLJU04130729900988
            bankSwiftCode: UBSWCHZH80A
            name: Peterson Julie
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payinNotification
        returned: false
    PayinNotificationCapturedFpsTransfer:
      x-schema: interfaces.yaml#/PayinNotificationMessageEntity
      summary: Expected payin payload for FPS transfer webhook
      description: Expected webhook payload for a captured FPS transfer payin.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: GBP
        amount: 210.55
        operationCurrency: GBP
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2026-03-25T08:19:17+00:00'
        status: captured
        transactionType: Payin
        subStatuses:
          operStatus: captured
          complianceStatus: approved
        payer:
          address:
            addressOneString: IT, DSS, 123455, Rome, 12 Tourin
            country: IT
        payee:
          walletUuid: 348e11ab-dbfb-4ae8-99e7-349b00868f6f
          clientCustomerId: 2983ght938
        paymentDetails:
          paymentMethod: BankTransferFps
          payeeRequisite:
            sortCode: '000000'
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            name: Peterson Julie
          payerRequisite:
            sortCode: '000000'
            accountNumber: '11111111'
            iban: GB00CLJU00000011111111
            name: Peterson Julie
          description: Birthday present
          crossScheme: false
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: payinNotification
        returned: false
    RefundNotificationRequestSchema:
      x-schema: interfaces.yaml#/RefundNotificationMessageEntity
      summary: Request schema
      description: Request schema for refund notification webhook.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages:
          - code: 8
            message: Incorrect recipient details
            details: Please check account number.
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo:
          MyExampleParam1: exampleValue1
          MyExampleObject1:
            MyExampleParam2: exampleValue2
            MyExampleParam3: exampleValue3
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        relatedOrderReference: 8a934717-72ed-45a2-9730-393a3f04bdf7
        status: created
        subStatuses:
          operStatus: created
          complianceStatus: pending
        transactionType: Refund
        paymentDetails:
          description: Birthday present
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: refundNotification
    RefundNotificationCapturedProd:
      x-schema: interfaces.yaml#/RefundNotificationMessageEntity
      summary: Expectedrefund webhook payload
      description: Alternative refund webhook example based on a real production payload.
      value:
        clientOrder: 999899-0005
        orderReference: 12d603fa-4d0b-4fec-a9b0-cc3114da134e
        operTimestamp: '2017-09-05T10:37:15+00:00'
        messages: []
        currency: EUR
        amount: 210.55
        operationCurrency: EUR
        operationAmount: 230.55
        productName: depricated
        siteAddress: null
        label: null
        customInfo: {}
        customFormat: {}
        valuedAt: '2018-03-26T10:36:26+00:00'
        relatedOrderReference: a163d7ed-840d-49d5-8141-56d8d38340c2
        status: captured
        subStatuses:
          operStatus: created
          complianceStatus: pending
        transactionType: Refund
        paymentDetails:
          description: REFUND a163d7ed-840d-49d5-8141-76d8d38340e2
        messageUuid: 8a7214dc-b89d-4836-ade3-9a4a50b686e4
        type: refundNotification
x-tagGroups:
  - name: Balances
    tags:
      - wallet_get_balance
  - name: Payouts
    tags:
      - payout_overview
      - payout_create
      - payout_status
      - payout_actions
      - payout_payee_details_validation
  - name: Payins
    tags:
      - payin_overview
      - payin_status
  - name: Refunds
    tags:
      - refund_overview
      - refund_create
      - refund_status
  - name: Foreign Exchange
    tags:
      - fx_overview
      - fx_rate
      - fx_transfer
      - fx_status
  - name: Virtual Accounts
    tags:
      - virtual_accounts_overview
      - virtual_accounts_create
      - virtual_accounts_status
      - virtual_accounts_actions
  - name: Client Money Account e-Wallet
    tags:
      - wallets_overview
      - wallets_create
      - wallets_status
      - wallet_state
      - wallets_actions
      - wallet_transfer_status
  - name: Reports
    tags:
      - reports_overview
      - reports_transaction
      - reports_statement
  - name: Webhooks
    tags:
      - webhooks_overview
      - payout_webhooks
      - payin_webhooks
      - refund_webhooks
      - fx_webhooks
      - virtual_accounts_webhooks
      - wallets_webhooks
  - name: Tokenize
    tags:
      - tokenize_overview
      - tokenize_create
  - name: Common Errors
    tags:
      - common_errors
