openapi: 3.1.0
info:
  title: April API
  version: '3.0'
tags:
  - name: Authentication
    description: >
      These endpoints provide various methods for authenticating users from a
      backend service.

       * **POST** [/auth/signin](/openapi/april-public/operation/SignInCustomer/) 
      Sign-in from a backend service on behalf of a consumer customer (B2C) or
      customer delegate (B2B)
  - name: Customers
    description: >
      A person or business purchasing goods or services from a merchant using
      Spenda to facilitate the payment.
       Customers are defined at the merchant level, so if an individual makes payments with multiple merchants,
       they will have a customer record for each of these merchants.

       Spenda supports two broad categories of customers:

       **Consumer customers** are individuals typically making purchases from the merchant via e-commerce websites.
       They are uniquely identified by `emailAddress` for a given merchant.

       **Organisation customers** represent businesses wishing to make purchases from the merchant.
       They are uniquely identified by `referenceCustomerId` for a given merchant.

       * **GET** [/customers](/openapi/april-public/operation/QueryCustomers/) Return a paginated list of matching customers
      * **POST** [/customers](/openapi/april-public/operation/UpsertCustomer/) 

      Create a new customer or update the details of an existing customer

      * **GET**
      [/customers/{customerId}](/openapi/april-public/operation/GetCustomer/)
      Return details of a customer

      * **POST** [/customers/kyc](/openapi/april-public/operation/KycCustomer/)
      Perform a Know Your Customer (KYC) check on a consumer customer

      * **GET**
      [/customers/delegates](/openapi/april-public/operation/QueryCustomerDelegates/)
      Return a paginated list of matching customer delegates

      * **GET**
      [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/GetCustomerDelegate/)
      Return details of a customer delegate

      * **PATCH**
      [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/UpdateCustomerDelegate/)
      Various actions for updating a customer delegate such as linking to a new
      customer

      * **DELETE**
      [/customers/delegates/{customerDelegateId}](/openapi/april-public/operation/DeleteCustomerDelegate/)
      Delete a customer delegate
  - name: Merchants
    description: >
      A business or individual that uses Spenda to facilitate payments for their
      customers.

       * **GET** [/merchants](/openapi/april-public/operation/QueryMerchants/) Return a paginated list of matching merchants
      * **POST** [/merchants](/openapi/april-public/operation/CreateMerchant/)
      Create a new sub-merchant within the context of a marketplace

      * **GET**
      [/merchants/{merchantId}](/openapi/april-public/operation/GetMerchant/)
      Return details of a merchant

      * **PATCH**
      [/merchants/{merchantId}](/openapi/april-public/operation/UpdateMerchant/)
      Various actions for updating a merchant such as updating the bank account
      used for payouts

      * **GET**
      [/merchants/{merchantId}/balances](/openapi/april-public/operation/QueryBalances/)
      Query the account balances of a merchant

      * **POST**
      [/merchants/{merchantId}/files](/openapi/april-public/operation/UploadMerchantFile/)
      Upload a document scan as part of the merchant onboarding profile

      * **GET**
      [/merchants/{merchantId}/files/{fileId}](/openapi/april-public/operation/GetMerchantFile/)
      Get details on a merchant onboarding file

      * **GET**
      [/merchants/{merchantId}/applepay](/openapi/april-public/operation/GetMerchantApplePayDomains/)
      Get the domains registered for ApplePay for the specified merchant

      * **GET**
      [/merchants/{merchantId}/owners](/openapi/april-public/operation/ListBeneficialOwners/)
      Return details of all beneficial owners for the given merchant

      * **POST**
      [/merchants/{merchantId}/owners](/openapi/april-public/operation/CreateBeneficialOwner/)
      Create a beneficial owner for the given merchant

      * **GET**
      [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/GetBeneficialOwner/)
      Return details of a beneficial owner

      * **PUT**
      [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/ReplaceBeneficialOwner/)
      Overwrite an existing beneficial owner

      * **DELETE**
      [/merchants/{merchantId}/owners/{ownerId}](/openapi/april-public/operation/DeleteBeneficialOwner/)
      Delete a beneficial owner

      * **GET**
      [/merchants/industries](/openapi/april-public/operation/GetIndustries/)
      List all industries we currently support
  - name: Payment sources
    description: >
      A payment source represents a reusable source of funds to use for
      payments.

       * **GET** [/sources/{sourceId}](/openapi/april-public/operation/GetPaymentSource/) 
      * **DELETE**
      [/sources/{sourceId}](/openapi/april-public/operation/DeletePaymentSource/) 

      * **POST**
      [/sources](/openapi/april-public/operation/CreatePaymentSource/) Register
      a payment source that may be used to pay for one or more payments

      * **GET** [/sources](/openapi/april-public/operation/QueryPaymentSources/)
      Return a paginated list of matching payment sources

      * **GET**
      [/sources/blockedcards](/openapi/april-public/operation/QueryBlockedCardEvents/)
      Return a paginated list of events related to cards that have been blocked

      * **PATCH**
      [/sources/blockedcards/{cardBlockId}](/openapi/april-public/operation/UpdateBlockedCard/)
      Update actions on blocked cards
  - name: Payment tokens
    description: >
      A payment token represents a single use reference to a source of funds
      that can be used to pay for an order.

       * **POST** [/tokens](/openapi/april-public/operation/CreatePaymentToken/) 
      Generate a pay-in-full payment token based on the provided payment source

      * **GET**
      [/tokens/{paymentTokenId}](/openapi/april-public/operation/QueryPaymentToken/)
      Get the details for a pay-in-full payment token

      * **POST**
      [/tokens/{merchantId}/surchargequote](/openapi/april-public/operation/CalculateSurcharge/)
      Calculates the surcharged amounts for the specified payment type
  - name: Pay plans
    description: >
      A pay plan represents a payment where the Spenda platform has extended a
      loan to make a purchase that

      the customer pays back over one or more instalments.

       * **POST** [/payplans/offer](/openapi/april-public/operation/CreatePayPlanOffer/) Create a pay plan offer for a registered and KYC'd merchant customer
      * **GET** [/payplans](/openapi/april-public/operation/QueryPayPlans/)
      Return a paginated list of matching pay plans

      * **POST** [/payplans](/openapi/april-public/operation/CreatePayPlan/)
      Create a pay plan and payment token from a successful pay plan offer

      * **GET**
      [/payplans/{payPlanId}](/openapi/april-public/operation/GetPayPlan/)
      Return details of a pay plan

      * **POST**
      [/payplans/max](/openapi/april-public/operation/CalculatePayPlanMaxLoan/)
      Return the maximum loan amount the given customer is currently eligible
      for

      * **POST**
      [/payplans/parameters](/openapi/april-public/operation/CalculatePayPlanParameters/)
      Calculate the pay plan parameters for the given amount and list of
      variants
  - name: Orders
    description: >
      An order captures the details of the goods or services that the customer
      is

      purchasing from the merchant.

       * **GET** [/orders](/openapi/april-public/operation/QueryOrders/) Return a paginated list of matching orders
      * **POST** [/orders](/openapi/april-public/operation/CreateOrder/) Creates
      a new order

      * **POST**
      [/orders/{orderId}/pay](/openapi/april-public/operation/PayOrder/) 

      Pay for an order using a payment token

      * **GET** [/orders/{orderId}](/openapi/april-public/operation/GetOrder/)
      Retrieves an order

      * **DELETE**
      [/orders/{orderId}](/openapi/april-public/operation/CancelOrder/) Cancels
      an order, invalidating it from being payable

      * **PATCH**
      [/orders/{orderId}](/openapi/april-public/operation/UpdateOrder/) Actions
      for modifying an existing order
  - name: Simulation
    description: >
      Sandbox only endpoints for simulating external events such as a bank
      transfer.

       * **POST** [/simulation](/openapi/april-public/operation/Simulation/) Sandbox only endpoint to simulate external events such as a bank transfer being performed
  - name: Transactions
    description: >
      A transaction is a payment from the perspective of a merchant.

      The transaction shows how much the merchant will be paid, if they have
      been paid already

      and whether there have been any refunds.

       * **GET** [/transactions/{transactionId}](/openapi/april-public/operation/GetTransaction/) Return details of a transaction
      * **GET**
      [/transactions](/openapi/april-public/operation/QueryTransactions/) Return
      a paginated list of matching transactions

      * **PATCH**
      [/transactions/{transactionId}](/openapi/april-public/operation/UpdateTransaction/)
      Various actions for updating a transaction such as issuing a refund

      * **POST**
      [/transactions/payouts](/openapi/april-public/operation/CreateManualPayout/) 

      Request to create a manual payout for a merchant

      * **GET**
      [/transactions/payouts](/openapi/april-public/operation/QueryPayoutSummaries/)
      Return a paginated list of matching payout summaries

      * **GET**
      [/transactions/payouts/{payoutId}](/openapi/april-public/operation/GetPayoutDetails/)
      Return an aggregated breakdown of the money movements included in the
      payout along with details of the disbursement itself

      * **GET**
      [/transactions/invoices](/openapi/april-public/operation/QueryMerchantInvoices/)
      Return a paginated list of matching merchant invoices

      * **GET**
      [/transactions/invoices/{invoiceId}](/openapi/april-public/operation/GetMerchantInvoiceDetails/)
      Return an aggregated breakdown of the money movements included in the
      invoice along with billing details

      * **GET**
      [/transactions/invoices/{invoiceId}/pdf](/openapi/april-public/operation/GetMerchantInvoicePdf/)
      Return a PDF of the merchant invoice intended to be sent to the payer
      merchant

      * **GET**
      [/transactions/settlement](/openapi/april-public/operation/QuerySettlementEntries/) 

      Return a paginated list of all settlement entries matching the given
      search criteria

      * **GET**
      [/transactions/settlement/report](/openapi/april-public/operation/ReportSettlementEntries/) 

      Return a list of all settlement entries matching the given search criteria

      * **GET**
      [/transactions/disputes](/openapi/april-public/operation/QueryDisputes/) 

      Return a paginated list of all disputes matching the given search criteria

      * **GET**
      [/transactions/refunds](/openapi/april-public/operation/QueryRefunds/)
      Return a paginated list of matching refunds
  - name: Marketplaces
    description: >
      A B2B2C setup where an entity with business customers (sub-merchants) uses
      Spenda to facilitate payments for their customers' customers.

       * **GET** [/marketplaces/{marketplaceId}](/openapi/april-public/operation/GetMarketplace/) Return details of a marketplace
      * **POST**
      [/marketplaces/customer](/openapi/april-public/operation/UpsertMarketplaceCustomer/) 

      Marketplace customers allow marketplaces to onboard their customers once
      and have them available over all their sub-merchants
    externalDocs:
      url: /developer-portal/marketplace/
      description: Marketplace Integration
  - name: Webhooks
    description: >
      Webhooks are a mechanism where merchants and marketplaces can register an
      endpoints against one or more

      events. When these events occur, a POST HTTP request is made to the
      registered endpoint with the event details.

       * **GET** [/webhooks](/openapi/april-public/operation/QueryWebhookSubscriptions/) Return a paginated list of matching webhook subscriptions
      * **POST**
      [/webhooks](/openapi/april-public/operation/CreateWebhookSubscription/) 

      Create a new webhook subscription

      * **GET**
      [/webhooks/{id}](/openapi/april-public/operation/GetWebhookSubscription/)
      Return details of a webhook subscription

      * **PATCH**
      [/webhooks/{id}](/openapi/april-public/operation/UpdateWebhookSubscription/)
      Update an existing webhook subscription
  - name: Loans
    description: >
      Loans are payment products where credit is extended by a loan facility to
      a borrower. The borrower can be

      either an individual or a business depending on the loan product in
      question.

       * **GET** [/loans](/openapi/april-public/operation/QueryLoanSummaries/) Return a paginated list of matching loan summaries
      * **GET**
      [/loans/statements/{loanStatementId}](/openapi/april-public/operation/GetLoanStatementSummary/)
      Return a loan statement summary

      * **GET**
      [/loans/statements](/openapi/april-public/operation/QueryLoanStatementSummaries/)
      Return a paginated list of matching loan statement summaries

      * **GET**
      [/loans/statements/entries](/openapi/april-public/operation/QueryLoanStatementEntries/) 

      Return a paginated list of matching loan statement entries

      * **GET**
      [/loans/enterprise/statements/{loanStatementId}/download](/openapi/april-public/operation/DownloadLoanStatement/)
      Return a loan statement report in either CSV, PDF or XML format

      * **GET**
      [/loans/statements/entries/report](/openapi/april-public/operation/ReportLoanStatementEntries/) 

      Return a list of all loan statement entries matching the given search
      criteria
  - name: Card issuer
    description: >
      Endpoints related to the issuing of digital cards, typically associated
      with a trade account based loan.

       * **POST** [/issuer/card](/openapi/april-public/operation/AdministerDigitalCard/) Administer digital card(s)
      * **GET**
      [/issuer/card](/openapi/april-public/operation/QueryDigitalCards/) Return
      a paginated list of matching digital card summaries
servers:
  - url: https://api.sandbox.au.meetapril.io
    description: Sandbox
  - url: https://api.au.meetapril.io
    description: Production
paths:
  /auth/signin:
    post:
      tags:
        - Authentication
      summary: Sign In Customer
      description: >

        Sign-in from a backend service on behalf of a consumer customer (B2C) or
        customer delegate (B2B).

        Used by custom integrations and e-commerce plugins as a form of
        single-sign-on for the checkout.

        If the customer has been authenticated with the merchant's website, this
        lets them also authenticate

        a known customer with April. This is a pre-requisite for using the
        checkout for a B2B customer.


        For both B2B and B2C customers having an authenticated session with the
        checkout also unlocks access

        to saved cards as a payment source.


        Note merchants need to have been registered as supporting B2B customer
        when onboarded to be able to

        support B2B customers in the checkout.
      operationId: SignInCustomer
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignInOnBehalfOfCustomerRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAuthenticationResult'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Pay By Link Token: []
  /customers:
    get:
      tags:
        - Customers
      summary: Query Customers
      description: Return a paginated list of matching customers.
      operationId: QueryCustomers
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: createdAfter
          in: query
          description: Return customers that were created at or after this timestamp
          required: false
          schema:
            type: string
            format: date-time
        - name: createdBefore
          in: query
          description: Return customers that were created at or before this timestamp
          required: false
          schema:
            type: string
            format: date-time
        - name: emailAddress
          in: query
          description: Filter by email address
          required: false
          schema:
            type: array
            items:
              type: string
        - name: customerId
          in: query
          description: Filter by customer system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: name
          in: query
          description: Filter by first name, last name or organisation name
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MerchantCustomerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant JWT | Marketplace JWT | Admin JWT: []
    post:
      tags:
        - Customers
      summary: Upsert Customer
      description: >

        Create a new customer or update the details of an existing customer.

        For consumer customers, the email address and merchant identifier
        constitute the business key.

        For organisation customers, the customer reference id and the merchant
        identifier constitute the business key.

        If a record with the same business key already exists, then it is
        updated with the provided details, otherwise

        a new customer is added.
      operationId: UpsertCustomer
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertMerchantCustomerRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertCustomerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token: []
  /customers/{customerId}:
    get:
      tags:
        - Customers
      summary: Get Customer
      description: Return details of a customer.
      operationId: GetCustomer
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantCustomerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT: []
  /customers/kyc:
    post:
      tags:
        - Customers
      summary: Kyc Customer
      description: >-
        Perform a Know Your Customer (KYC) check on a consumer customer. The
        response may indicate that more details are required in which case
        subsequent calls with the additional details can be made. See [Know Your
        Customer](/developer-portal/know-your-customer-b2c/) for more details. 


        **Alpha release** - Consider this endpoint experimental and very likely
        to change in future.
      operationId: KycCustomer
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerKycRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KycAttemptResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Customer JWT: []
  /customers/delegates:
    get:
      tags:
        - Customers
      summary: Query Customer Delegates
      description: Return a paginated list of matching customer delegates.
      operationId: QueryCustomerDelegates
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: createdAfter
          in: query
          description: >-
            Return customer delegates that were created at or after this
            timestamp
          required: false
          schema:
            type: string
            format: date-time
        - name: createdBefore
          in: query
          description: >-
            Return customer delegates that were created at or before this
            timestamp
          required: false
          schema:
            type: string
            format: date-time
        - name: emailAddress
          in: query
          description: Filter by customer delegate email address
          required: false
          schema:
            type: array
            items:
              type: string
        - name: customerDelegateId
          in: query
          description: Filter by customer delegate system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: customerId
          in: query
          description: Filter by customer system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: name
          in: query
          description: Filter by name of the delegate
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerDelegateResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT: []
  /customers/delegates/{customerDelegateId}:
    get:
      tags:
        - Customers
      summary: Get Customer Delegate
      description: Return details of a customer delegate.
      operationId: GetCustomerDelegate
      parameters:
        - name: customerDelegateId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDelegateResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT: []
    delete:
      tags:
        - Customers
      summary: Delete Customer Delegate
      description: Delete a customer delegate.
      operationId: DeleteCustomerDelegate
      parameters:
        - name: customerDelegateId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT: []
    patch:
      tags:
        - Customers
      summary: Update Customer Delegate
      description: >-
        Various actions for updating a customer delegate such as linking to a
        new customer.
      operationId: UpdateCustomerDelegate
      parameters:
        - name: customerDelegateId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomerDelegateRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDelegateResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT: []
  /merchants:
    get:
      tags:
        - Merchants
      summary: Query Merchants
      description: Return a paginated list of matching merchants.
      operationId: QueryMerchants
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: businessName
          in: query
          description: Filter by business name
          required: false
          schema:
            type: string
        - name: isActivated
          in: query
          description: Filter by whether the business is activated
          required: false
          schema:
            type: boolean
        - name: payoutStatus
          in: query
          description: Filter by whether payouts are enabled for this merchant
          required: false
          schema:
            $ref: '#/components/schemas/MerchantPayoutStatus'
        - name: marketplaceId
          in: query
          description: Filter by marketplace
          required: false
          schema:
            type: string
        - name: referenceMerchantId
          in: query
          description: Filter by reference merchant id
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MerchantResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Admin JWT | Merchant JWT | Marketplace JWT: []
    post:
      tags:
        - Merchants
      summary: Create Merchant
      description: Create a new sub-merchant within the context of a marketplace.
      operationId: CreateMerchant
      parameters:
        - name: Marketplace-Id
          in: header
          description: >-
            Perform operation in the context of the given marketplace. Usually
            not required — specify only if acting on behalf of a marketplace not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMarketplaceMerchantRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Admin JWT | Marketplace JWT: []
  /merchants/{merchantId}:
    get:
      tags:
        - Merchants
      summary: Get Merchant
      description: Return details of a merchant.
      operationId: GetMerchant
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    patch:
      tags:
        - Merchants
      summary: Update Merchant
      description: >-
        Various actions for updating a merchant such as updating the bank
        account used for payouts.
      operationId: UpdateMerchant
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMerchantRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/balances:
    get:
      tags:
        - Merchants
      summary: Query Balances
      description: Query the account balances of a merchant.
      operationId: QueryBalances
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantBalances'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/files:
    post:
      tags:
        - Merchants
      summary: Upload Merchant File
      description: >-
        Upload a document scan as part of the merchant onboarding profile. The
        maximum permitted file size is 10MB. Supported file types are JPEG, PNG
        and PDF.
      operationId: UploadMerchantFile
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MerchantOnboardingFileUploadRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantFileUploadResult'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/files/{fileId}:
    get:
      tags:
        - Merchants
      summary: Get Merchant File
      description: Get details on a merchant onboarding file
      operationId: GetMerchantFile
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
        - name: fileId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantFileResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/applepay:
    get:
      tags:
        - Merchants
      summary: Get Merchant Apple Pay Domains
      description: Get the domains registered for ApplePay for the specified merchant
      operationId: GetMerchantApplePayDomains
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantApplepayDetailsResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/owners:
    get:
      tags:
        - Merchants
      summary: List Beneficial Owners
      description: Return details of all beneficial owners for the given merchant.
      operationId: ListBeneficialOwners
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BeneficialOwnerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    post:
      tags:
        - Merchants
      summary: Create Beneficial Owner
      description: Create a beneficial owner for the given merchant.
      operationId: CreateBeneficialOwner
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficialOwnerProfile'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficialOwnerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/{merchantId}/owners/{ownerId}:
    get:
      tags:
        - Merchants
      summary: Get Beneficial Owner
      description: Return details of a beneficial owner.
      operationId: GetBeneficialOwner
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
        - name: ownerId
          in: path
          description: Identifier of beneficial owner
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficialOwnerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    put:
      tags:
        - Merchants
      summary: Replace Beneficial Owner
      description: Overwrite an existing beneficial owner.
      operationId: ReplaceBeneficialOwner
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
        - name: ownerId
          in: path
          description: Identifier of beneficial owner
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficialOwnerProfile'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficialOwnerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    delete:
      tags:
        - Merchants
      summary: Delete Beneficial Owner
      description: Delete a beneficial owner.
      operationId: DeleteBeneficialOwner
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
        - name: ownerId
          in: path
          description: Identifier of beneficial owner
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /merchants/industries:
    get:
      tags:
        - Merchants
      summary: Get Industries
      description: >-
        List all industries we currently support. Merchants in April need to be
        assigned an industry during onboarding.
      operationId: GetIndustries
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IndustryInfo'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /sources/{sourceId}:
    get:
      tags:
        - Payment sources
      summary: Get Payment Source
      operationId: GetPaymentSource
      parameters:
        - name: sourceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentSourceResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Admin JWT | Customer JWT: []
    delete:
      tags:
        - Payment sources
      summary: Delete Payment Source
      operationId: DeletePaymentSource
      parameters:
        - name: sourceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token: []
  /sources:
    get:
      tags:
        - Payment sources
      summary: Query Payment Sources
      description: Return a paginated list of matching payment sources.
      operationId: QueryPaymentSources
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by merchant customer system identifier.
          required: false
          schema:
            type: string
        - name: customerDelegateId
          in: query
          description: Filter by customer delegate system identifier.
          required: false
          schema:
            type: string
        - name: usageScope
          in: query
          description: Filter by usage scope
          required: false
          schema:
            $ref: '#/components/schemas/PaymentSourceUsageScope'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaymentSourceResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Customer JWT: []
    post:
      tags:
        - Payment sources
      summary: Create Payment Source
      description: >-
        Register a payment source that may be used to pay for one or more
        payments. For integrators who wish to call this endpoint directly, you
        must be PCI certified since you will be handling raw card details.
      operationId: CreatePaymentSource
      parameters:
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
        - name: Customer-Delegate-User-Id
          in: header
          description: >-
            Perform operation in the context of the given organisation customer.
            Usually not required — specify only if acting on behalf of a
            organisation customer not implied by the credentials specified in
            the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentSourceRequest_Vault'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentSourceResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT: []
  /sources/blockedcards:
    get:
      tags:
        - Payment sources
      summary: Query Blocked Card Events
      description: >-
        Return a paginated list of events related to cards that have been
        blocked.
      operationId: QueryBlockedCardEvents
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by merchant customer system identifier.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant system identifier.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: marketplaceId
          in: query
          description: Filter by merchant system identifier.
          required: false
          schema:
            type: string
        - name: transactionId
          in: query
          description: Filter by transaction system identifier.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: cardBlockId
          in: query
          description: Filter by card block system identifier.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: cardBrand
          in: query
          description: Filter by card brand.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/CardBrand'
        - name: last4
          in: query
          description: Filter by card last four digits.
          required: false
          schema:
            type: string
        - name: createdFromInclusive
          in: query
          description: >-
            Return records that were created at or after this timestamp in
            ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.099413498Z'
        - name: createdToExclusive
          in: query
          description: >-
            Return records that were created before this timestamp in ISO-8601
            format
          required: false
          schema:
            type: string
            format: date-time
        - name: eventType
          in: query
          description: Filter by block card event type
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/BlockedCardEventType'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlockedCardResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /sources/blockedcards/{cardBlockId}:
    patch:
      tags:
        - Payment sources
      summary: Update Blocked Card
      description: Update actions on blocked cards.
      operationId: UpdateBlockedCard
      parameters:
        - name: cardBlockId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBlockedCardRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockedCardResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /tokens:
    post:
      tags:
        - Payment tokens
      summary: Create Payment Token
      description: >

        Generate a pay-in-full payment token based on the provided payment
        source. The token can be used to pay for an order of the given amount
        and currency.


        Authenticated customers can only create tokens for themselves and not
        for other customers.

        All other clients may specify the customer they wish to be associated
        with the payment token using the

        `Customer-Id` header or by providing a customer specific payment source.

        If authenticating with a merchant public key, you cannot use a customer
        specific payment source.


        For marketplace clients, you will need to indicate the merchant to
        create the token against using

        the `Merchant-Id` header.
      operationId: CreatePaymentToken
      parameters:
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentTokenRequest_Vault'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTokenResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
  /tokens/{paymentTokenId}:
    get:
      tags:
        - Payment tokens
      summary: Query Payment Token
      description: Get the details for a pay-in-full payment token.
      operationId: QueryPaymentToken
      parameters:
        - name: paymentTokenId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTokenData'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
  /tokens/{merchantId}/surchargequote:
    post:
      tags:
        - Payment tokens
      summary: Calculate Surcharge
      description: Calculates the surcharged amounts for the specified payment type.
      operationId: CalculateSurcharge
      parameters:
        - name: merchantId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateSurchargeRequest_Vault'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateSurchargeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
  /payplans/offer:
    post:
      tags:
        - Pay plans
      summary: Create Pay Plan Offer
      description: >
        Create a pay plan offer for a registered and KYC'd merchant customer.

        The offer returned must be used to create a pay plan within 10 minutes.

        After this point, generate a new offer by calling this endpoint again.


        If called with a customer JWT, the pay plan is created for that
        customer,

        otherwise the customer must be provided via the `Customer-Id` request
        header.
      operationId: CreatePayPlanOffer
      parameters:
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePayPlanOfferRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePayPlanOfferResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT: []
  /payplans:
    get:
      tags:
        - Pay plans
      summary: Query Pay Plans
      description: Return a paginated list of matching pay plans.
      operationId: QueryPayPlans
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by customer identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: payPlanState
          in: query
          description: Filter by pay plan state
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PayPlanState'
        - name: payPlanVariant
          in: query
          description: Filter by pay plan variant
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PayPlanVariant'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PayPlanResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
    post:
      tags:
        - Pay plans
      summary: Create Pay Plan
      description: >
        Create a pay plan and payment token from a successful pay plan offer.

        The payment token can be used to pay for an order for the matching
        amount and merchant.


        If called with a customer JWT, the pay plan is created for that
        customer,

        otherwise the customer must be provided via the `Customer-Id` request
        header.
      operationId: CreatePayPlan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePayPlanRequest_Vault'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePayPlanResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT: []
  /payplans/{payPlanId}:
    get:
      tags:
        - Pay plans
      summary: Get Pay Plan
      description: Return details of a pay plan.
      operationId: GetPayPlan
      parameters:
        - name: payPlanId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayPlanResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
  /payplans/max:
    post:
      tags:
        - Pay plans
      summary: Calculate Pay Plan Max Loan
      description: >-
        Return the maximum loan amount the given customer is currently eligible
        for.
      operationId: CalculatePayPlanMaxLoan
      parameters:
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaxLoanRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaxLoanResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
  /payplans/parameters:
    post:
      tags:
        - Pay plans
      summary: Calculate Pay Plan Parameters
      description: >-
        Calculate the pay plan parameters for the given amount and list of
        variants. 


        **Beta release** - This endpoint is close to being finalised but
        non-backward compatible changes to parameters and behaviour may still
        occur.
      operationId: CalculatePayPlanParameters
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayPlanParametersRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayPlanParametersResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT: []
  /orders:
    get:
      tags:
        - Orders
      summary: Query Orders
      description: Return a paginated list of matching orders
      operationId: QueryOrders
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter by merchant order id
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: orderType
          in: query
          description: Filter by order type
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/OrderType1'
        - name: referenceOrderId
          in: query
          description: Filter by reference order id
          required: false
          schema:
            type: array
            items:
              type: string
        - name: orderStatus
          in: query
          description: Filter by order status
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/OrderStatus'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
    post:
      tags:
        - Orders
      summary: Create Order
      description: Creates a new order
      operationId: CreateOrder
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Marketplace JWT | Merchant JWT: []
  /orders/{orderId}/pay:
    post:
      tags:
        - Orders
      summary: Pay Order
      description: >

        Pay for an order using a payment token. Make sure you read the [Error
        Handling](/developer-portal/error-handling/) page

        as you will need to add some logic to handle a 3DS challenge for card
        based payments.


        3DS may be required for several reasons including
         * Explicitly requesting it in the request
         * An eligibility requirement to establish a pay plan
         * Required by the card issuer
      operationId: PayOrder
      parameters:
        - name: orderId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayOrderRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayOrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '501':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Pay By Link Token: []
  /orders/{orderId}:
    get:
      tags:
        - Orders
      summary: Get Order
      description: Retrieves an order
      operationId: GetOrder
      parameters:
        - name: orderId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Marketplace JWT | Merchant JWT: []
    delete:
      tags:
        - Orders
      summary: Cancel Order
      description: Cancels an order, invalidating it from being payable.
      operationId: CancelOrder
      parameters:
        - name: orderId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT: []
    patch:
      tags:
        - Orders
      summary: Update Order
      description: Actions for modifying an existing order
      operationId: UpdateOrder
      parameters:
        - name: orderId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT: []
  /transactions/{transactionId}:
    get:
      tags:
        - Transactions
      summary: Get Transaction
      description: Return details of a transaction.
      operationId: GetTransaction
      parameters:
        - name: transactionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    patch:
      tags:
        - Transactions
      summary: Update Transaction
      description: Various actions for updating a transaction such as issuing a refund.
      operationId: UpdateTransaction
      parameters:
        - name: transactionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTransactionRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions:
    get:
      tags:
        - Transactions
      summary: Query Transactions
      description: Return a paginated list of matching transactions.
      operationId: QueryTransactions
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: createdAfter
          in: query
          description: >-
            Return transactions that were created at or after this timestamp in
            ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.70155523Z'
        - name: createdBefore
          in: query
          description: >-
            Return transactions that were created at or before this timestamp in
            ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
        - name: amount
          in: query
          description: Amount of the transaction
          required: false
          schema:
            type: integer
            format: int64
        - name: referenceTransactionId
          in: query
          description: Filter by reference transaction identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: customerId
          in: query
          description: Filter by customer identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: parentAcquiringTransactionId
          in: query
          description: Filter by the transaction's parent aquiring transaction identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: parentIssuerTransactionId
          in: query
          description: Filter by the transaction's parent issuer transaction identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: status
          in: query
          description: Filter by the status of the transaction
          required: false
          schema:
            $ref: '#/components/schemas/TransactionStatus'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /transactions/payouts:
    get:
      tags:
        - Transactions
      summary: Query Payout Summaries
      description: Return a paginated list of matching payout summaries.
      operationId: QueryPayoutSummaries
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: merchantId
          in: query
          description: Merchant to show entries for
          required: false
          schema:
            type: string
        - name: payoutId
          in: query
          description: Filter by payout system identifier.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: referencePayoutId
          in: query
          description: Filter by reference payout id.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: createdAfter
          in: query
          description: >-
            Return payouts that were created at or after this timestamp in
            ISO-8601 format. Defaults to 30 days ago.
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.704156283Z'
        - name: createdBefore
          in: query
          description: >-
            Return payouts that were created at or before this timestamp in
            ISO-8601 format. Defaults to today. The total date range must be 180
            days or less.
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PayoutSummary'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
    post:
      tags:
        - Transactions
      summary: Create Manual Payout
      description: >

        Request to create a manual payout for a merchant. Merchants can only
        request manual payouts if they have a sufficient available balance.

        This call requires manual payouts to be enabled for the merchant.
      operationId: CreateManualPayout
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateManualPayoutRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutSummary'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/payouts/{payoutId}:
    get:
      tags:
        - Transactions
      summary: Get Payout Details
      description: >-
        Return an aggregated breakdown of the money movements included in the
        payout along with details of the disbursement itself.
      operationId: GetPayoutDetails
      parameters:
        - name: payoutId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutDetails'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/invoices:
    get:
      tags:
        - Transactions
      summary: Query Merchant Invoices
      description: Return a paginated list of matching merchant invoices.
      operationId: QueryMerchantInvoices
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: merchantId
          in: query
          description: Merchant to show entries for
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: Filter by invoice status
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/MerchantInvoiceStatus'
        - name: issuedOnFromInclusive
          in: query
          description: >-
            Return invoices that were issued at or after this date in ISO-8601
            format.
          required: false
          schema:
            type: string
            format: date
          example: '2026-02-26'
        - name: issuedOnToInclusive
          in: query
          description: >-
            Return invoices that were created at or before this timestamp in
            ISO-8601 format.
          required: false
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MerchantInvoiceSummary'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/invoices/{invoiceId}:
    get:
      tags:
        - Transactions
      summary: Get Merchant Invoice Details
      description: >-
        Return an aggregated breakdown of the money movements included in the
        invoice along with billing details.
      operationId: GetMerchantInvoiceDetails
      parameters:
        - name: invoiceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantInvoiceDetails'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/invoices/{invoiceId}/pdf:
    get:
      tags:
        - Transactions
      summary: Get Merchant Invoice Pdf
      description: >-
        Return a PDF of the merchant invoice intended to be sent to the payer
        merchant.
      operationId: GetMerchantInvoicePdf
      parameters:
        - name: invoiceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          headers:
            Content-Type:
              required: true
              schema:
                type: string
            Content-Disposition:
              required: true
              schema:
                type: string
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/settlement:
    get:
      tags:
        - Transactions
      summary: Query Settlement Entries
      description: >

        Return a paginated list of all settlement entries matching the given
        search criteria.

        If payoutId is not specified, currency, createdAfter and createdBefore
        must all be provided.
      operationId: QuerySettlementEntries
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: merchantId
          in: query
          description: System identifier for merchant to show entries for
          required: true
          schema:
            type: string
        - name: currency
          in: query
          description: Currency of entries
          required: false
          schema:
            $ref: '#/components/schemas/IsoCurrency'
          example: AUD
        - name: createdAfter
          in: query
          description: >-
            Return settlement entries that were created at or after this
            timestamp in ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.711628426Z'
        - name: createdBefore
          in: query
          description: >-
            Return settlement entries that were created at or before this
            timestamp in ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
        - name: settlementType
          in: query
          description: >-
            Include both payment and fee entries (Net) or just payment entries
            (Gross).
          required: false
          schema:
            $ref: '#/components/schemas/SettlementType'
            default: Net
        - name: payoutId
          in: query
          description: Filter by payout identifier
          required: false
          schema:
            type: string
        - name: invoiceId
          in: query
          description: Filter by merchant invoice identifier
          required: false
          schema:
            type: string
      responses:
        '200':
          description: ''
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlementReport'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/settlement/report:
    get:
      tags:
        - Transactions
      summary: Report Settlement Entries
      description: >

        Return a list of all settlement entries matching the given search
        criteria.

        If payoutId is not specified, currency, createdAfter and createdBefore
        must all be provided.

        Use `Accept` request header to specify either `application/json` or
        `text/csv` responses.

        The JSON variant includes an aggregated summary of the matching entries.
      operationId: ReportSettlementEntries
      parameters:
        - name: column
          in: query
          description: >-
            List of columns to include in the report. If not specified, default
            column list is used.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SettlementCsvColumn'
        - name: merchantId
          in: query
          description: System identifier for merchant to show entries for
          required: true
          schema:
            type: string
        - name: currency
          in: query
          description: Currency of entries
          required: false
          schema:
            $ref: '#/components/schemas/IsoCurrency'
          example: AUD
        - name: createdAfter
          in: query
          description: >-
            Return settlement entries that were created at or after this
            timestamp in ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.711628426Z'
        - name: createdBefore
          in: query
          description: >-
            Return settlement entries that were created at or before this
            timestamp in ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
        - name: settlementType
          in: query
          description: >-
            Include both payment and fee entries (Net) or just payment entries
            (Gross).
          required: false
          schema:
            $ref: '#/components/schemas/SettlementType'
            default: Net
        - name: payoutId
          in: query
          description: Filter by payout identifier
          required: false
          schema:
            type: string
        - name: invoiceId
          in: query
          description: Filter by merchant invoice identifier
          required: false
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlementReport'
            text/csv:
              schema:
                type: string
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/disputes:
    get:
      tags:
        - Transactions
      summary: Query Disputes
      description: >

        Return a paginated list of all disputes matching the given search
        criteria.
      operationId: QueryDisputes
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: string
        - name: customerEmailAddress
          in: query
          description: Filter by customer email address
          required: false
          schema:
            type: string
        - name: referenceOrderId
          in: query
          description: Filter by reference order id
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter by order identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: transactionId
          in: query
          description: Filter by transaction identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: currency
          in: query
          description: Currency of entries
          required: false
          schema:
            type: string
          example: AUD
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DisputeResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /transactions/refunds:
    get:
      tags:
        - Transactions
      summary: Query Refunds
      description: Return a paginated list of matching refunds.
      operationId: QueryRefunds
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: createdAfter
          in: query
          description: >-
            Return transactions that were created at or after this timestamp in
            ISO-8601 format. Defaults to 30 days ago.
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:15.702345652Z'
        - name: createdBefore
          in: query
          description: >-
            Return transactions that were created at or before this timestamp in
            ISO-8601 format. Defaults to now.
          required: false
          schema:
            type: string
            format: date-time
        - name: amount
          in: query
          description: Amount of the refund in minor currency units
          required: false
          schema:
            type: integer
            format: int64
        - name: referenceOrderId
          in: query
          description: Filter by reference order id
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: Filter by order identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: customerId
          in: query
          description: Filter by customer identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: transactionId
          in: query
          description: Filter by transaction identifier
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RefundResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT: []
  /marketplaces/{marketplaceId}:
    get:
      tags:
        - Marketplaces
      summary: Get Marketplace
      description: Return details of a marketplace.
      operationId: GetMarketplace
      parameters:
        - name: marketplaceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Admin JWT | Marketplace JWT: []
  /marketplaces/customer:
    post:
      tags:
        - Marketplaces
      summary: Upsert Marketplace Customer
      description: >

        Marketplace customers allow marketplaces to onboard their customers once
        and have them available over all their sub-merchants.

        To set up payments for these payments, generate the merchant customer
        for the relevant sub-merchant using

        [Upsert
        Customer](/openapi/april-public/operation/UpsertMerchantCustomer/)
      operationId: UpsertMarketplaceCustomer
      parameters:
        - name: Marketplace-Id
          in: header
          description: >-
            Perform operation in the context of the given marketplace. Usually
            not required — specify only if acting on behalf of a marketplace not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertMarketplaceCustomerRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceCustomerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Marketplace JWT | Admin JWT: []
  /webhooks:
    get:
      tags:
        - Webhooks
      summary: Query Webhook Subscriptions
      description: Return a paginated list of matching webhook subscriptions.
      operationId: QueryWebhookSubscriptions
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: merchantId
          in: query
          description: >-
            Only include webhook merchant subscriptions for this given list of
            sub-merchants. Only relevant for marketplace users interested in
            merchant level subscriptions.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: marketplaceId
          in: query
          description: >-
            Only include webhook marketplace subscriptions for the given
            marketplaceId. Only relevant for admin users interested in
            marketplace level subscriptions.
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: Filter by subscription status
          required: false
          schema:
            $ref: '#/components/schemas/WebhookSubscriptionState'
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookSubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
    post:
      tags:
        - Webhooks
      summary: Create Webhook Subscription
      description: >

        Create a new webhook subscription. If called with a marketplace API key,
        the subscription will be at the marketplace level.

        If called with merchant credentials or if the `Merchant-Id` header is
        provided, the subscription will be at the merchant level.
      operationId: CreateWebhookSubscription
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookSubscriptionRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Marketplace JWT | Merchant JWT: []
  /webhooks/{id}:
    get:
      tags:
        - Webhooks
      summary: Get Webhook Subscription
      description: Return details of a webhook subscription.
      operationId: GetWebhookSubscription
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT: []
    patch:
      tags:
        - Webhooks
      summary: Update Webhook Subscription
      description: Update an existing webhook subscription.
      operationId: UpdateWebhookSubscription
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhookSubscriptionRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Marketplace JWT | Merchant JWT: []
  /simulation:
    post:
      tags:
        - Simulation
      summary: Simulation
      description: >-
        Sandbox only endpoint to simulate external events such as a bank
        transfer being performed
      operationId: Simulation
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimulationRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimulationResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT: []
  /payto/alias:
    get:
      tags:
        - PayTo
      summary: Pay To Lookup Alias
      description: Returns the display name for the account alias
      operationId: PayToLookupAlias
      parameters:
        - name: aliasType
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/AliasType'
        - name: aliasValue
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupAliasResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
  /payto/agreement:
    get:
      tags:
        - PayTo
      summary: Pay To Get Agreement State
      description: Get agreement state
      operationId: PayToGetAgreementState
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
        - name: token
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgreementStateResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
    post:
      tags:
        - PayTo
      summary: Pay To Send Agreement
      description: Send agreement request to customer
      operationId: PayToSendAgreement
      parameters:
        - name: Merchant-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant. Usually not
            required — specify only if acting on behalf of a merchant not
            implied by the credentials specified in the `Authorization` header.
          required: false
          schema:
            type: string
        - name: Customer-Id
          in: header
          description: >-
            Perform operation in the context of the given merchant customer.
            Usually not required — specify only if acting on behalf of a
            merchant customer not implied by the credentials specified in the
            `Authorization` header.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendAgreementRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendAgreementResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT: []
  /loans:
    get:
      tags:
        - Loans
      summary: Query Loan Summaries
      description: Return a paginated list of matching loan summaries.
      operationId: QueryLoanSummaries
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: loanId
          in: query
          description: Filter by loan system identifiers.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: referenceLoanId
          in: query
          description: Filter by reference loan id.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: loanProductType
          in: query
          description: Filter by loan product type.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/LoanProductType'
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by customer identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: currency
          in: query
          description: Filter by currency
          required: false
          schema:
            type: string
          example: AUD
        - name: status
          in: query
          description: Filter by loan status
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Status'
        - name: createdFromInclusive
          in: query
          description: >-
            Return loans that were created at or after this timestamp in
            ISO-8601 format
          required: true
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:16.449523247Z'
        - name: createdToExclusive
          in: query
          description: >-
            Return loans that were created before this timestamp in ISO-8601
            format
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LoanSummaryResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /loans/statements/{loanStatementId}:
    get:
      tags:
        - Loans
      summary: Get Loan Statement Summary
      description: Return a loan statement summary.
      operationId: GetLoanStatementSummary
      parameters:
        - name: loanStatementId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoanStatementSummaryResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /loans/statements:
    get:
      tags:
        - Loans
      summary: Query Loan Statement Summaries
      description: Return a paginated list of matching loan statement summaries.
      operationId: QueryLoanStatementSummaries
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: loanId
          in: query
          description: Filter by loan system identifiers.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: loanStatementId
          in: query
          description: Filter by loan statement system identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: referenceStatementId
          in: query
          description: Filter by reference statement identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: merchantId
          in: query
          description: Filter by merchant identifier
          required: false
          schema:
            type: string
        - name: customerId
          in: query
          description: Filter by customer identifier
          required: false
          schema:
            type: array
            items:
              type: string
        - name: currency
          in: query
          description: Filter by currency
          required: true
          schema:
            type: string
          example: AUD
        - name: createdFromInclusive
          in: query
          description: >-
            Return loan activity that was created at or after this timestamp in
            ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
          example: '2026-02-26T03:26:16.451391677Z'
        - name: createdToExclusive
          in: query
          description: >-
            Return loan activity that were created before this timestamp in
            ISO-8601 format
          required: false
          schema:
            type: string
            format: date-time
        - name: dueOnFromInclusive
          in: query
          description: >-
            Return loan activity that is due on or after this date in ISO-8601
            format.
          required: false
          schema:
            type: string
            format: date
          example: '2026-02-26'
        - name: dueOnToInclusive
          in: query
          description: >-
            Return loan activity that is due on or before this date in ISO-8601
            format.
          required: false
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LoanStatementSummaryResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /loans/statements/entries:
    get:
      tags:
        - Loans
      summary: Query Loan Statement Entries
      description: >

        Return a paginated list of matching loan statement entries.




        **Alpha release** - Consider this endpoint experimental and very likely
        to change in future.
      operationId: QueryLoanStatementEntries
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: loanStatementId
          in: query
          description: Filter by loan statement system identifier
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoanStatementReport'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Enterprise API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /loans/enterprise/statements/{loanStatementId}/download:
    get:
      tags:
        - Loans
      summary: Download Loan Statement
      description: >-
        Return a loan statement report in either CSV, PDF or XML format. The
        report is provided in a password protected zip file.
      operationId: DownloadLoanStatement
      parameters:
        - name: loanStatementId
          in: path
          required: true
          schema:
            type: string
        - name: mediaType
          in: query
          description: The file format to use for the report
          required: true
          schema:
            $ref: '#/components/schemas/LoanStatementReportMediaType'
      responses:
        '200':
          description: ''
          headers:
            Content-Disposition:
              required: true
              schema:
                type: string
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Admin JWT | Marketplace JWT | Customer JWT: []
  /loans/statements/entries/report:
    get:
      tags:
        - Loans
      summary: Report Loan Statement Entries
      description: >

        Return a list of all loan statement entries matching the given search
        criteria.

        If loanSettlementId or loanId is not specified, currency, and a date
        range (either created at or due on) must be provided.




        **Alpha release** - Consider this endpoint experimental and very likely
        to change in future.
      operationId: ReportLoanStatementEntries
      parameters:
        - name: loanStatementId
          in: query
          description: Filter by loan statement system identifier
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoanStatementReport'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Marketplace API Key | Enterprise API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT: []
  /issuer/card:
    get:
      tags:
        - Card issuer
      summary: Query Digital Cards
      description: Return a paginated list of matching digital card summaries.
      operationId: QueryDigitalCards
      parameters:
        - name: limit
          in: query
          description: Maximum results per page. Default to 20, must be between 1 and 500.
          required: false
          schema:
            type: integer
            format: int32
        - name: page
          in: query
          description: Page number of results to show (starting at page 1).
          required: false
          schema:
            type: integer
            format: int32
        - name: sort
          in: query
          description: >-
            Comma-delimited list of fields to sort by with sort priority from
            first to last. Fields are sorted by their natural ordering unless
            prefixed with a `-` character.
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: Filter by digitalCard status
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/DigitalCardStatus'
        - name: last4
          in: query
          description: Filter by the last 4 digits of the digital card number
          required: false
          schema:
            type: string
        - name: customerDelegateUserId
          in: query
          description: Filter by customer delegate identifier
          required: false
          schema:
            type: string
        - name: excludeExpired
          in: query
          description: Whether to exclude expired cards
          required: false
          schema:
            type: boolean
        - name: loanId
          in: query
          description: Filter by loan identifier
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Matching items sorted as specified
          headers:
            Page-Count:
              description: Total count of pages available for current query.
              required: true
              schema:
                type: integer
                format: int64
            Total-Record-Count:
              description: Total number of records matching the query.
              required: true
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RedactedCardDetails'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Merchant Secret Token | Customer API Key | Merchant JWT | Customer JWT: []
    post:
      tags:
        - Card issuer
      summary: Administer Digital Card
      description: Administer digital card(s).
      operationId: AdministerDigitalCard
      parameters:
        - name: encryption-key-name
          in: header
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdministerDigitalCardRequest_Vault'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministerDigitalCardResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '406':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - Enterprise API Key | Marketplace API Key | Merchant Secret Token | Customer API Key | Merchant JWT | Customer JWT: []
components:
  schemas:
    AccountIdentifier:
      title: AccountIdentifier
      description: Acount to be charged using PayTo network
      oneOf:
        - $ref: '#/components/schemas/Alias'
        - $ref: '#/components/schemas/Bban'
    AccountVerificationResponseDto:
      title: AccountVerificationResponseDto
      type: object
      required:
        - status
        - provider
        - createdAt
      properties:
        status:
          $ref: '#/components/schemas/MatchStatus'
        matchName:
          type: string
        message:
          type: string
        provider:
          $ref: '#/components/schemas/VerificationProvider'
        rawResponse: {}
        createdAt:
          type: string
          format: date-time
    AddMerchantBankAccount:
      title: AddMerchantBankAccount
      type: object
      required:
        - AddMerchantBankAccount
      properties:
        AddMerchantBankAccount:
          $ref: '#/components/schemas/AddMerchantBankAccount1'
    AddMerchantBankAccount1:
      title: AddMerchantBankAccount
      description: >-
        Add a new bank account associated with this merchant. The newly added
        account will automatically be set as the primary bank account where
        payouts are deposited into.
      type: object
      required:
        - accountName
        - identifier
        - currency
      properties:
        accountName:
          description: Name of the person or business that holds the account
          type: string
        bankName:
          description: Name of financial institution where the account is held.
          type: string
        identifier:
          $ref: '#/components/schemas/BankAccountIdentifier'
        currency:
          description: 3 letter ISO code indicating the currency of the bank account.
          examples:
            - AUD
          type: string
        setAsPrimary:
          description: >-
            Make this account the primary bank account for the merchant. If not
            provided, the account will be set as primary.
          type: boolean
        referenceAccountId:
          description: >-
            An optional reference provided by the merchant to identify this
            account. Must be unique for the given merchant.
          type: string
        requesterId:
          description: >-
            An optional identifier of the requester. Required to perform Bank
            Account Validation
          type: string
    Address:
      title: Address
      type: object
      required:
        - line1
        - city
        - postalCode
        - country
      properties:
        line1:
          type: string
        line2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
    AddressAndName:
      title: AddressAndName
      type: object
      required:
        - address
        - name
      properties:
        address:
          examples:
            - lucy.diamond@star.com
          type: string
        name:
          type: string
    AddressOnly:
      title: AddressOnly
      type: object
      required:
        - address
      properties:
        address:
          examples:
            - lucy.diamond@star.com
          type: string
    AdministerDigitalCardRequest_Vault:
      title: AdministerDigitalCardRequest_Vault
      oneOf:
        - $ref: '#/components/schemas/CreateDigitalCardRequestMastercard'
        - $ref: '#/components/schemas/CreateDigitalCardRequestMastercardWithDbi'
        - $ref: '#/components/schemas/CreateDigitalCardRequestUatp'
        - $ref: '#/components/schemas/CreateSynonymsForDigitalCardsRequest'
        - $ref: '#/components/schemas/GetDigitalCardRedactedRequest'
        - $ref: '#/components/schemas/GetDigitalCardUnredactedRequest'
        - $ref: '#/components/schemas/GetDigitalCardsUnredactedBySynonymRequest'
        - $ref: '#/components/schemas/UpdateDigitalCardRequestMastercard'
        - $ref: '#/components/schemas/UpdateDigitalCardRequestMastercardWithDbi'
        - $ref: '#/components/schemas/UpdateDigitalCardStatusRequest'
        - $ref: '#/components/schemas/UpdateDigitalCardTransactionLimitRequest'
    AdministerDigitalCardResponse:
      title: AdministerDigitalCardResponse
      oneOf:
        - $ref: '#/components/schemas/CreateDigitalCardResponseMastercard'
        - $ref: '#/components/schemas/CreateDigitalCardResponseUatp'
        - $ref: '#/components/schemas/CreateSynonymsForDigitalCardsResponse'
        - $ref: '#/components/schemas/GetDigitalCardRedactedResponse'
        - $ref: '#/components/schemas/GetDigitalCardUnredactedResponse'
        - $ref: '#/components/schemas/GetDigitalCardsForLoanResponse'
        - $ref: '#/components/schemas/GetDigitalCardsUnredactedBySynonym'
        - $ref: '#/components/schemas/UpdateDigitalCardResponseMastercard'
        - $ref: '#/components/schemas/UpdateDigitalCardStatusResponse'
        - $ref: '#/components/schemas/UpdateDigitalCardTransactionLimitResponse'
    AgreementRequestTerms:
      title: AgreementRequestTerms
      description: Terms for the agreement
      oneOf:
        - $ref: '#/components/schemas/AgreementRequestTermsOneOff'
        - $ref: '#/components/schemas/AgreementRequestTermsOpen'
    AgreementRequestTermsOneOff:
      title: AgreementRequestTermsOneOff
      type: object
      required:
        - AgreementRequestTermsOneOff
      properties:
        AgreementRequestTermsOneOff:
          $ref: '#/components/schemas/AgreementRequestTermsOneOff1'
    AgreementRequestTermsOneOff1:
      title: AgreementRequestTermsOneOff
      description: Single-use agreement used when approving each full payment is required
      type: object
      required:
        - amount
      properties:
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          description: Amount of the payment this agreement will be used for
    AgreementRequestTermsOpen:
      title: AgreementRequestTermsOpen
      type: object
      required:
        - AgreementRequestTermsOpen
      properties:
        AgreementRequestTermsOpen:
          $ref: '#/components/schemas/AgreementRequestTermsOpen1'
    AgreementRequestTermsOpen1:
      title: AgreementRequestTermsOpen
      description: Open agreement intended to be saved as reusable payment source
      type: object
    AgreementStatus:
      title: AgreementStatus
      type: string
      enum:
        - Pending
        - Created
        - Active
        - Suspended
        - Cancelled
        - Declined
        - Failed
        - Expired
    Alias:
      title: Alias
      type: object
      required:
        - Alias
      properties:
        Alias:
          $ref: '#/components/schemas/Alias1'
    Alias1:
      title: Alias
      description: Alias associated with a bank account
      type: object
      required:
        - aliasType
        - value
      properties:
        aliasType:
          $ref: '#/components/schemas/AliasType'
        value:
          type: string
    AliasType:
      title: AliasType
      type: string
      enum:
        - Phone
        - Email
        - Abn
        - OrganisationIdentifier
    Allow:
      title: Allow
      type: object
    Always:
      title: Always
      type: object
    And:
      title: And
      type: object
      required:
        - criteria
      properties:
        criteria:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/RuleCriterion'
    ApiError:
      title: ApiError
      type: object
      required:
        - statusCode
        - errorCode
        - message
      properties:
        statusCode:
          description: HTTP status code for this error
          type: integer
          format: int32
        errorCode:
          description: >-
            An April code providing a brief explanation of the underlying error.
            Use this if you wish to provide custom behaviour based on the error
            type.
          type: string
        message:
          description: Human readable description of the error
          type: string
        tracer:
          description: >-
            An unique identifier for the request. Provide this to the support
            team if you wish to query a particular error.
          type: string
        detail:
          description: Optional additional details for the error.
          type: string
        errorTypeDescription:
          description: A description of the category of errors for the given `statusCode`.
          type: string
        metadata:
          description: Optional key value list of metadata
    ApplePay:
      title: ApplePay
      description: Payment method is via ApplePay.
      type: object
      required:
        - cardAttributes
      properties:
        cardAttributes:
          $ref: '#/components/schemas/CardAttributes'
    ApplePay1:
      title: ApplePay
      type: object
      required:
        - ApplePay
      properties:
        ApplePay:
          $ref: '#/components/schemas/ApplePay2'
    ApplePay2:
      title: ApplePay
      description: Payment method is based on an Apple Pay datagram.
      type: object
      required:
        - applePay
      properties:
        applePay:
          $ref: '#/components/schemas/EncryptedApplePay'
    ApplePayPaymentMethod:
      title: ApplePayPaymentMethod
      type: object
      properties:
        displayName:
          type: string
        network:
          type: string
        type:
          $ref: '#/components/schemas/ApplePayPaymentMethodType'
    ApplePayPaymentMethodType:
      title: ApplePayPaymentMethodType
      type: string
      enum:
        - debit
        - credit
        - prepaid
        - store
    AssuranceDetailsSpecifications:
      title: AssuranceDetailsSpecifications
      type: object
      required:
        - accountVerified
        - cardHolderAuthenticated
      properties:
        accountVerified:
          type: boolean
        cardHolderAuthenticated:
          type: boolean
    AttachmentDto:
      title: AttachmentDto
      type: object
      required:
        - contentType
        - filename
      properties:
        contentType:
          type: string
        filename:
          type: string
    AuBankAccountIdentifier:
      title: AuBankAccountIdentifier
      type: object
      required:
        - AuBankAccountIdentifier
      properties:
        AuBankAccountIdentifier:
          $ref: '#/components/schemas/AuBankAccountIdentifier1'
    AuBankAccountIdentifier1:
      title: AuBankAccountIdentifier
      type: object
      required:
        - bsb
        - accountNumber
      properties:
        bsb:
          description: Branch code (also known as BSB), 6 digits.
          type: string
        accountNumber:
          description: Account number, all digits.
          type: string
    AuthenticationUnavailable:
      title: AuthenticationUnavailable
      type: object
      properties:
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        xid:
          type: string
        transStatus:
          type: string
        authenticationValue:
          type: string
        eci:
          type: string
        transStatusReason:
          type: string
        version:
          type: string
        info:
          type: string
        liabilityShifted:
          type: boolean
    AutoPaymentFromCreditBalance:
      title: AutoPaymentFromCreditBalance
      type: object
      required:
        - timestamp
        - amount
        - user
      properties:
        timestamp:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        user:
          type: string
    BankAccount:
      title: BankAccount
      type: object
      required:
        - accountName
        - identifier
        - currency
      properties:
        accountName:
          description: Name of the person or business that holds the account
          type: string
        bankName:
          description: Name of financial institution where the account is held.
          type: string
        identifier:
          $ref: '#/components/schemas/BankAccountIdentifier'
        currency:
          description: 3 letter ISO code indicating the currency of the bank account.
          examples:
            - AUD
          type: string
    BankAccountDetails:
      title: BankAccountDetails
      type: object
      required:
        - accountId
        - accountName
        - identifier
        - currency
        - country
        - isPrimaryForCurrency
        - isBlocked
      properties:
        accountId:
          description: System unique identifier for a bank account
          examples:
            - xacc_aZ-9U_KvllCPqGst
          type: string
        accountName:
          description: Name of the person or business that holds the account
          type: string
        bankName:
          description: Name of financial institution where the account is held.
          type: string
        identifier:
          $ref: '#/components/schemas/BankAccountIdentifier'
        currency:
          description: 3 letter ISO code indicating the currency of the bank account.
          examples:
            - AUD
          type: string
        country:
          description: >-
            2 letter ISO code indicating the country where the bank account is
            held.
          type: string
        isPrimaryForCurrency:
          description: >-
            Is this the primary account for this merchant for the given
            currency. The primary account is the one payouts are made to.
          type: boolean
        isBlocked:
          description: >-
            If true, this bank account can no longer be used for payouts as it
            has been marked as invalid.
          type: boolean
        blockReason:
          description: If account is blocked, this is the reason why.
          type: string
        referenceAccountId:
          description: >-
            An optional reference provided by the merchant to identify this
            account. Must be unique for the given merchant.
          type: string
    BankAccountIdentifier:
      title: BankAccountIdentifier
      description: Region specific identifier for the bank account.
      oneOf:
        - $ref: '#/components/schemas/AuBankAccountIdentifier'
        - $ref: '#/components/schemas/HkBankAccountIdentifier'
        - $ref: '#/components/schemas/HkUsdBankAccountIdentifier'
        - $ref: '#/components/schemas/NzBankAccountIdentifier'
        - $ref: '#/components/schemas/SgBankAccountIdentifier'
    BankAccountToken:
      title: BankAccountToken
      type: object
      required:
        - BankAccountToken
      properties:
        BankAccountToken:
          $ref: '#/components/schemas/BankAccountToken1'
    BankAccountToken1:
      title: BankAccountToken
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - emailAddress
        - agreementAccepted
        - bankAccount
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        emailAddress:
          type: string
        agreementAccepted:
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
    BankTransfer:
      title: BankTransfer
      description: Payment method is via bank transfer.
      type: object
    BankTransfer1:
      title: BankTransfer
      type: object
      required:
        - BankTransfer
      properties:
        BankTransfer:
          $ref: '#/components/schemas/BankTransfer2'
    BankTransfer2:
      title: BankTransfer
      description: Payment method is via bank transfer.
      type: object
    BankTransfer3:
      title: BankTransfer
      type: object
      properties:
        reference:
          description: >-
            Optional reference to be used for reconciling bank transfer
            payments. If not provided, one will be generated and returned as
            part of the response.
          type: string
    BankTransferDetails:
      title: BankTransferDetails
      description: >-
        Details necessary to pay this pay plan via bank transfer. Only present
        if payment method is enabled for this merchant
      type: object
      required:
        - reference
        - bankAccountNumber
        - bankAccountBsb
        - payId
        - metadata
      properties:
        reference:
          description: Reference to specify to link a bank transfer to this payment
          type: string
        bankAccountNumber:
          description: Account number to specify when paying via classic bank transfer
          type: string
        bankAccountBsb:
          description: BSB to specify when paying via classic bank transfer
          type: string
        payId:
          description: PayID to specify when paying via instant transfer
          type: string
        metadata:
          $ref: '#/components/schemas/Map_V'
          description: Extra information reserved for future use
    BankTransferTokenDetails:
      title: BankTransferTokenDetails
      type: object
      required:
        - BankTransferTokenDetails
      properties:
        BankTransferTokenDetails:
          $ref: '#/components/schemas/BankTransferTokenDetails1'
    BankTransferTokenDetails1:
      title: BankTransferTokenDetails
      type: object
      required:
        - reference
      properties:
        reference:
          type: string
    BankTransfersDetails:
      title: BankTransfersDetails
      description: Bank account details to be used in bank transfer payments.
      type: object
      required:
        - bankAccountBsb
        - bankAccountNumber
        - payId
      properties:
        bankAccountBsb:
          type: string
        bankAccountNumber:
          type: string
        payId:
          type: string
    Bban:
      title: Bban
      type: object
      required:
        - Bban
      properties:
        Bban:
          $ref: '#/components/schemas/Bban1'
    Bban1:
      title: Bban
      description: Bank account number
      type: object
      required:
        - value
      properties:
        value:
          type: string
    BeneficialOwnerProfile:
      title: BeneficialOwnerProfile
      type: object
      required:
        - title
        - roles
        - givenName
        - familyName
        - dateOfBirth
        - address
        - emailAddress
        - phoneNumber
      properties:
        title:
          description: Title, in relation to the business
          type: string
        roles:
          description: Roles of the beneficial owner.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Role'
        givenName:
          type: string
        middleName:
          type: string
        familyName:
          type: string
        dateOfBirth:
          description: Date of birth in ISO-8601
          examples:
            - '1970-08-18'
          type: string
          format: date
        address:
          $ref: '#/components/schemas/BusinessAddress'
        emailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: Phone number in E164 format, eg.+61400000000
          examples:
            - '+61401234567'
          type: string
        passport:
          $ref: '#/components/schemas/Passport'
        driverLicence:
          $ref: '#/components/schemas/DriverLicence'
        verificationDocs:
          $ref: '#/components/schemas/VerificationDocs'
    BeneficialOwnerResponse:
      title: BeneficialOwnerResponse
      type: object
      required:
        - ownerId
        - profile
        - verificationResult
        - isDeletable
      properties:
        ownerId:
          examples:
            - pson_aZ-9U_KvllCPqGss
          type: string
        profile:
          $ref: '#/components/schemas/BeneficialOwnerProfile'
        verificationResult:
          $ref: '#/components/schemas/VerificationResult'
        isDeletable:
          type: boolean
    Billing:
      title: Billing
      description: Billing address for the order.
      type: object
      required:
        - address
        - name
      properties:
        address:
          $ref: '#/components/schemas/Address'
        name:
          type: string
        phoneNumber:
          type: string
    BlockedCardEventType:
      title: BlockedCardEventType
      type: string
      enum:
        - CardBlockAdded
        - CardBlockEnforced
        - CardBlockRemoved
    BlockedCardResponse:
      title: BlockedCardResponse
      type: object
      required:
        - cardBlockId
        - paymentMethod
        - merchantId
        - isCardBlocked
        - eventType
        - description
        - createdAt
      properties:
        cardBlockId:
          examples:
            - blockedsrc_aZ-9V_KvllCPqGs9
          type: string
        customerDetails:
          $ref: '#/components/schemas/CustomerDetails'
        purchaseDetails:
          $ref: '#/components/schemas/PurchaseDetails'
        paymentMethod:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        marketplaceId:
          description: System unique identifier for the marketplace in scope, if any.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        merchantId:
          description: System unique identifier for the merchant in scope.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        paymentSourceId:
          description: Payment source system identifier linked to the blocked cord
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        isCardBlocked:
          description: Is the card currently blocked
          type: boolean
        eventType:
          $ref: '#/components/schemas/BlockedCardEventType'
        description:
          type: string
        blockUserMessage:
          description: Message shown to the user regarding the blocked card
          type: string
        createdAt:
          type: string
          format: date-time
    Business:
      title: Business
      type: object
    Business1:
      title: Business
      type: object
    BusinessAddress:
      title: BusinessAddress
      type: object
      required:
        - streetNumber
        - streetName
        - postalCode
        - country
      properties:
        unitNumber:
          description: The address unit number
          type: string
        streetNumber:
          description: The address street number
          type: string
        streetName:
          description: The address street name
          type: string
        streetType:
          description: >-
            The address street type, eg Street or Road – not mandatory because
            12 The Esplanade
          type: string
        suburb:
          description: The address suburb
          type: string
        city:
          description: The address city
          type: string
        postalCode:
          description: >-
            The address postal code. Should be digits between 4 and 10
            characters long.
          examples:
            - 2000
          type: string
        state:
          description: The address state
          type: string
        country:
          $ref: '#/components/schemas/Country'
          description: The address country
    BusinessAddress1:
      title: BusinessAddress
      type: object
      required:
        - streetNumber
        - streetName
        - postcode
        - postalCode
        - country
      properties:
        unitNumber:
          description: The address unit number
          type: string
        streetNumber:
          description: The address street number
          type: string
        streetName:
          description: The address street name
          type: string
        streetType:
          description: >-
            The address street type, eg Street or Road – not mandatory because
            12 The Esplanade
          type: string
        suburb:
          description: The address suburb
          type: string
        city:
          description: The address city
          type: string
        postcode:
          type: string
        postalCode:
          description: >-
            The address postal code. Should be digits between 4 and 10
            characters long.
          examples:
            - 2000
          type: string
        state:
          description: The address state
          type: string
        country:
          $ref: '#/components/schemas/Country'
          description: The address country
    BusinessContactPerson:
      title: BusinessContactPerson
      type: object
      required:
        - title
        - givenName
        - familyName
      properties:
        title:
          type: string
        givenName:
          description: Must be between 1 and 26 characters.
          type: string
        familyName:
          description: Must be between 1 and 26 characters.
          type: string
    BusinessContactPerson1:
      title: BusinessContactPerson
      description: The contact person for the merchant
      type: object
      required:
        - firstName
        - lastName
        - title
      properties:
        firstName:
          type: string
        lastName:
          type: string
        title:
          type: string
    BusinessProfile:
      title: BusinessProfile
      type: object
      required:
        - timeZone
        - businessName
        - businessType
        - website
        - supportSite
        - industry
        - taxCountry
        - contactPerson
        - contactEmailAddress
        - phoneNumber
        - address
        - brandName
        - cardStatementName
        - smsSenderName
        - verificationDocs
      properties:
        timeZone:
          description: Timezone for the merchant, e.g. Australia/Sydney
          examples:
            - Australia/Sydney
          type: string
        businessName:
          description: Business name (as linked to ABN/ACN)
          type: string
        businessType:
          $ref: '#/components/schemas/BusinessType'
        companyType:
          $ref: '#/components/schemas/CompanyType'
          description: (Optional) Company type, required when businessType is company
        website:
          description: Company website
          type: string
        supportSite:
          description: Company website for handling support issues
          type: string
        industry:
          $ref: '#/components/schemas/Industry'
        taxCountry:
          $ref: '#/components/schemas/Country'
          description: The country where the business is registered for tax purposes.
        tradingCountry:
          $ref: '#/components/schemas/Country'
          description: The country where customers of the business are making payments.
        taxId:
          description: The registered tax id of the company, e.g. ABN, NZBN
          type: string
        contactPerson:
          $ref: '#/components/schemas/BusinessContactPerson'
        contactEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        supportEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: Phone number in E164 format, eg. +61400000000
          examples:
            - '+61401234567'
          type: string
        address:
          $ref: '#/components/schemas/BusinessAddress'
        brandName:
          description: The customer facing name of your business.
          type: string
        cardStatementName:
          description: >-
            The label that will appear on your customer's credit or debit card
            statements. Must be between 5 and 13 characters. Valid characters
            are letters, numbers or spaces.
          examples:
            - Kates Deli
          type: string
        smsSenderName:
          description: >-
            Sms Sender Name.  Must be between 3 and 11 characters. Valid
            characters are letters and digits.
          examples:
            - KatesDeli
          type: string
        verificationDocs:
          $ref: '#/components/schemas/BusinessVerificationDoc'
    BusinessType:
      title: BusinessType
      type: string
      enum:
        - company
        - individual
        - soletrader
        - partnership
        - trust
    BusinessVerificationDoc:
      title: BusinessVerificationDoc
      type: object
      properties:
        companyFrontFileId:
          description: >-
            System identifier for uploaded scan of the front of the company
            document
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        companyBackFileId:
          description: >-
            System identifier for uploaded scan of the back of the company
            document
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        companyTaxIdFileId:
          description: >-
            System identifier for uploaded scan of the front of the tax ID
            document
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        partnershipAgreementFileId:
          description: >-
            System identifier for uploaded scan of the Partnership Agreement.
            Required if business type is partnership.
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        trustDeedFileId:
          description: >-
            System identifier for uploaded scan of the Trust Deed. Required if
            business type is trust.
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        trustDeedAmendmentFileIds:
          description: >-
            System identifiers for uploaded scans of the Trust Deed amendments.
            Required if business type is trust.
          type: array
          items:
            examples:
              - lfile_aZ-9UvKvllCPqGsm
            type: string
    CalculateSurchargeRequest_Vault:
      title: CalculateSurchargeRequest_Vault
      oneOf:
        - $ref: '#/components/schemas/PaymentSurchargeRequest'
    CalculateSurchargeResponse:
      title: CalculateSurchargeResponse
      oneOf:
        - $ref: '#/components/schemas/PaymentSurchargeResponse'
    CancelAuthorisation:
      title: CancelAuthorisation
      type: object
      required:
        - CancelAuthorisation
      properties:
        CancelAuthorisation:
          $ref: '#/components/schemas/CancelAuthorisation1'
    CancelAuthorisation1:
      title: CancelAuthorisation
      description: Cancels a pre-authorised transaction.
      type: object
    CaptureFunds:
      title: CaptureFunds
      type: object
      required:
        - CaptureFunds
      properties:
        CaptureFunds:
          $ref: '#/components/schemas/CaptureFunds1'
    CaptureFunds1:
      title: CaptureFunds
      description: >-
        Capture funds from a pre-authorised transaction. Note that funds must be
        captured within 7 days of the original authorisation.
      type: object
      properties:
        captureAmount:
          description: >-
            The amount **in minor currency units** that needs capturing. Must be
            less than or equal to the original amount pre-authorised. If
            omitted, the full amount is captured.
          type: integer
          format: int64
    CarRental:
      title: CarRental
      type: object
      required:
        - CarRental
      properties:
        CarRental:
          $ref: '#/components/schemas/CarRental1'
    CarRental1:
      title: CarRental
      type: object
      required:
        - dbi
        - driverName
        - pickUpDate
        - pickUpLocation
        - dropOffLocation
        - dayCount
      properties:
        dbi:
          $ref: '#/components/schemas/DescriptiveBillingInformation'
        driverName:
          description: Driver name between 1 and 45 alphanumeric characters long.
          type: string
        pickUpDate:
          description: Pick-ip date.
          type: string
          format: date
        pickUpLocation:
          description: Pick-up location between 1 and 13 alphanumeric characters long.
          type: string
        dropOffLocation:
          description: Drop-off location between 1 and 13 alphanumeric characters long.
          type: string
        dayCount:
          description: Day count.
          type: integer
          format: int32
    Card:
      title: Card
      description: Payment method is via card.
      type: object
      required:
        - cardAttributes
      properties:
        cardAttributes:
          $ref: '#/components/schemas/CardAttributes'
    Card1:
      title: Card
      description: Card to use
      type: object
      required:
        - number
        - expiryDate
      properties:
        number:
          description: >-
            The card PAN digits only. Best efforts are made to remove formatting
            but are not guaranteed.
          type: string
        cvc:
          description: The card code, often known as CVC,CVV,CID.
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: The card expiry Month and Year
    Card2:
      title: Card
      type: object
      required:
        - Card
      properties:
        Card:
          $ref: '#/components/schemas/Card3'
    Card3:
      title: Card
      description: Payment method is via card.
      type: object
      required:
        - cardNumber
      properties:
        cardNumber:
          description: >-
            The card PAN digits only. Best efforts are made to remove formatting
            but are not guaranteed.
          type: string
    Card4:
      title: Card
      description: '**DEPRECATED:** Use generalised case (`SavedPaymentSource`) instead'
      type: object
      required:
        - paymentSourceId
      properties:
        paymentSourceId:
          description: >-
            System unique identifier for the initial payment method used for the
            pay plan.
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        cvc:
          description: Optional CVC.
          type: string
    CardAttributes:
      title: CardAttributes
      description: The attributes of the specified card.
      type: object
      required:
        - funding
        - issuer
      properties:
        currency:
          description: Currency of the card.
          type: string
        country:
          $ref: '#/components/schemas/IsoCountry'
          description: Country of issue of the card as a ISO-3166-1 alpha-2 code.
        funding:
          $ref: '#/components/schemas/CardFunding'
          description: The type of funding of the card, eg credit.
        prepaid:
          description: Whether the card is prepaid (not specified if unknown).
          type: boolean
        brand:
          $ref: '#/components/schemas/CardBrand'
          description: The brand of the card, eg Visa.
        issuer:
          description: The name of the card issuer.
          type: string
        productType:
          $ref: '#/components/schemas/ProductType'
          description: >-
            The product type of the card, if known (eg wallet payments may not
            know this).
        schemeProduct:
          $ref: '#/components/schemas/SchemeProduct'
          description: >-
            The scheme product code applying to the card, if known (eg wallet
            payments may not know this).
        bin:
          description: The BIN of the card, if known.
          type: string
    CardBrand:
      title: CardBrand
      type: string
      enum:
        - ''
        - American Express
        - MasterCard
        - Visa
        - Diners Club
        - Discover
        - UnionPay
        - Maestro
        - Elo
        - Mir
        - Hiper
        - Hipercard
        - Jcb
        - Electron
        - Uatp
    CardBranding:
      title: CardBranding
      type: string
      enum:
        - MasterCard
        - Visa
        - American Express
        - Unknown
    CardBranding1:
      title: CardBranding
      type: string
      enum:
        - MasterCard
        - Visa
        - American Express
        - Unknown
    CardCreationDetailsDbiDto:
      title: CardCreationDetailsDbiDto
      type: object
      required:
        - cardHolderName
        - validFrom
        - validTo
        - metadata
      properties:
        cardHolderName:
          type: string
        emailAddress:
          description: The email address of the card holder
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: >-
            The phone of the card holder, which if specified will be used for
            3DS
          examples:
            - '+61401234567'
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The card limit for the card - the maximum amount that can be
            outstanding on the card at any time.
        usage:
          $ref: '#/components/schemas/CardUsage'
          description: Mode of use of the card - defaults to single purpose
        currencies:
          description: >-
            Currencies that the card is allowed to be used for; empty list means
            no restrictions
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/TransportBillingInformation'
    CardCreationDetailsDto:
      title: CardCreationDetailsDto
      type: object
      required:
        - cardHolderName
        - validFrom
        - validTo
        - metadata
      properties:
        cardHolderName:
          type: string
        emailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          examples:
            - '+61401234567'
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The card limit for the card - the maximum amount that can be
            outstanding on the card at any time.
        usage:
          $ref: '#/components/schemas/CardUsage'
          description: Mode of use of the card - defaults to single use
        currencies:
          description: >-
            Currencies that the card is allowed to be used for; empty list means
            no restrictions
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
    CardFunding:
      title: CardFunding
      type: string
      enum:
        - credit
        - debit
        - chargecard
        - prepaid
        - deferreddebit
        - unknown
    CardFunding1:
      title: CardFunding
      type: string
      enum:
        - Credit
        - Debit
        - Prepaid
        - Unknown
    CardFunding2:
      title: CardFunding
      type: string
      enum:
        - Credit
        - Debit
        - Prepaid
        - Unknown
    CardInfo:
      title: CardInfo
      type: object
      required:
        - cardDetails
        - cardNetwork
      properties:
        cardDetails:
          type: string
        cardNetwork:
          type: string
        assuranceDetails:
          $ref: '#/components/schemas/AssuranceDetailsSpecifications'
    CardMethod:
      title: CardMethod
      type: object
      required:
        - CardMethod
      properties:
        CardMethod:
          $ref: '#/components/schemas/CardMethod1'
    CardMethod1:
      title: CardMethod
      type: object
      required:
        - number
        - expiryDate
      properties:
        number:
          description: >-
            The card PAN digits only. Best efforts are made to remove formatting
            but are not guaranteed.
          type: string
        cvc:
          description: The card code, often known as CVC,CVV,CID.
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
    CardMethodResp:
      title: CardMethodResp
      type: object
      required:
        - CardMethodResp
      properties:
        CardMethodResp:
          $ref: '#/components/schemas/CardMethodResp1'
    CardMethodResp1:
      title: CardMethodResp
      type: object
      required:
        - country
        - last4
        - brand
        - funding
        - cardBin
        - expMonth
        - expYear
      properties:
        country:
          $ref: '#/components/schemas/IsoCountry'
        last4:
          type: string
        brand:
          $ref: '#/components/schemas/CardBranding'
        funding:
          $ref: '#/components/schemas/CardFunding1'
        cardBin:
          type: string
        expMonth:
          type: integer
          format: int32
        expYear:
          type: integer
          format: int32
    CardPaymentMethod:
      title: CardPaymentMethod
      type: object
      required:
        - paymentMethodType
      properties:
        paymentMethodType:
          $ref: '#/components/schemas/PaymentMethodType1'
        cardBrand:
          type: string
        cardBin:
          type: string
        cardLast4:
          type: string
        cardFunding:
          type: string
        cardIssuer:
          type: string
        cardExpiryDate:
          type: string
        cardCountry:
          type: string
        cardCVCVerificationPassed:
          type: boolean
        card3DSVerificationPassed:
          type: boolean
        info3DSVerification:
          type: string
        walletType:
          type: string
        outcome3ds:
          $ref: '#/components/schemas/Outcome3ds'
        card3DSFlow:
          type: string
        cardStatement:
          type: string
        cardHolderName:
          type: string
        errorCode:
          $ref: '#/components/schemas/ErrorCode'
        errorMessage:
          type: string
        errorDetails:
          type: string
    CardSynonymTypeDto:
      title: CardSynonymTypeDto
      type: string
      enum:
        - RandomPan
    CardSynonymTypeDto1:
      title: CardSynonymTypeDto
      oneOf:
        - $ref: '#/components/schemas/RandomPan'
    CardTokenDetails:
      title: CardTokenDetails
      type: object
      required:
        - CardTokenDetails
      properties:
        CardTokenDetails:
          $ref: '#/components/schemas/CardTokenDetails1'
    CardTokenDetails1:
      title: CardTokenDetails
      type: object
      required:
        - bin
        - last4
        - expiryDate
        - brand
        - country
        - funding
      properties:
        bin:
          type: string
        last4:
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        brand:
          $ref: '#/components/schemas/CardBranding1'
        country:
          $ref: '#/components/schemas/IsoCountry'
        funding:
          $ref: '#/components/schemas/CardFunding'
    CardUpdateDetailsDbiDto:
      title: CardUpdateDetailsDbiDto
      type: object
      required:
        - cardHolderName
        - validFrom
        - validTo
        - metadata
      properties:
        cardHolderName:
          type: string
        emailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          examples:
            - '+61401234567'
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The card limit for the card - the maximum amount that can be
            outstanding on the card at any time.
        currencies:
          description: >-
            Currencies that the card is allowed to be used for; empty list means
            no restrictions
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/TransportBillingInformation'
    CardUpdateDetailsDto:
      title: CardUpdateDetailsDto
      type: object
      required:
        - cardHolderName
        - validFrom
        - validTo
        - metadata
      properties:
        cardHolderName:
          type: string
        emailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          examples:
            - '+61401234567'
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The card limit for the card - the maximum amount that can be
            outstanding on the card at any time.
        currencies:
          description: >-
            Currencies that the card is allowed to be used for; empty list means
            no restrictions
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata to be stored on the card
    CardUsage:
      title: CardUsage
      type: string
      enum:
        - Single
        - Multiple
    CardUser:
      title: CardUser
      type: object
      required:
        - CardUser
      properties:
        CardUser:
          $ref: '#/components/schemas/CardUser1'
    CardUser1:
      title: CardUser
      description: >-
        A card user can view transactions and optionally create cards, but can't
        see statements.
      type: object
      required:
        - viewAllTransactions
        - canCreateCards
      properties:
        viewAllTransactions:
          description: >-
            Can this card user view all loan based transactions for the
            customer, not just ones for cards they are linked to.
          type: boolean
        canCreateCards:
          description: Can this card user create their own loan-backed credit cards.
          type: boolean
        loanAccess:
          type: array
          items:
            $ref: '#/components/schemas/LoanAccess'
    Charge:
      title: Charge
      type: object
      required:
        - chargeId
        - amount
        - isSuccess
        - createdAt
      properties:
        chargeId:
          description: System unique identifier for the charge.
          examples:
            - chrg_aZ-9UfKvllCPqGse
          type: string
        amount:
          description: How much was charged **in minor currency units**.
          type: integer
          format: int64
        isSuccess:
          description: Was the charge successfully captured.
          type: boolean
        instalmentNumber:
          description: >-
            If this is a regular instalment charge, what instalment does it
            correspond to.
          type: integer
          format: int32
        instalmentCharge:
          description: Was this charge made as part of a scheduled instalment payment.
          type: boolean
        createdAt:
          description: When the charge was created.
          type: string
          format: date-time
    CheckoutPayType:
      title: CheckoutPayType
      description: The payment type to be allowed in the checkout
      type: string
      enum:
        - payplan
        - paycard
    CompanyType:
      title: CompanyType
      type: string
      enum:
        - Private
        - Public
    ComponentisedAddress:
      title: ComponentisedAddress
      type: object
      required:
        - streetNumber
        - streetName
        - city
        - postcode
        - country
      properties:
        unitNumber:
          description: The address unit number
          type: string
        streetNumber:
          description: The address street number
          type: string
        streetName:
          description: The address street name
          type: string
        streetType:
          description: >-
            The address street type, eg Street or Road – not mandatory because
            12 The Esplanade
          type: string
        suburb:
          description: The address suburb
          type: string
        city:
          description: The address city
          type: string
        postcode:
          description: The address postcode
          type: string
        state:
          description: The address state
          type: string
        country:
          description: The address country
          type: string
    Confirm3DSComplete:
      title: Confirm3DSComplete
      type: object
      required:
        - Confirm3DSComplete
      properties:
        Confirm3DSComplete:
          $ref: '#/components/schemas/Confirm3DSComplete1'
    Confirm3DSComplete1:
      title: Confirm3DSComplete
      description: >-

        When 3DS is required, a card based `PayOrder` call returns status code
        `200` with response type `ThreeDSAuthorisationRequired` containing the
        details needed to complete the 3DS challenge.

        Use this action to complete the pay order process after the 3DS
        challenge is complete.

        See [3D-Secure Utilisation](/developer-portal/three-d-secure/) for
        further details.
      type: object
      required:
        - paymentTokenId
        - threeDSResponse
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: Payment token representing the payment used to pay for this order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        threeDSResponse:
          $ref: '#/components/schemas/ThreeDSResult'
        authoriseOnly:
          description: >-
            Authorise payment only. Should be the same value as passed into the
            original `PayOrder` call.
          type: boolean
    ConsumerCustomer:
      title: ConsumerCustomer
      type: object
      required:
        - ConsumerCustomer
      properties:
        ConsumerCustomer:
          $ref: '#/components/schemas/ConsumerCustomer1'
    ConsumerCustomer1:
      title: ConsumerCustomer
      type: object
      required:
        - customerId
        - merchantId
        - isVerified
        - createdAt
        - updatedAt
      properties:
        customerId:
          description: System unique identifier for a merchant customer.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        merchantId:
          description: System unique identifier for a merchant.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        marketplaceId:
          description: System unique identifier for a marketplace.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. If
            provided, must be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        emailAddress:
          description: Email address of the customer.
          examples:
            - lucy.diamond@star.com
          type: string
        givenName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        middleName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        familyName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        isVerified:
          description: >-
            Has the phone number and email address for this customer been
            verified to be correct.
          type: boolean
        phoneNumber:
          description: Phone number of the customer.
          examples:
            - '+61401234567'
          type: string
        createdAt:
          description: When the customer was first added to the system.
          type: string
          format: date-time
        updatedAt:
          description: When the customer was last updated in the system.
          type: string
          format: date-time
    ConsumerCustomerKycResult:
      title: ConsumerCustomerKycResult
      type: object
      required:
        - ConsumerCustomerKycResult
      properties:
        ConsumerCustomerKycResult:
          $ref: '#/components/schemas/ConsumerCustomerKycResult1'
    ConsumerCustomerKycResult1:
      title: ConsumerCustomerKycResult
      type: object
      required:
        - payTypeEligibility
      properties:
        payTypeEligibility:
          $ref: '#/components/schemas/KycPayTypeEligibility'
          description: Provides the KYC status information for the customer.
    ConsumerMarketplaceCustomer:
      title: ConsumerMarketplaceCustomer
      type: object
      required:
        - ConsumerMarketplaceCustomer
      properties:
        ConsumerMarketplaceCustomer:
          $ref: '#/components/schemas/ConsumerMarketplaceCustomer1'
    ConsumerMarketplaceCustomer1:
      title: ConsumerMarketplaceCustomer
      type: object
      required:
        - marketplaceCustomerId
        - marketplaceId
        - isVerified
        - createdAt
        - updatedAt
      properties:
        marketplaceCustomerId:
          examples:
            - mktpcust_aZ-9UvKvllCPqGsp
          type: string
        marketplaceId:
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        givenName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        middleName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        familyName:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        emailAddress:
          description: '**Restricted field** - only included if caller has access.'
          examples:
            - lucy.diamond@star.com
          type: string
        isVerified:
          type: boolean
        phoneNumber:
          description: '**Restricted field** - only included if caller has access.'
          examples:
            - '+61401234567'
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        referenceCustomerId:
          type: string
    Country:
      title: Country
      type: string
      enum:
        - AU
        - HK
        - NZ
        - SG
        - ZA
        - US
    CreateApplePayToken:
      title: CreateApplePayToken
      type: object
      required:
        - CreateApplePayToken
      properties:
        CreateApplePayToken:
          $ref: '#/components/schemas/CreateApplePayToken1'
    CreateApplePayToken1:
      title: CreateApplePayToken
      description: Create a payment token based on an Apple Pay datagram.
      type: object
      required:
        - amount
        - applePay
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        applePay:
          $ref: '#/components/schemas/EncryptedApplePay'
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateBankAccountToken:
      title: CreateBankAccountToken
      type: object
      required:
        - CreateBankAccountToken
      properties:
        CreateBankAccountToken:
          $ref: '#/components/schemas/CreateBankAccountToken1'
    CreateBankAccountToken1:
      title: CreateBankAccountToken
      description: >-
        Create a payment token based on a bank account's details which will be
        charged via direct debit. Agreement has to be acknowledged and accepted.
      type: object
      required:
        - amount
        - emailAddress
        - agreementAccepted
        - bankAccount
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        emailAddress:
          description: Email address of the owner of this account.
          type: string
        agreementAccepted:
          description: Customer has seen and accepted the direct debit agreement.
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
          description: Bank account to use
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateConsumerCardSource:
      title: CreateConsumerCardSource
      type: object
      required:
        - CreateConsumerCardSource
      properties:
        CreateConsumerCardSource:
          $ref: '#/components/schemas/CreateConsumerCardSource1'
    CreateConsumerCardSource1:
      title: CreateConsumerCardSource
      description: >-
        **DEPRECATED:** Use generalised case (`CreateSavedPaymentSource`)
        instead
      type: object
      required:
        - number
        - cvc
        - expiryDate
      properties:
        number:
          type: string
        cvc:
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
    CreateDigitalCardRequestMastercard:
      title: CreateDigitalCardRequestMastercard
      type: object
      required:
        - CreateDigitalCardRequestMastercard
      properties:
        CreateDigitalCardRequestMastercard:
          $ref: '#/components/schemas/CreateDigitalCardRequestMastercard1'
    CreateDigitalCardRequestMastercard1:
      title: CreateDigitalCardRequestMastercard
      type: object
      required:
        - loanId
        - details
      properties:
        loanId:
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        details:
          $ref: '#/components/schemas/CardCreationDetailsDto'
    CreateDigitalCardRequestMastercardWithDbi:
      title: CreateDigitalCardRequestMastercardWithDbi
      type: object
      required:
        - CreateDigitalCardRequestMastercardWithDbi
      properties:
        CreateDigitalCardRequestMastercardWithDbi:
          $ref: '#/components/schemas/CreateDigitalCardRequestMastercardWithDbi1'
    CreateDigitalCardRequestMastercardWithDbi1:
      title: CreateDigitalCardRequestMastercardWithDbi
      type: object
      required:
        - loanId
        - details
      properties:
        loanId:
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        details:
          $ref: '#/components/schemas/CardCreationDetailsDbiDto'
    CreateDigitalCardRequestUatp:
      title: CreateDigitalCardRequestUatp
      type: object
      required:
        - CreateDigitalCardRequestUatp
      properties:
        CreateDigitalCardRequestUatp:
          $ref: '#/components/schemas/CreateDigitalCardRequestUatp1'
    CreateDigitalCardRequestUatp1:
      title: CreateDigitalCardRequestUatp
      type: object
      required:
        - loanId
        - product
        - country
        - details
      properties:
        loanId:
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        product:
          $ref: '#/components/schemas/SppUatpCardProduct'
        country:
          $ref: '#/components/schemas/IsoCountry'
        details:
          $ref: '#/components/schemas/CardCreationDetailsDto'
    CreateDigitalCardResponseMastercard:
      title: CreateDigitalCardResponseMastercard
      type: object
      required:
        - CreateDigitalCardResponseMastercard
      properties:
        CreateDigitalCardResponseMastercard:
          $ref: '#/components/schemas/CreateDigitalCardResponseMastercard1'
    CreateDigitalCardResponseMastercard1:
      title: CreateDigitalCardResponseMastercard
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    CreateDigitalCardResponseUatp:
      title: CreateDigitalCardResponseUatp
      type: object
      required:
        - CreateDigitalCardResponseUatp
      properties:
        CreateDigitalCardResponseUatp:
          $ref: '#/components/schemas/CreateDigitalCardResponseUatp1'
    CreateDigitalCardResponseUatp1:
      title: CreateDigitalCardResponseUatp
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    CreateGooglePayToken:
      title: CreateGooglePayToken
      type: object
      required:
        - CreateGooglePayToken
      properties:
        CreateGooglePayToken:
          $ref: '#/components/schemas/CreateGooglePayToken1'
    CreateGooglePayToken1:
      title: CreateGooglePayToken
      description: Create a payment token based on a Google Pay datagram.
      type: object
      required:
        - amount
        - googlePay
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        googlePay:
          $ref: '#/components/schemas/EncryptedGooglePay'
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateManualCardToken:
      title: CreateManualCardToken
      type: object
      required:
        - CreateManualCardToken
      properties:
        CreateManualCardToken:
          $ref: '#/components/schemas/CreateManualCardToken1'
    CreateManualCardToken1:
      title: CreateManualCardToken
      description: >-
        Create a payment token based on a card provided manually. For
        integrators who wish to call this action directly, you must be PCI
        certified since you will be handling raw card details.
      type: object
      required:
        - amount
        - card
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        card:
          $ref: '#/components/schemas/Card1'
        threeDsSessionId:
          description: >-
            3DS session id, optional as it is only used in extended 3DS
            scenarios such as Cardinal 3DS2, which performs an extended device
            data check cycle returning a session id that is passed to the
            backend as part of the payment token data
          type: string
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateManualPayoutRequest:
      title: CreateManualPayoutRequest
      type: object
      required:
        - currency
        - payoutAmount
        - statementDescriptor
      properties:
        currency:
          description: >-
            The currency of the payout as a 3 letter ISO code. Currently foreign
            exchange is not supported. The currency must match the trading
            currency of the merchant.
          examples:
            - AUD
          type: string
        payoutAmount:
          description: The amount credited towards the payout **in minor currency units**
          type: integer
          format: int64
        externalAccountId:
          description: >-
            System unique identifier for a bank account to credit. If not
            specified, the merchant's primary bank account will be used.
          examples:
            - xacc_aZ-9U_KvllCPqGst
          type: string
        statementDescriptor:
          description: >-
            Information about the payout that will appear on the customer's bank
            statement.
          type: string
        paymentChannels:
          description: >-
            The payment channels to use for the payout. If more than one is
            specified, they will be attempted in the order given.
          type: array
          items:
            $ref: '#/components/schemas/PaymentChannel'
        feePayingMerchantId:
          description: >-
            System unique identifier for the merchant to charge the payout fee
            to. The merchant receiving the payout is used by default.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
    CreateMarketplaceMerchantRequest:
      title: CreateMarketplaceMerchantRequest
      oneOf:
        - $ref: '#/components/schemas/CreateServiceProviderSubmerchant'
        - $ref: '#/components/schemas/CreateStandardSubmerchant'
    CreateOnlineOrder:
      title: CreateOnlineOrder
      type: object
      required:
        - CreateOnlineOrder
      properties:
        CreateOnlineOrder:
          $ref: '#/components/schemas/CreateOnlineOrder1'
    CreateOnlineOrder1:
      title: CreateOnlineOrder
      description: >-
        Represents an order processed in real-time, typically on an e-commerce
        site.
      type: object
      required:
        - referenceOrderId
        - amount
      properties:
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: >-
            The order amount **in minor currency units** prior to any applicable
            surcharges
        customerEmailAddress:
          description: Optional email address of the customer
          examples:
            - lucy.diamond@star.com
          type: string
        customerPhoneNumber:
          description: Optional phone number of the customer.
          type: string
        description:
          description: A free text description of the order
          type: string
        items:
          description: A list of line items included in the order
          type: array
          items:
            $ref: '#/components/schemas/Item'
        discountAmount:
          description: Optional discount applied to order **in minor currency units**.
          type: integer
          format: int64
        shipping:
          $ref: '#/components/schemas/Shipping'
          description: Optional shipping address for the order.
        billing:
          $ref: '#/components/schemas/Billing'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Merchant specific additional data associated with this order.
        parentTransactionId:
          $ref: '#/components/schemas/ParentTransactionId'
          description: Is this transaction derived from or linked to another Transaction.
        settlementConfiguration:
          $ref: '#/components/schemas/SettlementConfiguration'
          description: >-
            For merchants with multiple settlement configurations, this field
            can be used to specify the desired settlement configuration for this
            order.
    CreateOrderRequest:
      title: CreateOrderRequest
      oneOf:
        - $ref: '#/components/schemas/CreateOnlineOrder'
        - $ref: '#/components/schemas/CreatePayByLinkOrder'
    CreateOrderResponse:
      title: CreateOrderResponse
      oneOf:
        - $ref: '#/components/schemas/OnlineOrder'
        - $ref: '#/components/schemas/PayByLinkOrder'
    CreateOrganisationCardSource:
      title: CreateOrganisationCardSource
      type: object
      required:
        - CreateOrganisationCardSource
      properties:
        CreateOrganisationCardSource:
          $ref: '#/components/schemas/CreateOrganisationCardSource1'
    CreateOrganisationCardSource1:
      title: CreateOrganisationCardSource
      description: >-
        **DEPRECATED:** Use generalised case (`CreateSavedPaymentSource`)
        instead
      type: object
      required:
        - number
        - cvc
        - expiryDate
        - cardUsageScope
      properties:
        number:
          type: string
        cvc:
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        cardUsageScope:
          $ref: '#/components/schemas/SourceUsageScope'
    CreatePayByLinkOrder:
      title: CreatePayByLinkOrder
      type: object
      required:
        - CreatePayByLinkOrder
      properties:
        CreatePayByLinkOrder:
          $ref: '#/components/schemas/CreatePayByLinkOrder1'
    CreatePayByLinkOrder1:
      title: CreatePayByLinkOrder
      description: >-
        Represents an order where a link is sent to the customer via email or
        SMS to be completed asynchronously at some future point. When the
        customer clicks on the link to complete the order, they are shown a
        'virtual terminal' in their browser. This behaves similarly to the
        checkout, enabling the customer to provide payment details and complete
        the purchase.
      type: object
      required:
        - referenceOrderId
        - amount
      properties:
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: >-
            The order amount **in minor currency units** prior to any applicable
            surcharges
        paymentTypeAmounts:
          description: >-
            Optional array of amounts for each payment type, used as override
            for the `amount` field
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/PaymentTypeAmount'
        customerEmailAddress:
          description: Optional email address of the customer
          examples:
            - lucy.diamond@star.com
          type: string
        customerPhoneNumber:
          description: >-
            Optional phone number of the customer. Note, this must be in E164
            format
          type: string
        description:
          description: A free text description of the order
          type: string
        items:
          description: A list of line items included in the order
          type: array
          items:
            $ref: '#/components/schemas/Item'
        discountAmount:
          description: Optional discount applied to order **in minor currency units**.
          type: integer
          format: int64
        shipping:
          $ref: '#/components/schemas/Shipping'
          description: Optional shipping address for the order.
        billing:
          $ref: '#/components/schemas/Billing'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Merchant specific additional data associated with this order.
        settlementConfiguration:
          $ref: '#/components/schemas/SettlementConfiguration'
          description: >-
            For merchants with multiple settlement configurations, this field
            can be used to specify the desired settlement configuration for this
            order.
        taxIncluded:
          type: boolean
        taxIncludedAmountOverride:
          description: >-
            Overrides the tax amount to a specific value **in minor currency
            units**.
          type: integer
          format: int64
        request3DSOnPayment:
          description: >-
            Whether to request 3DS to be performed when paying for the order.
            Defaults to `false`
          type: boolean
        sendPaymentLinkSms:
          description: >-
            Whether to send a payment link via SMS to the customer. Defaults to
            `false`
          type: boolean
        sendPaymentLinkEmail:
          description: >-
            Whether to send a payment link via email to the customer. Defaults
            to `false`
          type: boolean
        sendReceiptEmail:
          description: >-
            Whether to send a receipt via email to the customer. Defaults to
            `false`
          type: boolean
        parentTransactionId:
          $ref: '#/components/schemas/ParentTransactionId'
          description: Is this transaction derived from or linked to another Transaction.
    CreatePayPlanOfferRequest:
      title: CreatePayPlanOfferRequest
      type: object
      required:
        - amount
        - payPlanVariant
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The full plan amount
        initialPayment:
          description: >-
            An optional amount that the customer will pay up front **in minor
            currency units** (e.g. cents for AUD)
          type: integer
          format: int64
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
          description: >-
            The variant of the plan to construct. This implies the number of
            instalments; the minimum initialPayment expected; and the frequency
            of payments (e.g. fortnightly, weekly, etc.)
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            An optional data structure including additional customer data that
            could influence the offer outcome. Only used if agreed up front
            between the payment system and the merchant. Independent from
            metadata provided during order creation.
    CreatePayPlanOfferResponse:
      title: CreatePayPlanOfferResponse
      type: object
      required:
        - offerDetails
        - offerVerificationToken
      properties:
        offerDetails:
          $ref: '#/components/schemas/OfferDetails'
        offerVerificationToken:
          description: Tamper detection digital signature
          type: string
        message:
          description: An explanation message that can be presented to the customer
          type: string
    CreatePayPlanRequest_Vault:
      title: CreatePayPlanRequest_Vault
      type: object
      required:
        - termsAndConditionsAccepted
        - offerDetails
        - offerVerificationToken
        - paymentSource
      properties:
        termsAndConditionsAccepted:
          description: Has the customer accepted the terms and conditions of the pay plan
          type: boolean
        offerDetails:
          $ref: '#/components/schemas/OfferDetails'
        offerVerificationToken:
          description: Tamper detection digital signature
          type: string
        paymentSource:
          $ref: '#/components/schemas/PaymentSource'
        threeDsSessionId:
          description: >-
            3DS session id, optional as it is only used in extended 3DS
            scenarios such as Cardinal 3DS2, which performs an extended device
            data check cycle returning a session id that is passed to the
            backend as part of the payment token data
          type: string
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreatePayPlanResponse:
      title: CreatePayPlanResponse
      type: object
      required:
        - payPlan
        - paymentTokenId
      properties:
        payPlan:
          $ref: '#/components/schemas/PayPlanResponse'
          description: Details of the newly created pay plan
        paymentTokenId:
          description: Payment token representing this pay plan used to pay for an order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
    CreatePayToToken:
      title: CreatePayToToken
      type: object
      required:
        - CreatePayToToken
      properties:
        CreatePayToToken:
          $ref: '#/components/schemas/CreatePayToToken1'
    CreatePayToToken1:
      title: CreatePayToToken
      description: >-
        Create a payment token based on a previouly accepted single-use PayTo
        agreement.
      type: object
      required:
        - amount
        - agreementToken
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        agreementToken:
          description: Token representing an active PayTo agreement
          type: string
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreatePaymentSourceRequest_Vault:
      title: CreatePaymentSourceRequest_Vault
      oneOf:
        - $ref: '#/components/schemas/CreateConsumerCardSource'
        - $ref: '#/components/schemas/CreateOrganisationCardSource'
        - $ref: '#/components/schemas/CreateSavedPaymentSource'
        - $ref: '#/components/schemas/CreateTemporaryCardSource'
    CreatePaymentTokenRequest_Vault:
      title: CreatePaymentTokenRequest_Vault
      oneOf:
        - $ref: '#/components/schemas/CreateApplePayToken'
        - $ref: '#/components/schemas/CreateBankAccountToken'
        - $ref: '#/components/schemas/CreateGooglePayToken'
        - $ref: '#/components/schemas/CreateManualCardToken'
        - $ref: '#/components/schemas/CreatePayToToken'
        - $ref: '#/components/schemas/CreateSavedCardToken'
        - $ref: '#/components/schemas/CreateSavedPaymentSourceToken'
    CreateRefund:
      title: CreateRefund
      type: object
      required:
        - CreateRefund
      properties:
        CreateRefund:
          $ref: '#/components/schemas/CreateRefund1'
    CreateRefund1:
      title: CreateRefund
      description: >

        Refund a customer the given amount for the order associated with this
        transaction. Multiple partial refunds may be made against

        a transaction as long as the total refund amount is less than or equal
        to the original amount of the transaction.


        For pay in full transactions, this will trigger a reversal of funds on
        the payment source, typically a card,

        the customer used for the purchase. This may take 2 to 3 business days
        before the refund is reflected in the customer's account balance,

        depending on the financial institution they use.


        For pay plan transactions, the refund amount is first deducted from the
        outstanding loan amount. The customer will receive a reversal

        of funds only if the refund amount is greater than the outstanding loan
        amount, and if so, only for the difference.
      type: object
      required:
        - refundAmount
      properties:
        refundAmount:
          description: >-
            The amount **in minor currency units** of the transaction currency
            that needs refunding. Must be less than or equal to the transaction
            amount minus any previous refunds or transfers.
          type: integer
          format: int64
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: This can be used to associate any metadata to this refund.
    CreateSavedCardToken:
      title: CreateSavedCardToken
      type: object
      required:
        - CreateSavedCardToken
      properties:
        CreateSavedCardToken:
          $ref: '#/components/schemas/CreateSavedCardToken1'
    CreateSavedCardToken1:
      title: CreateSavedCardToken
      description: >-
        **DEPRECATED:** Use generalised case (`CreateSavedPaymentSourceToken`)
        instead
      type: object
      required:
        - amount
        - cardPaymentSourceId
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        cardPaymentSourceId:
          description: Reference to a saved card
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        cvc:
          description: Tokenised CVC for the card
          type: string
        threeDsSessionId:
          description: >-
            3DS session id, optional as it is only used in extended 3DS
            scenarios such as Cardinal 3DS2, which performs an extended device
            data check cycle returning a session id that is passed to the
            backend as part of the payment token data
          type: string
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateSavedPaymentSource:
      title: CreateSavedPaymentSource
      type: object
      required:
        - CreateSavedPaymentSource
      properties:
        CreateSavedPaymentSource:
          $ref: '#/components/schemas/CreateSavedPaymentSource1'
    CreateSavedPaymentSource1:
      title: CreateSavedPaymentSource
      description: >-
        Creates a payment source based on a specified method saved against a B2C
        consumer customer or according to the given B2B usage scope or for
        billing purposes.
      type: object
      required:
        - sourceMethod
      properties:
        sourceMethod:
          $ref: '#/components/schemas/PaymentSourceMethod'
        usageScope:
          $ref: '#/components/schemas/PaymentSourceUsageScope'
          description: >

            Used to determine the context of a payment sources. Should be `null`
            for consumer customers.


            * **ScopeOrganisation**  - For B2B customers, a payment source saved
            with organisation scope is available to
                                       _all_ delegates of the organisation represented by the customer.
            * **ScopeDelegate**      - For B2B customers, a payment source saved
            with delegate scope is _only_ available to
                                       the delegate who added the payment source.
            * **ScopeBilling**       - Indicates a payment source that can be
            used to automatically pay fee invoices for
                                       merchants set up for gross settlement. Adding a new billing payment source will automatically
                                       configure that as the default payment source for fee invoices going forward.
    CreateSavedPaymentSourceToken:
      title: CreateSavedPaymentSourceToken
      type: object
      required:
        - CreateSavedPaymentSourceToken
      properties:
        CreateSavedPaymentSourceToken:
          $ref: '#/components/schemas/CreateSavedPaymentSourceToken1'
    CreateSavedPaymentSourceToken1:
      title: CreateSavedPaymentSourceToken
      description: >-
        Create a payment token based on a saved payment source. This can be a
        temporary anonymous source or a payment source saved against a customer.
      type: object
      required:
        - amount
        - paymentSourceId
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The amount and currency of the payment
        paymentSourceId:
          description: Reference to a saved card
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        cvc:
          description: Tokenised CVC for the card
          type: string
        threeDsSessionId:
          description: >-
            3DS session id, optional as it is only used in extended 3DS
            scenarios such as Cardinal 3DS2, which performs an extended device
            data check cycle returning a session id that is passed to the
            backend as part of the payment token data
          type: string
        surchargeRequirement:
          $ref: '#/components/schemas/SurchargeRequirement'
    CreateServiceProviderSubmerchant:
      title: CreateServiceProviderSubmerchant
      type: object
      required:
        - CreateServiceProviderSubmerchant
      properties:
        CreateServiceProviderSubmerchant:
          $ref: '#/components/schemas/CreateServiceProviderSubmerchant1'
    CreateServiceProviderSubmerchant1:
      title: CreateServiceProviderSubmerchant
      description: >-
        Request associated with the creation of a skeleton sub-merchant without
        full eCommerce due diligence requirements
      type: object
      required:
        - referenceMerchantId
        - contactEmailAddress
        - businessName
        - taxCountry
        - businessType
        - taxId
        - bankAccountName
        - bankAccountNumber
        - bankCountry
        - bankCurrency
        - bankRoutingNumber
      properties:
        referenceMerchantId:
          description: >-
            A unique string for this merchant, such as your primary key; a
            create call with a non-null `referenceMerchantId` value that already
            exists for your marketplace will be rejected
          type: string
        contactEmailAddress:
          description: Used for authenticating into the Limepay merchant dashboard
          examples:
            - lucy.diamond@star.com
          type: string
        businessName:
          description: Business name (as linked to ABN/ACN)
          type: string
        taxCountry:
          description: >-
            ISO-3166 two-letter country code for where the merchant is a tax
            resident.
          examples:
            - AU
          type: string
          maxLength: 2
          minLength: 2
        businessType:
          $ref: '#/components/schemas/BusinessType'
          description: The business type for the merchant
        companyType:
          $ref: '#/components/schemas/CompanyType'
          description: The company type for the merchant
        industry:
          $ref: '#/components/schemas/Industry'
          description: The industry for the merchant
        taxId:
          description: The tax id (e.g. ABN or NZBN) for the merchant
          type: string
        contactPerson:
          $ref: '#/components/schemas/BusinessContactPerson1'
        phoneNumber:
          description: >-
            Phone number associated with the merchant in E164 format, eg.
            +61400000000
          examples:
            - '+61401234567'
          type: string
        address:
          $ref: '#/components/schemas/BusinessAddress1'
          description: The address for the merchant
        bankName:
          description: The bank name for the merchant
          type: string
        bankAccountName:
          description: The bank account name for the merchant
          type: string
        bankAccountNumber:
          description: The bank account number for the merchant
          type: string
        bankCountry:
          description: The bank country for the merchant
          type: string
        bankCurrency:
          description: The bank currency for the merchant
          examples:
            - AUD
          type: string
        bankRoutingNumber:
          description: >-
            The Australian equivalent to routing number is the bank state
            branch, or BSB, number
          type: string
        bankReferenceAccountId:
          description: >-
            An optional reference provided by the merchant to identify the bank
            account. Must be unique for the given merchant.
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Additional use case data specific to individual marketplaces or
            target industries and applications
        requesterId:
          description: >-
            An optional identifier of the requester. Required to perform Bank
            Account Validation
          type: string
    CreateStandardSubmerchant:
      title: CreateStandardSubmerchant
      type: object
      required:
        - CreateStandardSubmerchant
      properties:
        CreateStandardSubmerchant:
          $ref: '#/components/schemas/CreateStandardSubmerchant1'
    CreateStandardSubmerchant1:
      title: CreateStandardSubmerchant
      description: >-
        Request data associated with the creation of a standard sub-merchant of
        a marketplace
      type: object
      required:
        - termsAndConditionsAccepted
        - readableIdentifier
        - contactEmailAddress
        - businessName
        - taxCountry
      properties:
        termsAndConditionsAccepted:
          description: Has the merchant accepted the April terms and conditions
          type: boolean
        referenceMerchantId:
          description: >-
            A unique string for this merchant, such as your primary key; a
            create call with a non-null `referenceMerchantId` value that already
            exists for your marketplace will be rejected
          type: string
        readableIdentifier:
          description: >-
            Unique URL used for dashboards. Must be 4-255 characters, lowercase,
            alphanumeric without any special characters such as ! @ # & ( ) – [
            ] : ; ‘, ? /.
          examples:
            - mybusiness
          type: string
          maxLength: 255
          minLength: 4
          pattern: '[a-z0-9]{4,255}'
        contactEmailAddress:
          description: Email address associated with the merchant
          examples:
            - lucy.diamond@star.com
          type: string
        businessName:
          description: >-
            Business name (as linked to official business registration ids such
            as ABN/ACN or NZBN)
          type: string
          maxLength: 100
          minLength: 3
        taxCountry:
          description: >-
            ISO-3166 two-letter country code for where the merchant is a tax
            resident.
          examples:
            - AU
          type: string
          maxLength: 2
          minLength: 2
        tradingCountry:
          description: >-
            Optional ISO-3166 two-letter country code for where the merchant is
            accepting payments. Only required if different from tax country.
          examples:
            - NZ
          type: string
          maxLength: 2
          minLength: 2
    CreateSynonymsForDigitalCardsRequest:
      title: CreateSynonymsForDigitalCardsRequest
      type: object
      required:
        - CreateSynonymsForDigitalCardsRequest
      properties:
        CreateSynonymsForDigitalCardsRequest:
          $ref: '#/components/schemas/CreateSynonymsForDigitalCardsRequest1'
    CreateSynonymsForDigitalCardsRequest1:
      title: CreateSynonymsForDigitalCardsRequest
      type: object
      required:
        - digitalCardReferences
        - cardSynonymType
      properties:
        digitalCardReferences:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/DigitalCardReferenceDto_Vault'
        cardSynonymType:
          $ref: '#/components/schemas/CardSynonymTypeDto1'
    CreateSynonymsForDigitalCardsResponse:
      title: CreateSynonymsForDigitalCardsResponse
      type: object
      required:
        - CreateSynonymsForDigitalCardsResponse
      properties:
        CreateSynonymsForDigitalCardsResponse:
          $ref: '#/components/schemas/CreateSynonymsForDigitalCardsResponse1'
    CreateSynonymsForDigitalCardsResponse1:
      title: CreateSynonymsForDigitalCardsResponse
      type: object
      required:
        - synonyms
      properties:
        synonyms:
          type: array
          minItems: 1
          items:
            type: string
    CreateTemporaryCardSource:
      title: CreateTemporaryCardSource
      type: object
      required:
        - CreateTemporaryCardSource
      properties:
        CreateTemporaryCardSource:
          $ref: '#/components/schemas/CreateTemporaryCardSource1'
    CreateTemporaryCardSource1:
      title: CreateTemporaryCardSource
      description: >

        Creates a _temporary_ payment source based on a card not associated with
        any customer. This payment source can only be used for pay in full
        payments and is valid for 10 minutes from time of creation.

        This is useful if you don't know the exact payment amount at the time of
        capturing the card. An alternative to using a

        temporary card source if you know the payment amount, is to [create a
        payment token](/openapi/april-public/operation/CreatePaymentToken) using
        a manual card.
      type: object
      required:
        - number
        - expiryDate
      properties:
        number:
          description: >-
            The card PAN digits only. Best efforts are made to remove formatting
            but are not guaranteed.
          type: string
        cvc:
          description: The card code, often known as CVC,CVV,CID.
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
    CreateWebhookMarketplaceSubscription:
      title: CreateWebhookMarketplaceSubscription
      type: object
      required:
        - CreateWebhookMarketplaceSubscription
      properties:
        CreateWebhookMarketplaceSubscription:
          $ref: '#/components/schemas/CreateWebhookMarketplaceSubscription1'
    CreateWebhookMarketplaceSubscription1:
      title: CreateWebhookMarketplaceSubscription
      type: object
      required:
        - url
      properties:
        url:
          description: >-
            Destination endpoint that will be called via an HTTP POST on new
            events. Protocol must be https
          examples:
            - https://api.myservice.io/events
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        description:
          description: An optional description indicating what the webhook is used for.
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Optional metadata to include in the payload of all webhooks
            generated by this subscription.
    CreateWebhookMerchantSubscription:
      title: CreateWebhookMerchantSubscription
      type: object
      required:
        - CreateWebhookMerchantSubscription
      properties:
        CreateWebhookMerchantSubscription:
          $ref: '#/components/schemas/CreateWebhookMerchantSubscription1'
    CreateWebhookMerchantSubscription1:
      title: CreateWebhookMerchantSubscription
      type: object
      required:
        - url
      properties:
        url:
          description: >-
            Destination endpoint that will be called via an HTTP POST on new
            events. Protocol must be https
          examples:
            - https://api.myservice.io/events
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        description:
          description: An optional description indicating what the webhook is used for.
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Optional metadata to include in the payload of all webhooks
            generated by this subscription.
    CreateWebhookSubscriptionRequest:
      title: CreateWebhookSubscriptionRequest
      oneOf:
        - $ref: '#/components/schemas/CreateWebhookMarketplaceSubscription'
        - $ref: '#/components/schemas/CreateWebhookMerchantSubscription'
    CreditAppliedToNewStatement:
      title: CreditAppliedToNewStatement
      type: object
      required:
        - timestamp
        - amount
        - user
        - paidStatementId
      properties:
        timestamp:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        user:
          type: string
        paidStatementId:
          examples:
            - lstmt_aZ-9WPKvllCPqGtK
          type: string
    CurrencyAmount:
      title: CurrencyAmount
      type: object
      required:
        - minorCurrencyUnits
        - currency
      properties:
        minorCurrencyUnits:
          description: The amount in minor currency units (e.g. cents for AUD).
          type: integer
          format: int64
        currency:
          description: The currency of the given amount as a 3 letter ISO code.
          examples:
            - AUD
          type: string
    CustBusinessProfile:
      title: CustBusinessProfile
      type: object
      required:
        - timeZone
        - businessName
        - businessType
        - website
        - supportSite
        - industry
        - taxCountry
        - taxId
        - contactPerson
        - contactEmailAddress
        - phoneNumber
        - address
        - brandName
      properties:
        timeZone:
          description: Timezone for the merchant, e.g. Australia/Sydney
          examples:
            - Australia/Sydney
          type: string
        businessName:
          description: Business name (as linked to ABN/ACN)
          type: string
        businessType:
          $ref: '#/components/schemas/BusinessType'
        companyType:
          $ref: '#/components/schemas/CompanyType'
          description: (Optional) Company type, required when businessType is company
        website:
          description: Company website
          type: string
        supportSite:
          description: Company website for handling support issues
          type: string
        industry:
          $ref: '#/components/schemas/Industry'
        taxCountry:
          $ref: '#/components/schemas/Country'
          description: The country where the business is registered for tax purposes.
        tradingCountry:
          $ref: '#/components/schemas/Country'
          description: The country where customers of the business are making payments.
        taxId:
          description: The registered tax id of the company, e.g. ABN, NZBN
          type: string
        contactPerson:
          $ref: '#/components/schemas/BusinessContactPerson'
        contactEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        supportEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: Phone number in E164 format, eg. +61400000000
          examples:
            - '+61401234567'
          type: string
        address:
          $ref: '#/components/schemas/BusinessAddress'
        brandName:
          description: The customer facing name of your business.
          type: string
    CustomerAttributes:
      title: CustomerAttributes
      type: object
      required:
        - customerId
      properties:
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        position:
          type: string
        loanRole:
          $ref: '#/components/schemas/LoanRole'
    CustomerAuthenticationResult:
      title: CustomerAuthenticationResult
      type: object
      required:
        - customerId
        - customToken
      properties:
        customerId:
          description: System unique identifier for the customer
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        customerDelegateId:
          description: System unique identifier for the customer delegate
          examples:
            - custd_aZ-9VPKvllCPqGs2
          type: string
        customToken:
          description: A custom token that can be provided to the checkout.
          type: string
    CustomerDelegateResponse:
      title: CustomerDelegateResponse
      type: object
      required:
        - customerDelegateId
        - delegateEmailAddress
        - createdAt
      properties:
        customerDelegateId:
          description: System unique identifier for the customer delegate.
          examples:
            - custd_aZ-9VPKvllCPqGs2
          type: string
        delegateEmailAddress:
          description: Email address of the customer delegate.
          examples:
            - lucy.diamond@star.com
          type: string
        delegatePhoneNumber:
          description: Phone number of the customer delegate.
          examples:
            - '+61401234567'
          type: string
        delegateName:
          description: Name of the customer delegate.
          type: string
        linkedCustomers:
          description: Customers associated with this delegate.
          type: array
          items:
            $ref: '#/components/schemas/MerchantCustomerResponse'
        customerAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomerAttributes'
        createdAt:
          type: string
          format: date-time
    CustomerDetails:
      title: CustomerDetails
      type: object
      required:
        - customerId
        - customerName
        - customerEmailAddress
      properties:
        customerId:
          description: System unique identifier for the customer.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. If
            provided, must be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        customerName:
          description: Full name of the customer.
          type: string
        customerEmailAddress:
          description: Email address of the customer.
          examples:
            - lucy.diamond@star.com
          type: string
        customerPhoneNumber:
          description: Phone number of the customer.
          examples:
            - '+61401234567'
          type: string
    CustomerFees:
      title: CustomerFees
      description: Customer fees associated with this loan
      type: object
      required:
        - annualFixedFee
        - statementReissueFixedFee
        - currencyConversionVariableFee
        - internationalProcessingVariableFee
        - latePaymentReminderFixedFee
        - latePaymentInterestVariableFee
      properties:
        annualFixedFee:
          description: >-
            Fee automatically charged to the account annually specified in major
            currency units
          type: integer
          format: int64
        implementationFixedFee:
          description: >-
            One off fee charged when loan is established specified in major
            currency units
          type: integer
          format: int64
        premiumAccountVariableFee:
          description: >-
            Rate added to all charges for premium accounts, specified as a
            decimal (e.g. 0.05 for 5%)
          type: number
        statementReissueFixedFee:
          description: Fee charged to re-issue a statement via email
          type: integer
          format: int64
        currencyConversionVariableFee:
          description: >-
            Rate charged to convert drawdowns in foreign currencies to
            settlement currency
          type: number
        internationalProcessingVariableFee:
          description: >-
            Card transaction using the Mastercard network is made in the
            settlement currency, but is processed outside of the market where
            the Service Application form is entered into
          type: number
        transactionFixedFee:
          description: Fee attached to every transaction
          type: integer
          format: int64
        hotelEnrichmentFixedFee:
          description: Fee attached to every hotel transaction
          type: integer
          format: int64
        latePaymentReminderFixedFee:
          description: >-
            Fee charged if the account payment is not made on time and a
            Reminder Letter needs to be sent
          type: integer
          format: int64
        latePaymentInterestVariableFee:
          description: >-
            Late Payment fees are chargeable on overdue amounts at % cost on an
            annualised basis
          type: number
    CustomerIdentificationAddress:
      title: CustomerIdentificationAddress
      description: The customer's address
      type: object
      required:
        - address
      properties:
        address:
          description: >-
            Full form address, populated from the componentised version if an
            independent version of the string is not available
          type: string
        componentised:
          $ref: '#/components/schemas/ComponentisedAddress'
          description: Componentised version of the customer address
        addressIdentifier:
          description: Machine-generated opaque address identifier
          type: string
    CustomerIdentificationDriversLicence:
      title: CustomerIdentificationDriversLicence
      description: The customer's drivers licence details (assumes Australia)
      type: object
      required:
        - number
        - state
        - documentNumber
      properties:
        number:
          description: The number of the drivers licence
          type: string
        state:
          description: The local abbreviation for the state, eg VIC for Victoria
          type: string
        documentNumber:
          description: >-
            The document number introduced from 2022 on Australian licences (now
            mandatory for all states)
          type: string
    CustomerIdentificationDriversLicenceWithVersion:
      title: CustomerIdentificationDriversLicenceWithVersion
      description: The customer's drivers licence details with version number (used in NZ)
      type: object
      required:
        - number
        - versionNumber
      properties:
        number:
          description: The number of the drivers licence
          type: string
        versionNumber:
          description: Version number of the licence (eg as used in NZ)
          type: string
    CustomerIdentificationMandatory:
      title: CustomerIdentificationMandatory
      description: Identification information for the customer.
      type: object
      required:
        - name
        - dateOfBirth
        - address
      properties:
        name:
          $ref: '#/components/schemas/CustomerIdentificationName'
        dateOfBirth:
          description: The customer's date of birth
          type: string
          format: date
        address:
          $ref: '#/components/schemas/CustomerIdentificationAddress'
        driversLicence:
          $ref: '#/components/schemas/CustomerIdentificationDriversLicence'
        passport:
          $ref: '#/components/schemas/CustomerIdentificationPassport'
        driversLicenceWithVersion:
          $ref: '#/components/schemas/CustomerIdentificationDriversLicenceWithVersion'
        passportWithExpiry:
          $ref: '#/components/schemas/CustomerIdentificationPassportWithExpiry'
    CustomerIdentificationName:
      title: CustomerIdentificationName
      description: The customer's name
      type: object
      required:
        - familyName
      properties:
        givenName:
          description: The customer's given name
          type: string
        middleName:
          description: The customer's middle name
          type: string
        familyName:
          description: The customer's family name
          type: string
    CustomerIdentificationOutcome:
      title: CustomerIdentificationOutcome
      description: The KYC status of the customer
      type: string
      enum:
        - allow
        - deny
        - idwithoutdocument
        - idwithdocument
    CustomerIdentificationPassport:
      title: CustomerIdentificationPassport
      description: The customer's passport details (assumes Australia)
      type: object
      required:
        - number
        - country
      properties:
        number:
          description: The number of the passport
          type: string
        country:
          description: >-
            The ISO-3166-alpha3 country code of the issuing national (e.g. AUS,
            USA, IDR, KOR, etc) – see
            https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
          type: string
    CustomerIdentificationPassportWithExpiry:
      title: CustomerIdentificationPassportWithExpiry
      description: The customer's passport details with expiry date (used in NZ)
      type: object
      required:
        - number
        - expiryDate
      properties:
        number:
          description: The number of the passport
          type: string
        expiryDate:
          description: Expiry date of the passport (as used in NZ)
          type: string
    CustomerKycRequest:
      title: CustomerKycRequest
      oneOf:
        - $ref: '#/components/schemas/KycConsumerCustomer'
    Daily:
      title: Daily
      type: object
      required:
        - Daily
      properties:
        Daily:
          $ref: '#/components/schemas/Daily1'
    Daily1:
      title: Daily
      type: object
    DayOfWeek:
      title: DayOfWeek
      type: string
      enum:
        - monday
        - tuesday
        - wednesday
        - thursday
        - friday
    DayOfWeek1:
      title: DayOfWeek
      type: string
      enum:
        - monday
        - tuesday
        - wednesday
        - thursday
        - friday
    DaysRequiredWithin:
      title: DaysRequiredWithin
      type: object
      required:
        - days
      properties:
        days:
          type: integer
          format: int32
    DeleteMerchantBankAccount:
      title: DeleteMerchantBankAccount
      type: object
      required:
        - DeleteMerchantBankAccount
      properties:
        DeleteMerchantBankAccount:
          $ref: '#/components/schemas/DeleteMerchantBankAccount1'
    DeleteMerchantBankAccount1:
      title: DeleteMerchantBankAccount
      description: >-
        Delete a bank account. Note, the current primary bank account cannot be
        deleted.
      type: object
      required:
        - accountId
      properties:
        accountId:
          examples:
            - xacc_aZ-9U_KvllCPqGst
          type: string
    DerivedCardStatus:
      title: DerivedCardStatus
      type: string
      enum:
        - Active
        - Cancelled
        - OutOfLifetime
    DescriptiveBillingInformation:
      title: DescriptiveBillingInformation
      type: object
      properties:
        accountingUnit:
          description: >-
            Accounting unit as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        actionCode:
          description: >-
            Action code as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        orderNumber:
          description: >-
            Order number as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        departureDate:
          description: >-
            Departure date as defined by the card holder. Between 6 and 8
            alphanumeric characters long.
          type: string
        departmentCode:
          description: >-
            Department code as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        internalAccount:
          description: >-
            Internal account as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        costCenter:
          description: >-
            Cost center as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        employeeNumber:
          description: >-
            Employee number as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        projectNumber:
          description: >-
            Project number as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
        destination:
          description: >-
            Destination as defined by the card holder. Between 1 and 17
            alphanumeric characters long.
          type: string
    DigitalCardDetails:
      title: DigitalCardDetails
      type: object
      required:
        - cardHolderName
        - cardBrand
        - expiryDate
        - issuerCountry
        - bin
        - last4
      properties:
        cardHolderName:
          type: string
        cardBrand:
          type: string
        expiryDate:
          type: string
        issuerCountry:
          $ref: '#/components/schemas/IsoCountry'
        digitalCreditCardIdSynonyms:
          type: array
          items:
            $ref: '#/components/schemas/DigitalCreditCardIdSynonymDto'
        bin:
          type: string
        last4:
          type: string
        cardCreator:
          type: string
    DigitalCardReferenceByDigitalCreditCardId:
      title: DigitalCardReferenceByDigitalCreditCardId
      type: object
      required:
        - digitalCreditCardId
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
    DigitalCardReferenceByPan:
      title: DigitalCardReferenceByPan
      type: object
      required:
        - pan
      properties:
        pan:
          type: string
    DigitalCardReferenceDto_Vault:
      title: DigitalCardReferenceDto_Vault
      oneOf:
        - $ref: '#/components/schemas/DigitalCardReferenceByDigitalCreditCardId'
        - $ref: '#/components/schemas/DigitalCardReferenceByPan'
    DigitalCardStatus:
      title: DigitalCardStatus
      type: string
      enum:
        - Active
        - Cancelled
    DigitalCardWithDigitalCreditCardIdSynonym:
      title: DigitalCardWithDigitalCreditCardIdSynonym
      type: object
      required:
        - digitalCreditCardIdSynonym
        - pan
        - details
      properties:
        digitalCreditCardIdSynonym:
          $ref: '#/components/schemas/DigitalCreditCardIdSynonymDto'
        pan:
          description: >-
            The key encrypted pan, Use the key specified in the PCI
            header:encryption-key-name to decrypt the pan
          type: string
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    DigitalCreditCardIdSynonymDto:
      title: DigitalCreditCardIdSynonymDto
      type: object
      required:
        - synonym
        - cardSynonymType
      properties:
        synonym:
          type: string
        cardSynonymType:
          $ref: '#/components/schemas/CardSynonymTypeDto'
    DirectDebit:
      title: DirectDebit
      description: Payment method is via direct debit.
      type: object
    DirectDebit1:
      title: DirectDebit
      type: object
      required:
        - DirectDebit
      properties:
        DirectDebit:
          $ref: '#/components/schemas/DirectDebit2'
    DirectDebit2:
      title: DirectDebit
      description: Payment method is via direct debit.
      type: object
    DirectDebitFailure:
      title: DirectDebitFailure
      type: object
      required:
        - code
        - message
        - detail
      properties:
        code:
          $ref: '#/components/schemas/DirectDebitFailureCode'
        message:
          type: string
        detail:
          type: string
    DirectDebitFailureCode:
      title: DirectDebitFailureCode
      type: string
      enum:
        - invalidbsb
        - invalidaccount
        - insufficientfunds
        - other
    DirectDebitMethod:
      title: DirectDebitMethod
      type: object
      required:
        - DirectDebitMethod
      properties:
        DirectDebitMethod:
          $ref: '#/components/schemas/DirectDebitMethod1'
    DirectDebitMethod1:
      title: DirectDebitMethod
      type: object
      required:
        - agreementAccepted
        - bankAccount
      properties:
        agreementAccepted:
          description: Customer has seen and accepted the direct debit agreement.
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
          description: Bank account to debit
    DirectDebitMethodResp:
      title: DirectDebitMethodResp
      type: object
      required:
        - DirectDebitMethodResp
      properties:
        DirectDebitMethodResp:
          $ref: '#/components/schemas/DirectDebitMethodResp1'
    DirectDebitMethodResp1:
      title: DirectDebitMethodResp
      type: object
      required:
        - accountName
        - currency
        - last4
      properties:
        accountName:
          type: string
        currency:
          description: >-
            Three-letter ISO currency code, in uppercase. See
            https://www.iso.org/iso-4217-currency-codes.html
          examples:
            - AUD
          type: string
        last4:
          type: string
        routingNumber:
          type: string
    DirectDebitPaymentMethod:
      title: DirectDebitPaymentMethod
      type: object
      required:
        - paymentMethodType
        - accountLast4
        - directDebitStatus
      properties:
        paymentMethodType:
          $ref: '#/components/schemas/PaymentMethodType1'
        accountRoutingNumber:
          type: string
        accountLast4:
          type: string
        directDebitStatus:
          $ref: '#/components/schemas/DirectDebitStatus'
        directDebitFailure:
          $ref: '#/components/schemas/DirectDebitFailure'
    DirectDebitStatus:
      title: DirectDebitStatus
      type: string
      enum:
        - created
        - cleared
        - failed
    DirectDebitTokenDetails:
      title: DirectDebitTokenDetails
      type: object
      required:
        - DirectDebitTokenDetails
      properties:
        DirectDebitTokenDetails:
          $ref: '#/components/schemas/DirectDebitTokenDetails1'
    DirectDebitTokenDetails1:
      title: DirectDebitTokenDetails
      type: object
      required:
        - agreementAcceptedDate
        - bankAccount
        - emailAddress
      properties:
        agreementAcceptedDate:
          type: string
          format: date-time
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
        emailAddress:
          type: string
    Disallow:
      title: Disallow
      type: object
    DisputeOutcome:
      title: DisputeOutcome
      description: The state of the dispute.
      type: string
      enum:
        - pending
        - won
        - lost
    DisputeResponse:
      title: DisputeResponse
      type: object
      required:
        - disputeId
        - transactionId
        - currency
        - disputedAmount
        - disputeFee
        - transactionAmount
        - orderId
        - referenceOrderId
        - updatedAt
        - createdAt
      properties:
        disputeId:
          description: System unique identifier for the dispute.
          examples:
            - dispute_aZ-9UfKvllCPqGsg
          type: string
        transactionId:
          description: System unique identifier for the transaction that is being disputed.
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        currency:
          description: The currency of the transaction and dispute as a 3 letter ISO code.
          examples:
            - AUD
          type: string
        disputedAmount:
          description: The disputed amount **in minor currency units**
          type: integer
          format: int64
        disputeFee:
          description: The dispute fee charged to the merchant **in minor currency units**
          type: integer
          format: int64
        transactionAmount:
          description: The full transaction amount **in minor currency units**
          type: integer
          format: int64
        orderId:
          description: >-
            System unique identifier for the order corresponding to the disputed
            payment.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        description:
          description: A free text description of the order.
          type: string
        orderMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata passed in when creating the order.
        customerId:
          description: System unique identifier for the customer.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        customerEmailAddress:
          description: Email address of the customer.
          examples:
            - lucy.diamond@star.com
          type: string
        customerName:
          description: Full name of the customer.
          type: string
        customerPhoneNumber:
          description: Phone number of the customer.
          examples:
            - '+61401234567'
          type: string
        state:
          description: >-
            The internal state of the dispute as reported by the underlying
            payment system.
          type: string
        reason:
          description: The reason provided by the customer for raising the dispute.
          type: string
        outcome:
          $ref: '#/components/schemas/DisputeOutcome'
        updatedAt:
          description: When the dispute was last updated.
          type: string
          format: date-time
        createdAt:
          description: When the dispute was created.
          type: string
          format: date-time
    DocumentType:
      title: DocumentType
      type: string
      enum:
        - CompanyVerificationDocumentBack
        - CompanyVerificationDocumentFront
        - CompanyTaxIdVerificationDocument
        - PersonVerificationDocumentBack
        - PersonVerificationDocumentFront
        - PersonVerificationAdditionalDocumentBack
        - PersonVerificationAdditionalDocumentFront
        - PartnershipAgreement
        - TrustDeed
        - TrustDeedAmendment
    DriverLicence:
      title: DriverLicence
      type: object
      required:
        - driverLicenceNumber
        - country
      properties:
        driverLicenceNumber:
          type: string
        documentNumber:
          description: Required for Australia driver licence
          type: string
        versionNumber:
          description: Required for New Zealand driver licence
          type: string
        state:
          type: string
        country:
          $ref: '#/components/schemas/Country'
    Economy:
      title: Economy
      type: object
    Economy1:
      title: Economy
      type: object
    Email:
      title: Email
      type: object
      required:
        - template
        - recipient
        - sender
        - replyTo
      properties:
        template:
          $ref: '#/components/schemas/TemplateDto'
        recipient:
          examples:
            - lucy.diamond@star.com
          type: string
        sender:
          $ref: '#/components/schemas/EmailAccount'
        replyTo:
          $ref: '#/components/schemas/EmailAccount'
    EmailAccount:
      title: EmailAccount
      oneOf:
        - $ref: '#/components/schemas/AddressAndName'
        - $ref: '#/components/schemas/AddressOnly'
    EmailDto:
      title: EmailDto
      oneOf:
        - $ref: '#/components/schemas/Email'
        - $ref: '#/components/schemas/EmailWithAttachment'
        - $ref: '#/components/schemas/MimeEmail'
    EmailRecord:
      title: EmailRecord
      type: object
      required:
        - EmailRecord
      properties:
        EmailRecord:
          $ref: '#/components/schemas/EmailRecord1'
    EmailRecord1:
      title: EmailRecord
      description: Get a record of emails created in the scope of a previous request.
      type: object
      required:
        - requestId
      properties:
        requestId:
          type: string
        filterByAttachmentFilename:
          type: string
        filterByMetadata:
          $ref: '#/components/schemas/KeyPartialValue'
    EmailRecord2:
      title: EmailRecord
      description: Record of emails created in the scope of a previous request.
      type: object
      required:
        - requestId
      properties:
        requestId:
          type: string
        emails:
          type: array
          items:
            $ref: '#/components/schemas/EmailDto'
    EmailWithAttachment:
      title: EmailWithAttachment
      type: object
      required:
        - template
        - recipient
        - sender
        - replyTo
        - attachment
      properties:
        template:
          $ref: '#/components/schemas/TemplateDto'
        recipient:
          examples:
            - lucy.diamond@star.com
          type: string
        sender:
          $ref: '#/components/schemas/EmailAccount'
        replyTo:
          $ref: '#/components/schemas/EmailAccount'
        attachment:
          $ref: '#/components/schemas/AttachmentDto'
    EmlInvokeClearingOutcome:
      title: EmlInvokeClearingOutcome
      type: object
      required:
        - EmlInvokeClearingOutcome
      properties:
        EmlInvokeClearingOutcome:
          $ref: '#/components/schemas/EmlInvokeClearingOutcome1'
    EmlInvokeClearingOutcome1:
      title: EmlInvokeClearingOutcome
      type: object
      required:
        - response
      properties:
        response:
          $ref: '#/components/schemas/EmlInvokeClearingResponse'
    EmlInvokeClearingResponse:
      title: EmlInvokeClearingResponse
      type: object
      required:
        - success
      properties:
        success:
          type: boolean
        message:
          type: string
    EmlInvokeControlpayOutcome:
      title: EmlInvokeControlpayOutcome
      type: object
      required:
        - EmlInvokeControlpayOutcome
      properties:
        EmlInvokeControlpayOutcome:
          $ref: '#/components/schemas/EmlInvokeControlpayOutcome1'
    EmlInvokeControlpayOutcome1:
      title: EmlInvokeControlpayOutcome
      type: object
      required:
        - response
      properties:
        response:
          $ref: '#/components/schemas/EmlInvokeControlpayResponse'
    EmlInvokeControlpayResponse:
      title: EmlInvokeControlpayResponse
      type: object
      required:
        - transaction_reference
        - success
      properties:
        transaction_reference:
          type: string
        authorization_id:
          type: string
        success:
          type: boolean
        message:
          type: string
    EncryptedApplePay:
      title: EncryptedApplePay
      description: Apple Pay data packet
      type: object
      required:
        - paymentMethod
      properties:
        paymentMethod:
          $ref: '#/components/schemas/ApplePayPaymentMethod'
        transactionIdentifier:
          type: string
        paymentData:
          $ref: '#/components/schemas/PaymentData'
    EncryptedGooglePay:
      title: EncryptedGooglePay
      description: Google Pay data packet
      type: object
      required:
        - type
        - description
        - info
        - tokenizationData
      properties:
        type:
          $ref: '#/components/schemas/PaymentMethod1'
        description:
          type: string
        info:
          $ref: '#/components/schemas/CardInfo'
        tokenizationData:
          $ref: '#/components/schemas/PaymentMethodTokenizationData'
    EntryType:
      title: EntryType
      type: string
      enum:
        - Payment
        - Surcharge
        - Refund
        - PaymentFee
        - TransactionTransfer
        - PaymentFeeReversal
        - TransactionTransferReversal
        - TransactionTransferFeeReversal
        - Payout
        - PayoutReversal
        - Dispute
        - DisputeFee
        - DisputeReversed
        - DisputeFeeReversed
        - MarketplaceFeePayment
        - ManualTopUp
        - ManualTopUpReversal
        - PayoutFee
    EntryType1:
      title: EntryType
      description: The type of the statement line item
      type: string
      enum:
        - Charge
        - Refund
        - Dispute
        - DisputeFee
        - Insurance
        - AnnualFee
        - ImplementationFee
        - StatementReissueFee
        - CurrencyConversionFee
        - InternationalProcessingFee
        - TransactionFee
        - HotelEnrichmentFee
        - PremiumAccountFee
        - LatePaymentReminderFee
        - LatePaymentFee
        - BankFee
        - ThirdPartyServiceFee
        - ManualAdjustment
    EntryType2:
      title: EntryType
      description: Type of loan statement entry
      type: string
      enum:
        - Charge
        - Refund
        - Dispute
        - Adjustment
        - Manual
        - StandaloneFee
    ErrorCode:
      title: ErrorCode
      type: string
      enum:
        - unexpected
        - unspecified
        - account_disabled
        - account_not_found
        - audience_mismatch
        - bad_signature
        - checkout_approval_pending
        - credentials_invalid
        - delegate_user_exists
        - email_already_exists
        - expired
        - invalid_email
        - invalid_token
        - issuer_mismatch
        - marketplace_api_key_not_found
        - marketplace_not_found
        - marketplace_disabled
        - marketplace_user_not_found
        - mfa_mismatch
        - password_mismatch
        - public_api_key_not_found
        - secret_api_key_not_found
        - suspended_merchant_account
        - too_many_attempts
        - credit_check_required
        - customer_mismatch
        - id_mismatch
        - invalid_delegate_user
        - kyb_required
        - marketplace_mismatch
        - merchant_mismatch
        - not_allowed
        - otp_required
        - slug_mismatch
        - tenant_mismatch
        - unauthorised_principal
        - card_declined
        - do_not_honor
        - expired_card
        - fraudulent
        - incorrect_cvc
        - incorrect_number
        - insufficient_funds
        - invalid_cvc
        - invalid_expiry_month
        - invalid_expiry_year
        - not_permitted
        - invalid_mcc
        - pickup_card
        - processing_error
        - stolen_card
        - lost_card
        - duplicate_value
        - bad_request
        - charge_not_found
        - checkout_limit_breached
        - currency_invalid
        - customer_email_does_not_match_record
        - customer_phone_number_does_not_match_record
        - high_risk_detected
        - internal_error
        - invalid_customer_verification_codes
        - invalid_time_range
        - malformed_request
        - merchant_email_invalid
        - merchant_order_invalid
        - merchant_slug_invalid
        - merchant_transfer_not_found
        - order_payment_method_unavailable
        - order_state_invalid
        - payment_amount_invalid
        - payment_amount_mismatch
        - payment_data_invalid
        - payment_not_found
        - payment_source_invalid
        - payment_token_already_used
        - refund_amount_invalid
        - transaction_not_found
        - unknown_charge_error
        - no_kyc_for_customer
        - terms_and_conditions_not_accepted
        - invalid_input
        - bank_account_verification_failed
        - requester_id_missing
        - invalid_verification_strategy_config
        - invalid_verification_strategy
    EventType:
      title: EventType
      type: string
      enum:
        - PaymentSucceed
        - PaymentRefunded
        - PaymentFailed
        - PaymentAccepted
        - PaymentAuthorised
        - PaymentDisputed
        - PaymentDisputeWon
        - PaymentDisputeLost
        - PaymentCancelled
        - PaymentIncomplete
        - PaymentTransferred
    ExpiryDate:
      title: ExpiryDate
      type: object
      required:
        - expiryMonth
        - expiryYear
      properties:
        expiryMonth:
          type: string
        expiryYear:
          type: string
    ExtensionData:
      title: ExtensionData
      oneOf:
        - $ref: '#/components/schemas/Strata'
    FailedChallenge:
      title: FailedChallenge
      type: object
      properties:
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        xid:
          type: string
        transStatus:
          type: string
        transStatusReason:
          type: string
        version:
          type: string
        info:
          type: string
    FailedFrictionless:
      title: FailedFrictionless
      type: object
      properties:
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        xid:
          type: string
        transStatus:
          type: string
        transStatusReason:
          type: string
        version:
          type: string
        info:
          type: string
    FailedTokenized:
      title: FailedTokenized
      type: object
      properties:
        eci:
          type: string
        liabilityShifted:
          type: boolean
        transStatus:
          type: string
        transStatusReason:
          type: string
    FieldConstraint:
      title: FieldConstraint
      oneOf:
        - $ref: '#/components/schemas/DaysRequiredWithin'
        - $ref: '#/components/schemas/NotRequired'
    FieldFormat:
      title: FieldFormat
      type: string
      enum:
        - Alphanumeric
        - IsoDate
        - Numeric
        - Alphabetic
    FieldValidator:
      title: FieldValidator
      type: object
      required:
        - name
        - statementConstraint
        - transactionConstraint
        - minLength
        - maxLength
        - format
      properties:
        name:
          type: string
        statementConstraint:
          $ref: '#/components/schemas/FieldConstraint'
        transactionConstraint:
          $ref: '#/components/schemas/FieldConstraint'
        minLength:
          type: integer
          format: int32
        maxLength:
          type: integer
          format: int32
        format:
          $ref: '#/components/schemas/FieldFormat'
    FieldValidatorEntry:
      title: FieldValidatorEntry
      type: object
      required:
        - path
        - validator
      properties:
        path:
          $ref: '#/components/schemas/Path'
        validator:
          $ref: '#/components/schemas/FieldValidator'
    FileCategory:
      title: FileCategory
      type: string
      enum:
        - MerchantOnboarding
    FileType:
      title: FileType
      type: string
      enum:
        - jpeg
        - png
        - pdf
        - jpg
    FinanceUser:
      title: FinanceUser
      type: object
      required:
        - FinanceUser
      properties:
        FinanceUser:
          $ref: '#/components/schemas/FinanceUser1'
    FinanceUser1:
      title: FinanceUser
      description: >-
        A finance user has view access to all loans and cards associated with
        the customer, along with the ability to pay loan statements.
      type: object
      required:
        - canCreateCards
      properties:
        canCreateCards:
          description: Can this finance user create their own loan-backed credit cards.
          type: boolean
    First:
      title: First
      type: object
    First1:
      title: First
      type: object
    Flight:
      title: Flight
      type: object
      required:
        - Flight
      properties:
        Flight:
          $ref: '#/components/schemas/Flight1'
    Flight1:
      title: Flight
      type: object
      required:
        - dbi
        - passengerName
        - flightDate
        - departureAirportCode
        - destinationAirportCode
        - airlineCode
        - flightClass
      properties:
        dbi:
          $ref: '#/components/schemas/DescriptiveBillingInformation'
        passengerName:
          description: Passenger name between 1 and 45 alphanumeric characters long.
          type: string
        flightDate:
          description: Flight date.
          type: string
          format: date
        departureAirportCode:
          description: Departure 3-letter IATA airport code.
          type: string
        destinationAirportCode:
          description: Destination 3-letter IATA airport code.
          type: string
        airlineCode:
          description: Airline 3-letter ICAO or 2-letter IATA airline code.
          type: string
        flightClass:
          $ref: '#/components/schemas/FlightClass'
    FlightClass:
      title: FlightClass
      description: Flight class.
      oneOf:
        - $ref: '#/components/schemas/Business'
        - $ref: '#/components/schemas/Economy'
        - $ref: '#/components/schemas/First'
        - $ref: '#/components/schemas/Other'
    FlowNotAttempted:
      title: FlowNotAttempted
      type: object
    ForBinGroups:
      title: ForBinGroups
      type: object
      required:
        - binGroupIds
      properties:
        binGroupIds:
          type: array
          minItems: 1
          items:
            examples:
              - bing_aZ-9UvKvllCPqGsj
            type: string
    ForCardBrand:
      title: ForCardBrand
      type: object
      required:
        - cardBrand
      properties:
        cardBrand:
          $ref: '#/components/schemas/CardBrand'
    ForCardFunding:
      title: ForCardFunding
      type: object
      required:
        - cardFunding
      properties:
        cardFunding:
          $ref: '#/components/schemas/CardFunding'
    ForCardPrepaid:
      title: ForCardPrepaid
      type: object
      required:
        - isPrepaid
      properties:
        isPrepaid:
          type: boolean
    ForCurrency:
      title: ForCurrency
      type: object
      required:
        - currency
      properties:
        currency:
          description: ISO 4217 3 Digits Currency code
          type: string
    ForCustomerType:
      title: ForCustomerType
      type: object
      required:
        - customerType
      properties:
        customerType:
          $ref: '#/components/schemas/PaymentCustomerType'
    ForIssueCountry:
      title: ForIssueCountry
      type: object
      required:
        - country
      properties:
        country:
          $ref: '#/components/schemas/IsoCountry'
    ForPayPlanVariant:
      title: ForPayPlanVariant
      type: object
      required:
        - payPlanVariant
      properties:
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
    ForPayType:
      title: ForPayType
      type: object
      required:
        - payType
      properties:
        payType:
          $ref: '#/components/schemas/PayType'
    ForPaymentMethodType:
      title: ForPaymentMethodType
      type: object
      required:
        - methodType
      properties:
        methodType:
          $ref: '#/components/schemas/PaymentMethodType'
    ForProductType:
      title: ForProductType
      type: object
      required:
        - productType
      properties:
        productType:
          $ref: '#/components/schemas/ProductType'
    ForSchemeProduct:
      title: ForSchemeProduct
      type: object
      required:
        - schemeProduct
      properties:
        schemeProduct:
          $ref: '#/components/schemas/SchemeProduct'
    Fortnightly:
      title: Fortnightly
      type: object
      required:
        - Fortnightly
      properties:
        Fortnightly:
          $ref: '#/components/schemas/Fortnightly1'
    Fortnightly1:
      title: Fortnightly
      type: object
      required:
        - issueDayOfWeek
      properties:
        issueDayOfWeek:
          $ref: '#/components/schemas/DayOfWeek1'
    FxRateConversion:
      title: FxRateConversion
      type: object
      required:
        - sourceAmount
        - sourceCurrency
        - exchangeRate
        - rateUpdatedAt
      properties:
        sourceAmount:
          description: Gross amount in major units of source currency.
          type: number
        sourceTaxAmount:
          description: Tax amount in major units of source currency.
          type: number
        sourceNetAmount:
          description: Net amount in major units of source currency.
          type: number
        sourceCurrency:
          description: Original currency the entry was specified in.
          type: string
        targetAmount:
          description: Gross amount in major units of target currency.
          type: number
        targetTaxAmount:
          description: Tax amount in major units of target currency.
          type: number
        targetNetAmount:
          description: Net amount in major units of target currency.
          type: number
        targetCurrency:
          description: Currency to convert into.
          type: string
        exchangeRate:
          description: >-
            The rate to convert one unit of source currency to the target
            currency.
          type: number
        rateUpdatedAt:
          description: When the exchange rate was set.
          type: string
          format: date-time
    GeneralJsonOutcome:
      title: GeneralJsonOutcome
      type: object
      required:
        - GeneralJsonOutcome
      properties:
        GeneralJsonOutcome:
          $ref: '#/components/schemas/GeneralJsonOutcome1'
    GeneralJsonOutcome1:
      title: GeneralJsonOutcome
      type: object
      required:
        - data
      properties:
        data: {}
    GetAgreementStateResponse:
      title: GetAgreementStateResponse
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/AgreementStatus'
    GetDigitalCardRedactedRequest:
      title: GetDigitalCardRedactedRequest
      type: object
      required:
        - GetDigitalCardRedactedRequest
      properties:
        GetDigitalCardRedactedRequest:
          $ref: '#/components/schemas/GetDigitalCardRedactedRequest1'
    GetDigitalCardRedactedRequest1:
      title: GetDigitalCardRedactedRequest
      type: object
      required:
        - digitalCreditCardId
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
    GetDigitalCardRedactedResponse:
      title: GetDigitalCardRedactedResponse
      type: object
      required:
        - GetDigitalCardRedactedResponse
      properties:
        GetDigitalCardRedactedResponse:
          $ref: '#/components/schemas/GetDigitalCardRedactedResponse1'
    GetDigitalCardRedactedResponse1:
      title: GetDigitalCardRedactedResponse
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    GetDigitalCardUnredactedRequest:
      title: GetDigitalCardUnredactedRequest
      type: object
      required:
        - GetDigitalCardUnredactedRequest
      properties:
        GetDigitalCardUnredactedRequest:
          $ref: '#/components/schemas/GetDigitalCardUnredactedRequest1'
    GetDigitalCardUnredactedRequest1:
      title: GetDigitalCardUnredactedRequest
      type: object
      required:
        - digitalCreditCardId
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
    GetDigitalCardUnredactedResponse:
      title: GetDigitalCardUnredactedResponse
      type: object
      required:
        - GetDigitalCardUnredactedResponse
      properties:
        GetDigitalCardUnredactedResponse:
          $ref: '#/components/schemas/GetDigitalCardUnredactedResponse1'
    GetDigitalCardUnredactedResponse1:
      title: GetDigitalCardUnredactedResponse
      type: object
      required:
        - pan
        - details
      properties:
        pan:
          description: The clear-text, unredacted digits of the card number
          type: string
        cvv:
          description: The clear-text, unredacted digits of the card's CVV (if it has one)
          type: string
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    GetDigitalCardsForLoanResponse:
      title: GetDigitalCardsForLoanResponse
      type: object
      required:
        - GetDigitalCardsForLoanResponse
      properties:
        GetDigitalCardsForLoanResponse:
          $ref: '#/components/schemas/GetDigitalCardsForLoanResponse1'
    GetDigitalCardsForLoanResponse1:
      title: GetDigitalCardsForLoanResponse
      type: object
      properties:
        cards:
          type: array
          items:
            $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    GetDigitalCardsUnredactedBySynonym:
      title: GetDigitalCardsUnredactedBySynonym
      type: object
      required:
        - GetDigitalCardsUnredactedBySynonym
      properties:
        GetDigitalCardsUnredactedBySynonym:
          $ref: '#/components/schemas/GetDigitalCardsUnredactedBySynonym1'
    GetDigitalCardsUnredactedBySynonym1:
      title: GetDigitalCardsUnredactedBySynonym
      type: object
      properties:
        digitalCardsUnredacted:
          type: array
          items:
            $ref: '#/components/schemas/DigitalCardWithDigitalCreditCardIdSynonym'
    GetDigitalCardsUnredactedBySynonymRequest:
      title: GetDigitalCardsUnredactedBySynonymRequest
      type: object
      required:
        - GetDigitalCardsUnredactedBySynonymRequest
      properties:
        GetDigitalCardsUnredactedBySynonymRequest:
          $ref: '#/components/schemas/GetDigitalCardsUnredactedBySynonymRequest1'
    GetDigitalCardsUnredactedBySynonymRequest1:
      title: GetDigitalCardsUnredactedBySynonymRequest
      type: object
      required:
        - digitalCardReferences
      properties:
        digitalCardReferences:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/DigitalCardReferenceDto_Vault'
    GooglePay:
      title: GooglePay
      description: Payment method is via GooglePay.
      type: object
      required:
        - cardAttributes
      properties:
        cardAttributes:
          $ref: '#/components/schemas/CardAttributes'
    GooglePay1:
      title: GooglePay
      type: object
      required:
        - GooglePay
      properties:
        GooglePay:
          $ref: '#/components/schemas/GooglePay2'
    GooglePay2:
      title: GooglePay
      description: Payment method is based on a Google Pay datagram.
      type: object
      required:
        - googlePay
      properties:
        googlePay:
          $ref: '#/components/schemas/EncryptedGooglePay'
    HandleEmlQueuedWebhookEventsNow:
      title: HandleEmlQueuedWebhookEventsNow
      type: object
      required:
        - HandleEmlQueuedWebhookEventsNow
      properties:
        HandleEmlQueuedWebhookEventsNow:
          $ref: '#/components/schemas/HandleEmlQueuedWebhookEventsNow1'
    HandleEmlQueuedWebhookEventsNow1:
      title: HandleEmlQueuedWebhookEventsNow
      description: Pretend to be the cron job HandleEmlQueuedWebhookEvent firing up.
      type: object
    Header:
      title: Header
      type: object
      required:
        - publicKeyHash
        - transactionId
      properties:
        publicKeyHash:
          type: string
        transactionId:
          type: string
        applicationData:
          type: string
        ephemeralPublicKey:
          type: string
        wrappedKey:
          type: string
    HkBankAccountIdentifier:
      title: HkBankAccountIdentifier
      type: object
      required:
        - HkBankAccountIdentifier
      properties:
        HkBankAccountIdentifier:
          $ref: '#/components/schemas/HkBankAccountIdentifier1'
    HkBankAccountIdentifier1:
      title: HkBankAccountIdentifier
      description: A Hong Kong based bank account in HKD
      type: object
      required:
        - accountNumber
      properties:
        accountNumber:
          description: Account number, 9-12 digits.
          type: string
    HkUsdBankAccountIdentifier:
      title: HkUsdBankAccountIdentifier
      type: object
      required:
        - HkUsdBankAccountIdentifier
      properties:
        HkUsdBankAccountIdentifier:
          $ref: '#/components/schemas/HkUsdBankAccountIdentifier1'
    HkUsdBankAccountIdentifier1:
      title: HkUsdBankAccountIdentifier
      description: A Hong Kong based bank account in USD
      type: object
      required:
        - accountNumber
      properties:
        accountNumber:
          description: Account number.
          type: string
    Hotel:
      title: Hotel
      type: object
      required:
        - Hotel
      properties:
        Hotel:
          $ref: '#/components/schemas/Hotel1'
    Hotel1:
      title: Hotel
      type: object
      required:
        - dbi
        - guestName
        - checkInDate
        - checkOutDate
        - roomNights
      properties:
        dbi:
          $ref: '#/components/schemas/DescriptiveBillingInformation'
        guestName:
          description: Guest name between 1 and 45 alphanumeric characters long.
          type: string
        checkInDate:
          description: Hotel check-in date.
          type: string
          format: date
        checkOutDate:
          description: Hotel check-out date.
          type: string
          format: date
        roomNights:
          description: Room  nights
          type: integer
          format: int32
    IdDocOption:
      title: IdDocOption
      type: object
      required:
        - remainingAttempts
      properties:
        idDocType:
          $ref: '#/components/schemas/IdDocType'
          description: >-
            Type of document that this option relates to (specify either this or
            `idDocTypes`
        idDocTypes:
          description: >-
            Combinations of document that this option relates to (specify either
            this or `idDocType`
          type: array
          items:
            $ref: '#/components/schemas/IdDocType'
        remainingAttempts:
          description: >-
            Number of attempts that the customer has remaining for this type of
            document
          type: integer
          format: int32
    IdDocType:
      title: IdDocType
      type: string
      enum:
        - driverslicence
        - passport
        - driverslicencewithversion
        - passportwithexpiry
    IdType:
      title: IdType
      type: string
      enum:
        - Passport
        - DriverLicence
    ImposePlatformFee:
      title: ImposePlatformFee
      type: object
      required:
        - fixed
        - rate
      properties:
        fixed:
          type: integer
          format: int64
        rate:
          type: number
    IncompleteChallenge:
      title: IncompleteChallenge
      type: object
      properties:
        internalAuthorisationId:
          type: string
        authenticationTransactionId:
          type: string
        acsUrl:
          type: string
        creq:
          type: string
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        xid:
          type: string
        version:
          type: string
        challengeUrl:
          type: string
        info:
          type: string
    Industry:
      title: Industry
      type: string
      enum:
        - AcRefrigerationRepair
        - AccountingBookkeepingServices
        - AdvertisingServices
        - AgriculturalCooperative
        - AirlinesAirCarriers
        - AirportsFlyingFields
        - AmbulanceServices
        - AmusementParksCarnivals
        - AntiqueReproductions
        - AntiqueShops
        - Aquariums
        - ArchitecturalSurveyingServices
        - ArtDealersAndGalleries
        - ArtistsSupplyAndCraftShops
        - AutoBodyRepairShops
        - AutoPaintShops
        - AutoServiceShops
        - AutoAndHomeSupplyStores
        - AutomatedCashDisburse
        - AutomatedFuelDispensers
        - AutomobileAssociations
        - AutomotivePartsAndAccessoriesStores
        - AutomotiveTireStores
        - BailAndBondPayments
        - Bakeries
        - BandsOrchestras
        - BarberAndBeautyShops
        - BettingCasinoGambling
        - BicycleShops
        - BilliardPoolEstablishments
        - BoatDealers
        - BoatRentalsAndLeases
        - BookStores
        - BooksPeriodicalsAndNewspapers
        - BowlingAlleys
        - BusLines
        - BusinessSecretarialSchools
        - BuyingShoppingServices
        - CableSatelliteAndOtherPayTelevisionAndRadio
        - CameraAndPhotographicSupplyStores
        - CandyNutAndConfectioneryStores
        - CarRentalAgencies
        - CarWashes
        - CarAndTruckDealersNewUsed
        - CarAndTruckDealersUsedOnly
        - CarpentryServices
        - CarpetUpholsteryCleaning
        - Caterers
        - CharitableAndSocialServiceOrganizationsFundraising
        - ChemicalsAndAlliedProducts
        - ChildCareServices
        - ChildrensAndInfantsWearStores
        - ChiropodistsPodiatrists
        - Chiropractors
        - CigarStoresAndStands
        - CivicSocialFraternalAssociations
        - CleaningAndMaintenance
        - ClothingRental
        - CollegesUniversities
        - CommercialEquipment
        - CommercialFootwear
        - CommercialPhotographyArtAndGraphics
        - CommuterTransportAndFerries
        - ComputerNetworkServices
        - ComputerProgramming
        - ComputerRepair
        - ComputerSoftwareStores
        - ComputersPeripheralsAndSoftware
        - ConcreteWorkServices
        - ConstructionMaterials
        - ConsultingPublicRelations
        - CorrespondenceSchools
        - CosmeticStores
        - CounselingServices
        - CountryClubs
        - CourierServices
        - CourtCosts
        - CreditReportingAgencies
        - CruiseLines
        - DairyProductsStores
        - DanceHallStudiosSchools
        - DatingEscortServices
        - DentistsOrthodontists
        - DepartmentStores
        - DetectiveAgencies
        - DigitalGoodsMedia
        - DigitalGoodsApplications
        - DigitalGoodsGames
        - DigitalGoodsLargeVolume
        - DirectMarketingCatalogMerchant
        - DirectMarketingCombinationCatalogAndRetailMerchant
        - DirectMarketingInboundTelemarketing
        - DirectMarketingInsuranceServices
        - DirectMarketingOther
        - DirectMarketingOutboundTelemarketing
        - DirectMarketingSubscription
        - DirectMarketingTravel
        - DiscountStores
        - Doctors
        - DoorToDoorSales
        - DraperyWindowCoveringAndUpholsteryStores
        - DrinkingPlaces
        - DrugStoresAndPharmacies
        - DrugsDrugProprietariesAndDruggistSundries
        - DryCleaners
        - DurableGoods
        - DutyFreeStores
        - EatingPlacesRestaurants
        - EducationalServices
        - ElectricRazorStores
        - ElectricalPartsAndEquipment
        - ElectricalServices
        - ElectronicsRepairShops
        - ElectronicsStores
        - ElementarySecondarySchools
        - EmploymentTempAgencies
        - EquipmentRental
        - ExterminatingServices
        - FamilyClothingStores
        - FastFoodRestaurants
        - FinancialInstitutions
        - FinesGovernmentAdministrativeEntities
        - FireplaceFireplaceScreensAndAccessoriesStores
        - FloorCoveringStores
        - Florists
        - FloristsSuppliesNurseryStockAndFlowers
        - FreezerAndLockerMeatProvisioners
        - FuelDealersNonAutomotive
        - FuneralServicesCrematories
        - FurnitureRepairRefinishing
        - FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances
        - FurriersAndFurShops
        - GeneralServices
        - GiftCardNoveltyAndSouvenirShops
        - GlassPaintAndWallpaperStores
        - GlasswareCrystalStores
        - GolfCoursesPublic
        - GovernmentServices
        - GroceryStoresSupermarkets
        - HardwareStores
        - HardwareEquipmentAndSupplies
        - HealthAndBeautySpas
        - HearingAidsSalesAndSupplies
        - HeatingPlumbingAC
        - HobbyToyAndGameShops
        - HomeSupplyWarehouseStores
        - Hospitals
        - HotelsMotelsAndResorts
        - HouseholdApplianceStores
        - IndustrialSupplies
        - InformationRetrievalServices
        - InsuranceDefault
        - InsuranceUnderwritingPremiums
        - IntraCompanyPurchases
        - JewelryStoresWatchesClocksAndSilverwareStores
        - LandscapingServices
        - Laundries
        - LaundryCleaningServices
        - LegalServicesAttorneys
        - LuggageAndLeatherGoodsStores
        - LumberBuildingMaterialsStores
        - ManualCashDisburse
        - MarinasServiceAndSupplies
        - MasonryStoneworkAndPlaster
        - MassageParlors
        - MedicalServices
        - MedicalAndDentalLabs
        - MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies
        - MembershipOrganizations
        - MensAndBoysClothingAndAccessoriesStores
        - MensWomensClothingStores
        - MetalServiceCenters
        - MiscellaneousApparelAndAccessoryShops
        - MiscellaneousAutoDealers
        - MiscellaneousBusinessServices
        - MiscellaneousFoodStores
        - MiscellaneousGeneralMerchandise
        - MiscellaneousGeneralServices
        - MiscellaneousHomeFurnishingSpecialtyStores
        - MiscellaneousPublishingAndPrinting
        - MiscellaneousRecreationServices
        - MiscellaneousRepairShops
        - MiscellaneousSpecialtyRetail
        - MobileHomeDealers
        - MotionPictureTheaters
        - MotorFreightCarriersAndTrucking
        - MotorHomesDealers
        - MotorVehicleSuppliesAndNewParts
        - MotorcycleShopsAndDealers
        - MotorcycleShopsDealers
        - MusicStoresMusicalInstrumentsPianosAndSheetMusic
        - NewsDealersAndNewsstands
        - NonFiMoneyOrders
        - NonFiStoredValueCardPurchaseLoad
        - NondurableGoods
        - NurseriesLawnAndGardenSupplyStores
        - NursingPersonalCare
        - OfficeAndCommercialFurniture
        - OpticiansEyeglasses
        - OptometristsOphthalmologist
        - OrthopedicGoodsProstheticDevices
        - Osteopaths
        - PackageStoresBeerWineAndLiquor
        - PaintsVarnishesAndSupplies
        - ParkingLotsGarages
        - PassengerRailways
        - PawnShops
        - PetShopsPetFoodAndSupplies
        - PetroleumAndPetroleumProducts
        - PhotoDeveloping
        - PhotographicStudios
        - PhotographicPhotocopyMicrofilmEquipmentAndSupplies
        - PictureVideoProduction
        - PieceGoodsNotionsAndOtherDryGoods
        - PlumbingHeatingEquipmentAndSupplies
        - PoliticalOrganizations
        - PostalServicesGovernmentOnly
        - PreciousStonesAndMetalsWatchesAndJewelry
        - ProfessionalServices
        - PublicWarehousingAndStorage
        - QuickCopyReproAndBlueprint
        - Railroads
        - RealEstateAgentsAndManagersRentals
        - RecordStores
        - RecreationalVehicleRentals
        - ReligiousGoodsStores
        - ReligiousOrganizations
        - RoofingSidingSheetMetal
        - SecretarialSupportServices
        - SecurityBrokersDealers
        - ServiceStations
        - SewingNeedleworkFabricAndPieceGoodsStores
        - ShoeRepairHatCleaning
        - ShoeStores
        - SmallApplianceRepair
        - SnowmobileDealers
        - SpecialTradeServices
        - SpecialtyCleaning
        - SportingGoodsStores
        - SportingRecreationCamps
        - SportsClubsFields
        - SportsAndRidingApparelStores
        - StampAndCoinStores
        - StationaryOfficeSuppliesPrintingAndWritingPaper
        - StationeryStoresOfficeAndSchoolSupplyStores
        - SwimmingPoolsSales
        - TUiTravelGermany
        - TailorsAlterations
        - TaxPaymentsGovernmentAgencies
        - TaxPreparationServices
        - TaxicabsLimousines
        - TelecommunicationEquipmentAndTelephoneSales
        - TelecommunicationServices
        - TelegraphServices
        - TentAndAwningShops
        - TestingLaboratories
        - TheatricalTicketAgencies
        - Timeshares
        - TireRetreadingAndRepair
        - TollsBridgeFees
        - TouristAttractionsAndExhibits
        - TowingServices
        - TrailerParksCampgrounds
        - TransportationServices
        - TravelAgenciesTourOperators
        - TruckStopIteration
        - TruckUtilityTrailerRentals
        - TypesettingPlateMakingAndRelatedServices
        - TypewriterStores
        - USFederalGovernmentAgenciesOrDepartments
        - UniformsCommercialClothing
        - UsedMerchandiseAndSecondhandStores
        - Utilities
        - VarietyStores
        - VeterinaryServices
        - VideoAmusementGameSupplies
        - VideoGameArcades
        - VideoTapeRentalStores
        - VocationalTradeSchools
        - WatchJewelryRepair
        - WeldingRepair
        - WholesaleClubs
        - WigAndToupeeStores
        - WiresMoneyOrders
        - WomensAccessoryAndSpecialtyShops
        - WomensReadyToWearStores
        - WreckingAndSalvageYards
    IndustryGroup:
      title: IndustryGroup
      description: The industry group this loan is restricted to, if any.
      type: string
      enum:
        - travel
        - procurement
    IndustryInfo:
      title: IndustryInfo
      type: object
      required:
        - name
        - description
        - mcc
      properties:
        name:
          description: Unique name, eg. AcRefrigerationRepair
          type: string
        description:
          description: Description, eg. A/C, Refrigeration Repair
          type: string
        mcc:
          description: >-
            Merchant Category Code, a four-digit number listed in ISO 18245 for
            retail financial services
          type: string
    InstalmentFrequency:
      title: InstalmentFrequency
      description: The time period between instalments.
      type: string
      enum:
        - Weekly
        - Fortnightly
        - EveryFourWeeks
        - EverySevenWeeks
        - EveryThirtyDays
        - EveryTenMinutes
    InvoiceLineItem:
      title: InvoiceLineItem
      type: object
      required:
        - feeAmount
        - taxAmount
        - count
        - description
      properties:
        feeAmount:
          description: The fee **in minor currency units**.
          type: integer
          format: int64
        taxAmount:
          description: The amount of tax applied to the charge **in minor currency units**.
          type: integer
          format: int64
        totalTransactionValue:
          description: >-
            The total transaction value corresponding to these fees **in minor
            currency units**.
          type: integer
          format: int64
        count:
          description: The number of transactions corresponding to these fees.
          type: number
        description:
          type: string
        category:
          type: string
        unitPrice:
          type: string
    InvoiceOrderTypeDetails:
      title: InvoiceOrderTypeDetails
      type: object
      required:
        - InvoiceOrderTypeDetails
      properties:
        InvoiceOrderTypeDetails:
          $ref: '#/components/schemas/InvoiceOrderTypeDetails1'
    InvoiceOrderTypeDetails1:
      title: InvoiceOrderTypeDetails
      type: object
      properties:
        invoiceLineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItem'
        customerConfig:
          $ref: '#/components/schemas/OrderCustomerConfig'
    IsoCountry:
      title: IsoCountry
      type: string
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - VG
        - BN
        - BG
        - BF
        - BI
        - KH
        - CM
        - CA
        - CV
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MK
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - KP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - KR
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SZ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - CD
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - US
        - UM
        - UY
        - VI
        - UZ
        - VU
        - VA
        - VE
        - VN
        - WF
        - EH
        - YE
        - ZM
        - ZW
    IsoCurrency:
      title: IsoCurrency
      type: string
      enum:
        - AFN
        - DZD
        - ARS
        - AMD
        - AWG
        - AUD
        - AZN
        - BSD
        - BHD
        - THB
        - PAB
        - BBD
        - BYR
        - BZD
        - BMD
        - VEF
        - BOB
        - BRL
        - BND
        - BGN
        - BIF
        - CAD
        - CVE
        - KYD
        - XOF
        - XAF
        - XPF
        - CLP
        - COP
        - KMF
        - CDF
        - BAM
        - NIO
        - CRC
        - HRK
        - CUP
        - CZK
        - GMD
        - DKK
        - MKD
        - DJF
        - STD
        - DOP
        - VND
        - XCD
        - EGP
        - SVC
        - ETB
        - EUR
        - FKP
        - FJD
        - HUF
        - GHS
        - GIP
        - HTG
        - PYG
        - GNF
        - GYD
        - HKD
        - UAH
        - ISK
        - INR
        - IRR
        - IQD
        - JMD
        - JOD
        - KES
        - PGK
        - LAK
        - KWD
        - MWK
        - AOA
        - MMK
        - GEL
        - LBP
        - ALL
        - HNL
        - SLL
        - LRD
        - LYD
        - SZL
        - LSL
        - MGA
        - MYR
        - MUR
        - MXN
        - MXV
        - MDL
        - MAD
        - MZN
        - BOV
        - NGN
        - ERN
        - NAD
        - NPR
        - ANG
        - ILS
        - TWD
        - NZD
        - BTN
        - KPW
        - NOK
        - PEN
        - MRU
        - PKR
        - MOP
        - TOP
        - CUC
        - UYU
        - PHP
        - GBP
        - BWP
        - QAR
        - GTQ
        - ZAR
        - OMR
        - KHR
        - RON
        - MVR
        - IDR
        - RUB
        - RWF
        - SHP
        - SAR
        - RSD
        - SCR
        - SGD
        - SBD
        - KGS
        - SOS
        - TJS
        - SSP
        - LKR
        - SDG
        - SRD
        - SEK
        - CHF
        - SYP
        - BDT
        - WST
        - TZS
        - KZT
        - TTD
        - MNT
        - TND
        - TRY
        - TMT
        - AED
        - UGX
        - COU
        - CLF
        - UYI
        - USD
        - USN
        - USS
        - UZS
        - VUV
        - CHE
        - CHW
        - KRW
        - YER
        - JPY
        - CNY
        - ZMW
        - ZWL
        - PLN
    IsoCurrencyAmount:
      title: IsoCurrencyAmount
      type: object
      required:
        - minorCurrencyUnits
        - currency
      properties:
        minorCurrencyUnits:
          description: The amount in minor currency units (e.g. cents for AUD).
          type: integer
          format: int64
        currency:
          description: The currency of the given amount as a 3 letter ISO code.
          type: string
    IssuerCardBrand:
      title: IssuerCardBrand
      type: string
      enum:
        - UATP
        - Mastercard
    IssuerSettlementType:
      title: IssuerSettlementType
      description: For issuer transactions, the mechanism used to settle with the merchant
      type: string
      enum:
        - open_loop
        - closed_loop
    Item:
      title: Item
      type: object
      required:
        - amount
        - description
        - quantity
      properties:
        amount:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: The unit price for an item **in minor currency units**.
        description:
          description: A free text description of the item
          type: string
        sku:
          description: Optional SKU for item
          type: string
        quantity:
          description: >-
            Quantity of the item ordered. Note this may be a decimal amount such
            as `1.5`
          type: number
        imageUrl:
          description: Optional URL of a image of the item
          type: string
    JsonObject:
      title: JsonObject
      type: object
    KeyPartialValue:
      title: KeyPartialValue
      type: object
      required:
        - key
        - partialValue
      properties:
        key:
          type: string
        partialValue:
          type: string
    KycAttemptResponse:
      title: KycAttemptResponse
      oneOf:
        - $ref: '#/components/schemas/ConsumerCustomerKycResult'
        - $ref: '#/components/schemas/OrganisationDelegateKycResult'
    KycConsumerCustomer:
      title: KycConsumerCustomer
      type: object
      required:
        - KycConsumerCustomer
      properties:
        KycConsumerCustomer:
          $ref: '#/components/schemas/KycConsumerCustomer1'
    KycConsumerCustomer1:
      title: KycConsumerCustomer
      type: object
      required:
        - emailAddress
        - phoneNumber
        - ipAddress
        - customerIdentification
        - isCustomerVerified
      properties:
        emailAddress:
          description: The customer's email address.
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: The customer's phone number.
          examples:
            - '+61401234567'
          type: string
        ipAddress:
          description: IP address that the customer is operating from.
          type: string
        customerIdentification:
          $ref: '#/components/schemas/CustomerIdentificationMandatory'
        isCustomerVerified:
          description: >-
            Whether the customer's email and phone number have already been
            verified by the merchant, for example via one-time-password or other
            2FA means.
          type: boolean
        referenceCustomerId:
          description: Identifier for the given customer in the source system.
          type: string
    KycPayTypeEligibility:
      title: KycPayTypeEligibility
      type: object
      required:
        - eligibility
      properties:
        eligibility:
          $ref: '#/components/schemas/CustomerIdentificationOutcome'
        idDocOptions:
          description: >-
            For eligibility = IdWithDocument, details which ID document options
            are allowed
          type: array
          items:
            $ref: '#/components/schemas/IdDocOption'
        message:
          description: An explanatory message associated with error conditions
          type: string
    LimeAddress:
      title: LimeAddress
      description: >-
        Billing address for the merchant as it will appear on fee invoices for
        gross settlement merchants.
      type: object
      required:
        - streetNumber
        - streetName
        - streetType
        - suburb
        - postalCode
        - country
      properties:
        unitNumber:
          type: string
        streetNumber:
          type: string
        streetName:
          type: string
        streetType:
          type: string
        suburb:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          examples:
            - 2000
          type: string
        country:
          $ref: '#/components/schemas/Country'
    LineItem:
      title: LineItem
      type: object
      required:
        - entryType
        - description
        - netAmount
        - taxAmount
        - totalAmount
        - originalAmount
      properties:
        entryType:
          $ref: '#/components/schemas/EntryType1'
        description:
          description: Description of the statement line item
          type: string
        netAmount:
          description: Amount before tax in minor currency units
          type: integer
          format: int64
        taxAmount:
          description: Tax amount in minor currency units
          type: integer
          format: int64
        totalAmount:
          description: Total amount including tax in minor currency units
          type: integer
          format: int64
        taxRate:
          description: >-
            The tax rate applied to the line item represented as a rate. For
            instance, 0.1 represents 10% tax.
          type: number
        taxType:
          description: Name for the tax being applied.
          type: string
        originalAmount:
          $ref: '#/components/schemas/FxRateConversion'
          description: >-
            If the transaction was received in a currency other than the
            settlement currency, this includes details of how it was converted.
    LinkCustomerToDelegate:
      title: LinkCustomerToDelegate
      type: object
      required:
        - LinkCustomerToDelegate
      properties:
        LinkCustomerToDelegate:
          $ref: '#/components/schemas/LinkCustomerToDelegate1'
    LinkCustomerToDelegate1:
      title: LinkCustomerToDelegate
      description: >-
        Link this customer delegate with the given merchant customer. Payment
        sources saved against a delegate will be available when signing in on
        behalf of any customers the delegate is linked to.
      type: object
      required:
        - customerId
      properties:
        customerId:
          description: System unique identifier for the customer
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
    LoanAccess:
      title: LoanAccess
      type: object
      required:
        - loanId
      properties:
        loanId:
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
    LoanBalances:
      title: LoanBalances
      type: object
      required:
        - availableBalance
        - usedBalance
        - reservedBalance
        - pendingBalance
        - accountLimit
      properties:
        availableBalance:
          description: >-
            The amount available for draw down from the loan in minor currency
            units
          type: integer
          format: int64
        usedBalance:
          description: >-
            The amount currently outstanding in customer statements in minor
            currency units
          type: integer
          format: int64
        reservedBalance:
          description: >-
            Loan transactions that have yet to appear on a customer statement in
            minor currency units
          type: integer
          format: int64
        pendingBalance:
          description: >-
            Repayments in minor currency units where the corresponding funds
            have yet to settle
          type: integer
          format: int64
        accountLimit:
          description: The maximum amount that can be owed at any point
          type: integer
          format: int64
    LoanMasterAgreementBalances:
      title: LoanMasterAgreementBalances
      type: object
      required:
        - availableBalance
        - usedBalance
      properties:
        availableBalance:
          description: >-
            The amount available for draw down from the loan master agreement in
            minor currency units
          type: integer
          format: int64
        usedBalance:
          description: >-
            The amount currently reserved or loaned out from this loan master
            agreement in minor currency units
          type: integer
          format: int64
    LoanProductType:
      title: LoanProductType
      type: string
      enum:
        - TradingAccount
    LoanRole:
      title: LoanRole
      oneOf:
        - $ref: '#/components/schemas/CardUser'
        - $ref: '#/components/schemas/FinanceUser'
        - $ref: '#/components/schemas/SuperAdmin'
    LoanStatementEntry:
      title: LoanStatementEntry
      type: object
      required:
        - entryTimestamp
        - entryDescription
        - loanId
        - netTotal
        - taxTotal
        - insuranceTotal
        - billingAmountTotal
        - originalBillingAmountTotal
        - currency
        - acquiringMerchantDetails
        - supplierDetails
        - lineItems
        - entryType
      properties:
        entryTimestamp:
          description: When the statement line was recorded
          type: string
          format: date-time
        entryDescription:
          description: A human-readable description of the statement entry
          type: string
        loanStatementId:
          description: >-
            The system identifier of the loan statement this entry is included
            in. Only empty if the statement has not yet been issued.
          examples:
            - lstmt_aZ-9WPKvllCPqGtK
          type: string
        referenceStatementId:
          description: Unique identifier visible to the customer for the loan statement.
          type: string
        loanId:
          description: The system identifier for the loan
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        netTotal:
          description: >-
            Sum of all line items before tax and insurance, in minor currency
            units.
          type: integer
          format: int64
        taxTotal:
          description: Combined tax from all line items, in minor currency units.
          type: integer
          format: int64
        taxRate:
          description: >-
            The tax rate applied to the line item represented as a rate. For
            instance, 0.1 represents 10% tax.
          type: number
        taxType:
          description: Name for the tax being applied.
          type: string
        insuranceTotal:
          description: >-
            Combination of all insurance-related line items, in minor currency
            units.
          type: integer
          format: int64
        billingAmountTotal:
          description: >-
            Full combined amount that contributes to the statement due to this
            entry, in minor currency units.
          type: integer
          format: int64
        originalBillingAmountTotal:
          $ref: '#/components/schemas/FxRateConversion'
          description: >-
            Details of the fx conversion from the charge currency to the billing
            currency.
        currency:
          description: Currency of the statement amounts.
          examples:
            - AUD
          type: string
        transactionId:
          description: The acquiring transaction associated with entry, if any
          type: string
        issuerTransactionId:
          description: The issuer transaction associated with entry, if any
          examples:
            - itxn_aZ-9U_KvllCPqGsv
          type: string
        issuerSettlementType:
          $ref: '#/components/schemas/IssuerSettlementType'
        digitalCardDetails:
          $ref: '#/components/schemas/DigitalCardDetails'
        acquiringMerchantDetails:
          $ref: '#/components/schemas/MerchantDetails'
        supplierDetails:
          $ref: '#/components/schemas/SupplierDetails'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata associated with this entry, if any
        lineItems:
          description: Statement line items associated with this entry.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/LineItem'
        entryType:
          $ref: '#/components/schemas/EntryType2'
        entryId:
          description: System identifier specific to the given entry type
          type: string
    LoanStatementReport:
      title: LoanStatementReport
      type: object
      required:
        - currency
        - totalPages
        - totalRecords
      properties:
        currency:
          description: >-
            Three-letter ISO currency code, in uppercase. See
            https://www.iso.org/iso-4217-currency-codes.html
          examples:
            - AUD
          type: string
        entries:
          type: array
          items:
            $ref: '#/components/schemas/LoanStatementEntry'
        totalPages:
          type: integer
          format: int64
        totalRecords:
          type: integer
          format: int64
    LoanStatementReportMediaType:
      title: LoanStatementReportMediaType
      type: string
      enum:
        - PDF
        - CSV
        - XML
    LoanStatementSummaryResponse:
      title: LoanStatementSummaryResponse
      type: object
      required:
        - loanStatementId
        - referenceStatementId
        - loanId
        - loanAccountName
        - loanTimeZone
        - billerName
        - billerTaxId
        - billerAddress
        - billerPhoneNumber
        - borrowerMerchantId
        - statementStartDate
        - statementStartAt
        - statementEndDate
        - statementEndAt
        - billingDate
        - dueDate
        - settlementCurrency
        - netAmount
        - insuranceAmount
        - taxAmount
        - billedAmount
        - paidAmount
        - feeAmount
        - lateFeeAmount
        - outstandingAmount
        - status
        - totalEntryCount
        - createdAt
      properties:
        loanStatementId:
          description: The system identifier of the loan statement.
          examples:
            - lstmt_aZ-9WPKvllCPqGtK
          type: string
        referenceStatementId:
          description: Unique identifier visible to the customer for the loan statement.
          type: string
        loanId:
          description: The system identifier for the loan
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        referenceLoanId:
          description: A reference provided by the applicant to identify this loan.
          type: string
        loanAccountName:
          description: Account name associated with the loan
          type: string
        loanProductType:
          $ref: '#/components/schemas/LoanProductType'
        loanMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata associated with this loan, if any
        loanTimeZone:
          description: >-
            Timezone of loan used to determine statement time windows and for
            reporting.
          examples:
            - Australia/Sydney
          type: string
        customerId:
          description: The customer system identifier in scope for the given loan, if any
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        referenceCustomerId:
          description: A reference provided by the merchant to identify this customer.
          type: string
        customerName:
          description: The name of the customer in scope for the given loan, if any
          type: string
        customerTaxId:
          description: The tax id for organisational customers, if any
          type: string
        customerMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata associated with this organisational customer, if any
        customerAddress:
          $ref: '#/components/schemas/BusinessAddress'
          description: >-
            Business address associated with this organisational customer, if
            any
        billerName:
          description: Legal name of the company issuing the loan statement
          type: string
        billerTaxId:
          description: Tax id of the company issuing the loan statement
          type: string
        billerAddress:
          $ref: '#/components/schemas/BusinessAddress'
          description: Address of the company issuing the loan statement
        billerSupportEmailAddress:
          description: Support email address for the company issuing the loan statement
          examples:
            - lucy.diamond@star.com
          type: string
        billerPhoneNumber:
          description: Phone number for the company issuing the loan statement
          examples:
            - '+61401234567'
          type: string
        borrowerMerchantId:
          description: The merchant in scope for the given loan
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        statementStartDate:
          description: The first day of loan entries included in the loan statement.
          type: string
          format: date
        statementStartAt:
          description: >-
            The start of the first day of loan entries included in the loan
            statement.
          type: string
          format: date-time
        statementEndDate:
          description: The last day of loan entries included in the loan statement.
          type: string
          format: date
        statementEndAt:
          description: >-
            The end of the last day of loan entries included in the loan
            statement.
          type: string
          format: date-time
        billingDate:
          description: When was the loan statement issued.
          type: string
          format: date
        dueDate:
          description: When is repayment due for this statement.
          type: string
          format: date
        settlementCurrency:
          description: The currency used in this statement
          examples:
            - AUD
          type: string
        netAmount:
          description: >-
            Sum of all non-insurance entries, before tax, in minor currency
            units.
          type: integer
          format: int64
        insuranceAmount:
          description: Sum of all insurance entries, before tax, in minor currency units.
          type: integer
          format: int64
        taxAmount:
          description: Sum of tax amount over all entries, in minor currency units.
          type: integer
          format: int64
        billedAmount:
          description: >-
            Total amount due on the statement (excluding late fees), in minor
            currency units.
          type: integer
          format: int64
        paidAmount:
          description: >-
            How much has already been paid towards this statement, in minor
            currency units.
          type: integer
          format: int64
        feeAmount:
          description: >-
            Total fees included in this statement (excluding late fees), in
            minor currency units.
          type: integer
          format: int64
        lateFeeAmount:
          description: Amount owed due to late fees, in minor currency units.
          type: integer
          format: int64
        lateFeeLineItem:
          $ref: '#/components/schemas/LineItem'
          description: Amount owed due to late fees, in minor currency units.
        outstandingAmount:
          description: >-
            Total amount remaining to be paid against this statement including
            late fees, in minor currency units.
          type: integer
          format: int64
        paymentEvents:
          description: Events related to the payment of this statement.
          type: array
          items:
            $ref: '#/components/schemas/PaymentEvent'
        status:
          $ref: '#/components/schemas/Status1'
        totalEntryCount:
          description: Total number of entries in the loan statement.
          type: integer
          format: int64
        createdAt:
          description: When the statement was created.
          type: string
          format: date-time
    LoanSummaryResponse:
      title: LoanSummaryResponse
      type: object
      required:
        - loanId
        - loanAccountName
        - timeZone
        - loanProductId
        - loanFacilityId
        - borrowerMerchantId
        - currency
        - status
        - specification
        - loanBalances
        - createdAt
        - updatedAt
      properties:
        loanId:
          description: The system identifier for the loan
          examples:
            - loan_aZ-9VvKvllCPqGs8
          type: string
        referenceLoanId:
          description: A reference provided by the applicant to identify this loan.
          type: string
        loanAccountName:
          description: Account name associated with the loan
          type: string
        loanMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata associated with this loan, if any
        timeZone:
          description: >-
            Timezone of loan used to determine statement time windows and for
            reporting.
          examples:
            - Australia/Sydney
          type: string
        loanProductId:
          description: The system identifier for the loan product for this loan
          examples:
            - lprod_aZ-9WPKvllCPqGtG
          type: string
        loanFacilityId:
          description: >-
            The system identifier for the loan facility providing the loan
            product
          examples:
            - lfac_aZ-9WPKvllCPqGtF
          type: string
        borrowerMerchantId:
          description: The merchant associated with the borrower
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        borrowerMarketplaceId:
          description: The marketplace associated with the merchant in scope, if any
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        loanMasterAgreementId:
          description: The master agreement linked to this loan, if any
          examples:
            - lma_aZ-9WPKvllCPqGtH
          type: string
        currency:
          description: The currency of the loan
          examples:
            - AUD
          type: string
        billingPaymentSourceId:
          description: >-
            Payment source used for automated payments of loan statements, if
            any.
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        status:
          $ref: '#/components/schemas/Status'
          description: The status of the loan product
        specification:
          $ref: '#/components/schemas/Spec'
        loanBalances:
          $ref: '#/components/schemas/LoanBalances'
        loanMasterAgreementBalances:
          $ref: '#/components/schemas/LoanMasterAgreementBalances'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    LogicError:
      title: LogicError
      type: object
      required:
        - message
      properties:
        message:
          type: string
    LookupAliasResponse:
      title: LookupAliasResponse
      type: object
      required:
        - displayName
      properties:
        displayName:
          description: Display name linked to this alias
          type: string
    ManualCardToken:
      title: ManualCardToken
      type: object
      required:
        - ManualCardToken
      properties:
        ManualCardToken:
          $ref: '#/components/schemas/ManualCardToken1'
    ManualCardToken1:
      title: ManualCardToken
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - expiryDate
        - last4
        - brand
        - bin
        - funding
        - country
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        last4:
          type: string
        brand:
          $ref: '#/components/schemas/CardBranding1'
        bin:
          type: string
        funding:
          $ref: '#/components/schemas/CardFunding2'
        country:
          $ref: '#/components/schemas/IsoCountry'
    ManualPaymentDetails:
      title: ManualPaymentDetails
      type: object
      required:
        - token
        - magicLink
        - orderId
      properties:
        token:
          description: >-
            A token, valid for 28 days, that authorises the holder to pay for
            this invoice.
          type: string
        magicLink:
          description: URL to load a UI to manually pay for the given merchant invoice.
          type: string
        orderId:
          description: >-
            System unique identifier for the merchant order representing the
            payment of this invoice.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
    ManualPaymentMarked:
      title: ManualPaymentMarked
      type: object
      required:
        - timestamp
        - amount
        - user
      properties:
        timestamp:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        user:
          type: string
    Map_V:
      title: Map_V
      type: object
      additionalProperties:
        type: string
    MarketplaceCustomerResponse:
      title: MarketplaceCustomerResponse
      oneOf:
        - $ref: '#/components/schemas/ConsumerMarketplaceCustomer'
        - $ref: '#/components/schemas/OrganisationMarketplaceCustomer'
    MarketplaceResponse:
      title: MarketplaceResponse
      oneOf:
        - $ref: '#/components/schemas/StandardMarketplace'
    MatchStatus:
      title: MatchStatus
      type: string
      enum:
        - Match
        - PartialMatch
        - NoMatch
        - AccountClosed
    MaxLoanRequest:
      title: MaxLoanRequest
      type: object
      required:
        - currency
      properties:
        currency:
          description: Currency to request max loan amount for
          examples:
            - AUD
          type: string
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
          description: >-
            The pay plan variant to be used - defaults to the first configured
            value for the merchant or payplan_fortnight_25_25_25_25
    MaxLoanResponse:
      title: MaxLoanResponse
      type: object
      required:
        - amount
        - summary
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: >-
            The maximum loan amount based on the customer's loan eligibility
            analysis
        summary:
          description: >-
            Gives further information about the customer's loan eligibility
            analysis
          type: string
    MerchantApplepayDetails:
      title: MerchantApplepayDetails
      description: >-
        Details of the merchant-specific settings for which Apple Pay will
        process payments for this merchant.
      type: object
      required:
        - encryptTo
        - partnerInternalMerchantIdentifier
        - partnerMerchantName
      properties:
        domainNames:
          description: >-
            A list of fully qualified domain names for which Apple Pay will
            process payments for this merchant.
          type: array
          items:
            type: string
        encryptTo:
          description: encryptTo TODO write something
          type: string
        merchantUrl:
          description: merchantUrl TODO write something
          type: string
        partnerInternalMerchantIdentifier:
          description: partnerInternalMerchantIdentifier TODO write something
          type: string
        partnerMerchantName:
          description: partnerMerchantName TODO write something
          type: string
    MerchantApplepayDetailsResponse:
      title: MerchantApplepayDetailsResponse
      type: object
      properties:
        details:
          $ref: '#/components/schemas/MerchantApplepayDetails'
    MerchantBalances:
      title: MerchantBalances
      type: object
      required:
        - currency
        - available
        - inTransit
        - pending
      properties:
        currency:
          description: The currency of the balances as a 3 letter ISO code.
          type: string
        available:
          description: The funds in minor currency units available for payout.
          type: integer
          format: int64
        inTransit:
          description: >-
            The funds in minor currency units deducted from the account that are
            on their way to the merchant's bank account.
          type: integer
          format: int64
        pending:
          description: >-
            The funds in minor currency units accumulating in the account that
            are not yet cleared for payout.
          type: integer
          format: int64
    MerchantBranding:
      title: MerchantBranding
      type: object
      properties:
        iconUri:
          description: >-
            Fully qualified URI to an image file to use for the merchant icon.
            Must be an https link.
          type: string
        logoUri:
          description: >-
            Fully qualified URI to an image file to use for the merchant logo.
            Must be an https link.
          type: string
        logoAltText:
          description: Alternative text to show if the logo image cannot loaded.
          type: string
        primaryColor:
          description: >-
            Override the UI theme's primary color used in customer facing
            components.
          examples:
            - '#A946BD'
          type: string
    MerchantCustomerResponse:
      title: MerchantCustomerResponse
      oneOf:
        - $ref: '#/components/schemas/ConsumerCustomer'
        - $ref: '#/components/schemas/OrganisationCustomer'
    MerchantDashboardStatus:
      title: MerchantDashboardStatus
      type: string
      enum:
        - Pending
        - Active
        - Suspended
    MerchantDetails:
      title: MerchantDetails
      type: object
      properties:
        name:
          description: Business name of the merchant the transaction is associated with.
          type: string
        taxId:
          description: Optional taxId of the merchant associated with this transaction.
          type: string
        postCode:
          description: Optional post code of the merchant associated with this transaction.
          type: string
        merchantCategoryCode:
          description: The merchant MCC
          type: string
        iataNumber:
          description: >-
            IATA 3-Digit Airline Numeric Code for when the merchant is an
            airline.
          type: string
        country:
          $ref: '#/components/schemas/IsoCountry'
          description: Optional city of the merchant associated with this transaction.
        city:
          description: Optional city of the merchant associated with this transaction.
          type: string
        emailAddress:
          description: Optional email of the merchant associated with this transaction.
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: >-
            Optional phone number in E164 Format of the merchant associated with
            this transaction.
          examples:
            - '+61401234567'
          type: string
    MerchantFileResponse:
      title: MerchantFileResponse
      type: object
      required:
        - fileId
        - merchantId
        - category
        - docType
        - fileName
        - fileType
        - fileSizeInMB
        - fileSizeInKB
        - createdAt
      properties:
        fileId:
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        merchantId:
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        category:
          $ref: '#/components/schemas/FileCategory'
        docType:
          $ref: '#/components/schemas/DocumentType'
        fileName:
          type: string
        fileType:
          $ref: '#/components/schemas/FileType'
        fileSizeInMB:
          type: integer
          format: int64
        fileSizeInKB:
          type: integer
          format: int64
        createdAt:
          type: string
          format: date-time
    MerchantFileUploadResult:
      title: MerchantFileUploadResult
      type: object
      required:
        - limeFileId
      properties:
        limeFileId:
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
    MerchantInvoiceBillingAddress:
      title: MerchantInvoiceBillingAddress
      type: object
      required:
        - line1
        - postalCode
        - country
      properties:
        line1:
          type: string
        line2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
    MerchantInvoiceBillingDetails:
      title: MerchantInvoiceBillingDetails
      type: object
      required:
        - businessName
        - taxId
        - billingEmailAddress
        - billingPhoneNumber
        - billingAddress
      properties:
        businessName:
          type: string
        taxId:
          type: string
        billingEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        billingPhoneNumber:
          examples:
            - '+61401234567'
          type: string
        billingAddress:
          $ref: '#/components/schemas/MerchantInvoiceBillingAddress'
    MerchantInvoiceCategory:
      title: MerchantInvoiceCategory
      oneOf:
        - $ref: '#/components/schemas/PayInFullBankTransfer'
        - $ref: '#/components/schemas/PayInFullCardPayment'
        - $ref: '#/components/schemas/PayInFullDirectDebit'
        - $ref: '#/components/schemas/PayInFullPayTo'
        - $ref: '#/components/schemas/PlanPayment'
        - $ref: '#/components/schemas/TransactionTransfer'
    MerchantInvoiceDetails:
      title: MerchantInvoiceDetails
      type: object
      required:
        - summary
        - billingDetails
      properties:
        summary:
          $ref: '#/components/schemas/MerchantInvoiceSummary'
          description: >-
            Basic summary of the invoice, as you would get when querying
            invoices.
        billingDetails:
          $ref: '#/components/schemas/MerchantInvoiceBillingDetails'
        paymentMethod:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        summaryItems:
          type: array
          items:
            $ref: '#/components/schemas/MerchantInvoiceSummaryItem'
        timelines:
          type: array
          items:
            $ref: '#/components/schemas/MerchantInvoiceTimeLine'
        manualPaymentDetails:
          $ref: '#/components/schemas/ManualPaymentDetails'
    MerchantInvoiceEventType:
      title: MerchantInvoiceEventType
      type: string
      enum:
        - InvoiceIssued
        - PaymentOutstanding
        - PaymentAccepted
        - PaymentOverdue
        - PaymentFailed
        - PaymentSucceeded
        - PaymentDisputed
        - PaymentCancelled
    MerchantInvoiceItemType:
      title: MerchantInvoiceItemType
      type: string
      enum:
        - dispute_fee
        - dispute_fee_reversal
        - manual_top_up
        - manual_top_up_reversal
        - overdue_invoice_fee
        - pay_in_full_fee
        - payment_fee_reversal
        - pay_plan_fee
        - transaction_transfer_fee_reversal
        - other
    MerchantInvoiceStatus:
      title: MerchantInvoiceStatus
      type: string
      enum:
        - draft
        - outstanding
        - overdue
        - accepted
        - paid
        - cancelled
    MerchantInvoiceSummary:
      title: MerchantInvoiceSummary
      type: object
      required:
        - invoiceId
        - invoiceReference
        - currency
        - invoiceStartDate
        - invoiceEndDate
        - invoiceAmount
        - paidAmount
        - dueDate
        - merchantId
        - merchantBusinessName
        - status
        - summary
        - createdAt
      properties:
        invoiceId:
          description: System unique identifier for the invoice.
          examples:
            - minv_aZ-9V_KvllCPqGs_
          type: string
        invoiceReference:
          description: >-
            Unique reference for this invoice that can be included on manually
            generated payments.
          examples:
            - fCRLRpvIhvCC9Fkz
          type: string
        currency:
          description: The currency of the invoice as a 3 letter ISO code.
          type: string
        invoiceStartDate:
          description: The start of the date range included in the invoice.
          type: string
          format: date
        invoiceEndDate:
          description: The end of the date range included in the invoice.
          type: string
          format: date
        invoiceAmount:
          description: The invoice amount **in minor currency units**
          type: integer
          format: int64
        paidAmount:
          description: The amount credited towards the invoice **in minor currency units**
          type: integer
          format: int64
        issuedOn:
          description: The date the invoice was issued to the merchant.
          type: string
          format: date
        dueDate:
          description: The date the invoice is due for payment.
          type: string
          format: date
        merchantId:
          description: System unique identifier for the merchant issued the invoice.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        merchantBusinessName:
          description: Business name for the merchant issued the invoice.
          type: string
        status:
          $ref: '#/components/schemas/MerchantInvoiceStatus'
          description: Status of the invoice.
        summary:
          description: Summary of the contents of the invoice.
          type: string
        createdAt:
          description: When the invoice was created.
          type: string
          format: date-time
    MerchantInvoiceSummaryItem:
      title: MerchantInvoiceSummaryItem
      type: object
      required:
        - itemType
        - count
        - taxTotal
        - feeTotal
      properties:
        itemType:
          $ref: '#/components/schemas/MerchantInvoiceItemType'
        category:
          $ref: '#/components/schemas/MerchantInvoiceCategory'
        categoryLabel:
          type: string
        unitPrice:
          type: string
        count:
          type: integer
          format: int64
        totalTransactionValue:
          type: integer
          format: int64
        taxTotal:
          type: integer
          format: int64
        feeTotal:
          type: integer
          format: int64
    MerchantInvoiceTimeLine:
      title: MerchantInvoiceTimeLine
      type: object
      required:
        - eventType
        - eventTime
      properties:
        eventType:
          $ref: '#/components/schemas/MerchantInvoiceEventType'
        eventTime:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        identifier:
          type: string
    MerchantOnboardingFileUploadRequest:
      title: MerchantOnboardingFileUploadRequest
      type: object
      required:
        - docType
        - file
      properties:
        docType:
          $ref: '#/components/schemas/DocumentType'
        file:
          type: string
          format: binary
    MerchantPayoutStatus:
      title: MerchantPayoutStatus
      type: string
      enum:
        - Enabled
        - Disabled
    MerchantResponse:
      title: MerchantResponse
      oneOf:
        - $ref: '#/components/schemas/ServiceProviderMerchant'
        - $ref: '#/components/schemas/StandardMerchant'
    MetadataTemplate:
      title: MetadataTemplate
      type: object
      properties:
        validations:
          type: array
          items:
            $ref: '#/components/schemas/FieldValidatorEntry'
    MimeEmail:
      title: MimeEmail
      type: object
      required:
        - contents
      properties:
        contents:
          type: string
    Monthly:
      title: Monthly
      type: object
      required:
        - Monthly
      properties:
        Monthly:
          $ref: '#/components/schemas/Monthly1'
    Monthly1:
      title: Monthly
      type: object
      required:
        - issueDayOfMonth
      properties:
        issueDayOfMonth:
          type: integer
          format: int32
    NetworkToken:
      title: NetworkToken
      type: object
      required:
        - NetworkToken
      properties:
        NetworkToken:
          $ref: '#/components/schemas/NetworkToken1'
    NetworkToken1:
      title: NetworkToken
      description: >-
        Payment tokens generated using wallets such as Apple Pay or Google Pay
        generate a network token based payment token.
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - networkType
        - brand
        - funding
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        networkType:
          $ref: '#/components/schemas/NetworkType'
        brand:
          $ref: '#/components/schemas/CardBranding1'
        funding:
          $ref: '#/components/schemas/CardFunding2'
        country:
          type: string
    NetworkTokenDetails:
      title: NetworkTokenDetails
      type: object
      required:
        - NetworkTokenDetails
      properties:
        NetworkTokenDetails:
          $ref: '#/components/schemas/NetworkTokenDetails1'
    NetworkTokenDetails1:
      title: NetworkTokenDetails
      type: object
      required:
        - networkType
        - brand
      properties:
        networkType:
          $ref: '#/components/schemas/NetworkType'
        brand:
          $ref: '#/components/schemas/CardBranding1'
        country:
          type: string
        funding:
          $ref: '#/components/schemas/CardFunding'
    NetworkType:
      title: NetworkType
      type: string
      enum:
        - ApplePay
        - GooglePay
        - Unknown
    Not:
      title: Not
      type: object
      required:
        - criterion
      properties:
        criterion:
          $ref: '#/components/schemas/RuleCriterion'
    NotRequired:
      title: NotRequired
      type: object
    NotSupported:
      title: NotSupported
      type: object
      properties:
        version:
          type: string
        info:
          type: string
    NothingToReport:
      title: NothingToReport
      type: object
      required:
        - NothingToReport
      properties:
        NothingToReport:
          $ref: '#/components/schemas/NothingToReport1'
    NothingToReport1:
      title: NothingToReport
      description: Empty reply where no response data is applicable.
      type: object
    NzBankAccountIdentifier:
      title: NzBankAccountIdentifier
      type: object
      required:
        - NzBankAccountIdentifier
      properties:
        NzBankAccountIdentifier:
          $ref: '#/components/schemas/NzBankAccountIdentifier1'
    NzBankAccountIdentifier1:
      title: NzBankAccountIdentifier
      type: object
      required:
        - accountNumber
      properties:
        accountNumber:
          description: Account number, 15 or 16 digits.
          type: string
    OfferDetails:
      title: OfferDetails
      description: Details of the pay plan offered to the customer
      type: object
      required:
        - merchantId
        - customerId
        - isCounterOffer
        - threeDSecureRequired
        - createdAt
      properties:
        merchantId:
          description: >-
            System unique identifier for the merchant the pay plan was created
            for.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        customerId:
          description: >-
            System unique identifier for the merchant customer who owns the pay
            plan.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        isCounterOffer:
          description: >-
            Indicates that this is a revision (counter-offer) of a payment
            schedule proposed by the merchant customer.
          type: boolean
        threeDSecureRequired:
          description: When true, 3DS must be requested when paying for the order.
          type: boolean
        payPlanParameters:
          $ref: '#/components/schemas/PayPlanParameters'
          description: >-
            The parameters of the offered pay plan. If empty, the pay plan was
            declined outright.
        createdAt:
          description: When the time limited offer was generated.
          type: string
          format: date-time
    OnboardingErrorCode:
      title: OnboardingErrorCode
      type: string
      enum:
        - InvalidAddress
        - DocumentAddressMismatch
        - DocumentAddressMissing
        - DocumentCountryNotSupported
        - DocumentDobMismatch
        - DocumentDuplicateType
        - DocumentExpired
        - DocumentFailedCopy
        - DocumentFailedGreyscale
        - DocumentFailedOther
        - DocumentFraudulent
        - DocumentIdNumberMismatch
        - DocumentIdNumberMissing
        - DocumentIncomplete
        - DocumentInvalid
        - DocumentIssueOrExpiryDateMissing
        - DocumentMissingBack
        - DocumentMissingFront
        - DocumentSameFrontBack
        - DocumentNameMismatch
        - DocumentNameMissing
        - DocumentNationalityMismatch
        - DocumentNotReadable
        - DocumentNotSigned
        - DocumentNotUploaded
        - DocumentPhotoMismatch
        - DocumentTooLarge
        - DocumentTypeNotSupported
        - FailedAddressMatch
        - FailedBusinessIecNumber
        - FailedDocumentMatch
        - FailedIdNumberMatch
        - FailedKeyedIdentity
        - FailedKeyedMatch
        - FailedNameMatch
        - FailedOther
        - FailedTaxIdMatch
        - FailedTaxIdNotIssued
        - InvalidTaxId
        - RequiresAdditionalMemorandumOfAssociations
        - MissingExecutives
        - MissingOwners
        - MissingDirectors
        - MissingOwnerOrExecutive
        - MissingIndividual
        - PersonInformationMissing
        - MissingGatewayPersonAccount
        - InvalidPersonAge
        - MissingBankAccount
        - MerchantGatewayAccountMissing
        - InvalidBusinessName
        - CompanyTypeMissing
        - PartnershipAgreementDocMissing
        - TrustDeedDocMissing
        - InvalidPostalCode
        - InvalidState
        - InvalidCity
        - InvalidPhoneNum
        - InvalidTimeZone
        - InvalidWebsite
        - InvalidSupportSite
        - InvalidCardStatementName
        - InvalidSmsSenderName
        - InvalidBrandName
        - InvalidContactEmail
        - InvalidSupportEmail
        - InvalidSlug
        - DocumentBackNotNeeded
        - DriverLicenceMissing
        - PassportMissing
        - IdMissing
        - MultipleIdsFound
        - UnsupportedIdType
        - DriverLicenceStateMissing
        - DriverLicenceDocumentNumberMissing
        - DriverLicenceVersionNumberMissing
        - InvalidNzDriverLicenceVersion
        - DriverLicenceStateNotNeeded
        - PassportExpired
        - InvalidBusinessContactFirstName
        - InvalidBusinessContactLastName
        - InvalidBusinessCountry
        - InvalidBusinessAddress
        - InvalidPersonAddress
        - InvalidFirstName
        - InvalidLastName
        - InvalidTradeType
        - InvalidTradeLicence
        - MerchantIsNotActive
        - MerchantAlreadyVerified
        - MerchantStateInvalid
        - IndustryMissing
        - UnknownError
    OnlineOrder:
      title: OnlineOrder
      type: object
      required:
        - OnlineOrder
      properties:
        OnlineOrder:
          $ref: '#/components/schemas/OnlineOrder1'
    OnlineOrder1:
      title: OnlineOrder
      type: object
      required:
        - order
      properties:
        order:
          $ref: '#/components/schemas/OrderResponse'
          description: Details of the generated order
    OnlineOrderTypeDetails:
      title: OnlineOrderTypeDetails
      type: object
      required:
        - OnlineOrderTypeDetails
      properties:
        OnlineOrderTypeDetails:
          $ref: '#/components/schemas/OnlineOrderTypeDetails1'
    OnlineOrderTypeDetails1:
      title: OnlineOrderTypeDetails
      type: object
    Or:
      title: Or
      type: object
      required:
        - criteria
      properties:
        criteria:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/RuleCriterion'
    OrderCustomField:
      title: OrderCustomField
      description: >-
        Metadata fields we can expect to be included on orders. These will
        automatically be included in manual payments, payment and payout reports
        for Abacus merchants.
      type: object
      required:
        - key
        - label
        - required
        - visibleForCustomer
      properties:
        key:
          description: >-
            metadata key value as added to the merchant order and used in
            reports
          type: string
        label:
          description: >-
            Human readable label for custom field to show on pay by link order
            form and dashboards.
          type: string
        required:
          description: >-
            If true, value needs to be provided either by the merchant for pay
            by link orders via the merchant dashboard.
          type: boolean
        visibleForCustomer:
          description: >-
            If true, field will be included in order related views and
            communications sent to customers.
          type: boolean
    OrderCustomerConfig:
      title: OrderCustomerConfig
      type: object
      required:
        - merchantPublicKey
        - hidePayLaterOption
      properties:
        merchantPublicKey:
          type: string
        customToken:
          type: string
        hidePayLaterOption:
          type: boolean
        billingPaymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
    OrderNotificationSettings:
      title: OrderNotificationSettings
      type: object
      required:
        - orderPaidNotificationsEnabled
      properties:
        orderPaidNotificationsEnabled:
          type: boolean
        orderPaidNotificationEmails:
          type: array
          items:
            examples:
              - lucy.diamond@star.com
            type: string
    OrderResponse:
      title: OrderResponse
      type: object
      required:
        - orderId
        - merchantId
        - referenceOrderId
        - amount
        - orderType
        - orderTypeDetails
        - status
        - settlementConfiguration
        - createdAt
        - updatedAt
      properties:
        orderId:
          description: System unique identifier for the order.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        merchantId:
          description: System unique identifier for the merchant the order was created for.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        amount:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: The un-surcharged order amount that goes on the invoice.
        surcharge:
          $ref: '#/components/schemas/Surcharge'
        customerEmailAddress:
          description: Optional email address of the customer.
          type: string
        customerPhoneNumber:
          description: Optional phone number of the customer.
          type: string
        customerName:
          description: Optional name of the customer.
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType'
        orderTypeDetails:
          $ref: '#/components/schemas/OrderTypeDetails'
        description:
          description: A free text description of the order.
          type: string
        items:
          description: A list of line items included in the order.
          type: array
          items:
            $ref: '#/components/schemas/Item'
        discountAmount:
          description: Discount applied to order **in minor currency units**.
          type: integer
          format: int64
        shipping:
          $ref: '#/components/schemas/Shipping'
          description: Shipping address for the order.
        billing:
          $ref: '#/components/schemas/Billing'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Merchant specific additional data associated with this order.
        status:
          $ref: '#/components/schemas/OrderStatus'
        settlementConfiguration:
          $ref: '#/components/schemas/SettlementConfiguration'
        createdAt:
          description: When the order was created.
          type: string
          format: date-time
        updatedAt:
          description: When the order was last updated.
          type: string
          format: date-time
    OrderStatus:
      title: OrderStatus
      type: string
      enum:
        - created
        - accepted
        - paid
        - cancelled
        - fulfilled
        - returned
    OrderType:
      title: OrderType
      type: string
      enum:
        - online
        - paybylink
        - invoice
    OrderType1:
      title: OrderType
      type: string
      enum:
        - online
        - manual
        - invoice
    OrderTypeDetails:
      title: OrderTypeDetails
      oneOf:
        - $ref: '#/components/schemas/InvoiceOrderTypeDetails'
        - $ref: '#/components/schemas/OnlineOrderTypeDetails'
        - $ref: '#/components/schemas/PayByLinkOrderTypeDetails'
    OrganisationCustomer:
      title: OrganisationCustomer
      type: object
      required:
        - OrganisationCustomer
      properties:
        OrganisationCustomer:
          $ref: '#/components/schemas/OrganisationCustomer1'
    OrganisationCustomer1:
      title: OrganisationCustomer
      type: object
      required:
        - customerId
        - merchantId
        - isVerified
        - referenceCustomerId
        - organisationName
        - taxId
        - organisationKyced
        - organisationCreditChecked
        - businessProfile
        - createdAt
        - updatedAt
      properties:
        customerId:
          description: System unique identifier for a merchant customer.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        merchantId:
          description: System unique identifier for a merchant.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        marketplaceId:
          description: System unique identifier for a marketplace.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        emailAddress:
          description: Email address of the organisation.
          examples:
            - lucy.diamond@star.com
          type: string
        isVerified:
          description: >-
            Has the phone number and email address for this customer been
            verified to be correct.
          type: boolean
        phoneNumber:
          description: Phone number of the organisation.
          examples:
            - '+61401234567'
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. Must
            be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        organisationName:
          type: string
        taxId:
          description: The tax id (e.g. ABN or NZBN) for the organisation.
          type: string
        organisationKyced:
          description: >-
            Has the organisation undergone Know Your Customer (KYC)
            verification.
          type: boolean
        organisationCreditChecked:
          description: Has the organisation successfully completed a credit check.
          type: boolean
        businessProfile:
          $ref: '#/components/schemas/CustBusinessProfile'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Merchant specific additional data associated with this customer.
        createdAt:
          description: When the customer was first added to the system.
          type: string
          format: date-time
        updatedAt:
          description: When the customer was last updated in the system.
          type: string
          format: date-time
    OrganisationDelegateKycResult:
      title: OrganisationDelegateKycResult
      type: object
      required:
        - OrganisationDelegateKycResult
      properties:
        OrganisationDelegateKycResult:
          $ref: '#/components/schemas/OrganisationDelegateKycResult1'
    OrganisationDelegateKycResult1:
      title: OrganisationDelegateKycResult
      type: object
      required:
        - payTypeEligibility
      properties:
        payTypeEligibility:
          $ref: '#/components/schemas/KycPayTypeEligibility'
          description: Provides the KYC status information for the delegate.
        uboDetails:
          $ref: '#/components/schemas/PersonalDetails'
    OrganisationMarketplaceCustomer:
      title: OrganisationMarketplaceCustomer
      type: object
      required:
        - OrganisationMarketplaceCustomer
      properties:
        OrganisationMarketplaceCustomer:
          $ref: '#/components/schemas/OrganisationMarketplaceCustomer1'
    OrganisationMarketplaceCustomer1:
      title: OrganisationMarketplaceCustomer
      type: object
      required:
        - marketplaceCustomerId
        - marketplaceId
        - createdAt
        - updatedAt
        - referenceCustomerId
        - organisationName
        - organisationKyced
        - organisationCreditChecked
      properties:
        marketplaceCustomerId:
          examples:
            - mktpcust_aZ-9UvKvllCPqGsp
          type: string
        marketplaceId:
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        emailAddress:
          description: '**Restricted field** - only included if caller has access.'
          examples:
            - lucy.diamond@star.com
          type: string
        extensionData:
          $ref: '#/components/schemas/ExtensionData'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        referenceCustomerId:
          type: string
        organisationName:
          type: string
        taxId:
          description: '**Restricted field** - only included if caller has access.'
          type: string
        organisationKyced:
          type: boolean
        organisationCreditChecked:
          type: boolean
    Other:
      title: Other
      type: object
    Other1:
      title: Other
      type: object
      required:
        - Other
      properties:
        Other:
          $ref: '#/components/schemas/Other2'
    Other2:
      title: Other
      type: object
      required:
        - dbi
        - name
        - originatorInfo
      properties:
        dbi:
          $ref: '#/components/schemas/DescriptiveBillingInformation'
        name:
          description: Name between 1 and 45 alphanumeric characters long.
          type: string
        originatorInfo:
          description: Restaurant info between 1 and 25 alphanumeric characters long.
          type: string
    Other3:
      title: Other
      type: object
    Outcome3ds:
      title: Outcome3ds
      oneOf:
        - $ref: '#/components/schemas/AuthenticationUnavailable'
        - $ref: '#/components/schemas/FailedChallenge'
        - $ref: '#/components/schemas/FailedFrictionless'
        - $ref: '#/components/schemas/FailedTokenized'
        - $ref: '#/components/schemas/FlowNotAttempted'
        - $ref: '#/components/schemas/IncompleteChallenge'
        - $ref: '#/components/schemas/LogicError'
        - $ref: '#/components/schemas/NotSupported'
        - $ref: '#/components/schemas/PassedChallenge'
        - $ref: '#/components/schemas/PassedFrictionless'
        - $ref: '#/components/schemas/PassedTokenized'
        - $ref: '#/components/schemas/ResultNotAvailableError'
    ParentAcquiringTransactionId:
      title: ParentAcquiringTransactionId
      type: object
      required:
        - transactionId
      properties:
        transactionId:
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
    ParentIssuingTransactionId:
      title: ParentIssuingTransactionId
      type: object
      required:
        - issuerTransactionId
      properties:
        issuerTransactionId:
          examples:
            - itxn_aZ-9U_KvllCPqGsv
          type: string
    ParentTransactionId:
      title: ParentTransactionId
      oneOf:
        - $ref: '#/components/schemas/ParentAcquiringTransactionId'
        - $ref: '#/components/schemas/ParentIssuingTransactionId'
    PassedChallenge:
      title: PassedChallenge
      type: object
      properties:
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        authenticationValue:
          type: string
        xid:
          type: string
        eci:
          type: string
        version:
          type: string
        info:
          type: string
        liabilityShifted:
          type: boolean
    PassedFrictionless:
      title: PassedFrictionless
      type: object
      properties:
        directoryServerTransactionId:
          type: string
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        authenticationValue:
          type: string
        xid:
          type: string
        eci:
          type: string
        version:
          type: string
        info:
          type: string
        liabilityShifted:
          type: boolean
    PassedTokenized:
      title: PassedTokenized
      type: object
      properties:
        eci:
          type: string
        liabilityShifted:
          type: boolean
        transStatus:
          type: string
    Passport:
      title: Passport
      type: object
      required:
        - country
        - passportNumber
        - expiryDate
      properties:
        country:
          $ref: '#/components/schemas/Country'
        passportNumber:
          type: string
        expiryDate:
          type: string
          format: date
    Path:
      title: Path
      type: object
      required:
        - path
      properties:
        path:
          type: string
        steps:
          type: array
          items:
            type: string
    PayByBankTransfer:
      title: PayByBankTransfer
      type: object
      required:
        - PayByBankTransfer
      properties:
        PayByBankTransfer:
          $ref: '#/components/schemas/PayByBankTransfer1'
    PayByBankTransfer1:
      title: PayByBankTransfer
      description: >-
        Pay for an order where the payment source is a bank transfer. This
        variation can currently only be used for pay plan payments and only if
        pre-arranged with the payment platform.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: >-
            Payment token representing the bank transfer payment used to pay for
            this order.
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
    PayByCard:
      title: PayByCard
      type: object
      required:
        - PayByCard
      properties:
        PayByCard:
          $ref: '#/components/schemas/PayByCard1'
    PayByCard1:
      title: PayByCard
      description: >-
        Pay for an order where the payment source is a card. This variation can
        be used for both pay in full and pay plan payments.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: >-
            Payment token representing the card payment used to pay for this
            order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        request3DS:
          description: >-
            Request that a 3D secure challenge is attempted when payment is
            made. Defaults to `false`
          type: boolean
        returnURL:
          description: >-
            If `request3DS` is specified, a URL to return to must also be given
            when the 3DS challenge is completed. Defaults to
            https://checkout.limepay.com.au/payment-action-return.html
          type: string
        authoriseOnly:
          description: >-
            Authorise payment only. This means funds on the payment method are
            not captured and are only held for a maximum of 7 days. See [Capture
            action](/openapi/april-public/operation/UpdateTransaction) on how to
            capture funds. Defaults to `false`.
          type: boolean
        offSession:
          description: >-
            Indicate that the card-owner is present or absent (off-session). For
            example, set this to `true` if you're charging a customers saved
            payment method and they are not present. Defaults to `false`.
          type: boolean
        cardStatement:
          $ref: '#/components/schemas/PaymentDescription'
          description: >-
            If set, these details will be used for payments to set the
            descriptor on the issuer's financial statement. Defaults to the
            merchant's business details obtained at onboarding.
    PayByDirectDebit:
      title: PayByDirectDebit
      type: object
      required:
        - PayByDirectDebit
      properties:
        PayByDirectDebit:
          $ref: '#/components/schemas/PayByDirectDebit1'
    PayByDirectDebit1:
      title: PayByDirectDebit
      description: >-
        Pay for an order where the payment source is a bank account. This
        variation can currently only be used for pay in full payments and only
        if pre-arranged with the payment platform.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: >-
            Payment token representing the bank account payment used to pay for
            this order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        bankStatement:
          $ref: '#/components/schemas/PaymentDescription'
          description: >-
            If set, these details will be used for direct debit payments to set
            the descriptor shown on the bank account statement. Defaults to the
            merchant's business details obtained at onboarding.
    PayByLinkOrder:
      title: PayByLinkOrder
      type: object
      required:
        - PayByLinkOrder
      properties:
        PayByLinkOrder:
          $ref: '#/components/schemas/PayByLinkOrder1'
    PayByLinkOrder1:
      title: PayByLinkOrder
      type: object
      required:
        - order
      properties:
        order:
          $ref: '#/components/schemas/OrderResponse'
          description: Details of the generated order
        token:
          description: The token is valid for 24 hours
          type: string
        magicLink:
          description: URL to send to the customer for auto-access to the payment checkout
          type: string
    PayByLinkOrderTypeDetails:
      title: PayByLinkOrderTypeDetails
      type: object
      required:
        - PayByLinkOrderTypeDetails
      properties:
        PayByLinkOrderTypeDetails:
          $ref: '#/components/schemas/PayByLinkOrderTypeDetails1'
    PayByLinkOrderTypeDetails1:
      title: PayByLinkOrderTypeDetails
      type: object
      properties:
        customerConfig:
          $ref: '#/components/schemas/OrderCustomerConfig'
    PayByNetworkToken:
      title: PayByNetworkToken
      type: object
      required:
        - PayByNetworkToken
      properties:
        PayByNetworkToken:
          $ref: '#/components/schemas/PayByNetworkToken1'
    PayByNetworkToken1:
      title: PayByNetworkToken
      description: >-
        Pay for an order where the payment token represents a payment using a
        wallet such as an Apple Pay or Google Pay card.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: Payment token representing the payment used to pay for this order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        authoriseOnly:
          description: >-
            Authorise payment only. This means funds on the payment method are
            not captured and are only held for a maximum of 7 days. See [Capture
            action](/openapi/april-public/operation/UpdateTransaction) on how to
            capture funds. Defaults to `false`.
          type: boolean
        cardStatement:
          $ref: '#/components/schemas/PaymentDescription'
          description: >-
            If set, these details will be used for card payments to set the
            descriptor shown on the cardholders statement. Defaults to the
            merchant's business details obtained at onboarding.
    PayByPayTo:
      title: PayByPayTo
      type: object
      required:
        - PayByPayTo
      properties:
        PayByPayTo:
          $ref: '#/components/schemas/PayByPayTo1'
    PayByPayTo1:
      title: PayByPayTo
      description: >-
        Pay for an order where the payment source is a bank account with PayTo
        support. This variation can currently only be used for pay in full
        payments and only if pre-arranged with the payment platform.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: >-
            Payment token representing the bank account with a previously
            accepted PayTo agreement used to pay for this order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        bankStatement:
          $ref: '#/components/schemas/PaymentDescription'
          description: >-
            If set, these details will be used for PayTo payments to set the
            descriptor shown on the bank account statement. Defaults to the
            merchant's business details obtained at onboarding.
    PayByPaymentToken:
      title: PayByPaymentToken
      type: object
      required:
        - PayByPaymentToken
      properties:
        PayByPaymentToken:
          $ref: '#/components/schemas/PayByPaymentToken1'
    PayByPaymentToken1:
      title: PayByPaymentToken
      description: >

        Pay for an order given any valid payment token. This variation can be
        used for both pay in full and pay plans.

        Useful when you want one method regardless of the payment source and
        don't need to use any of the payment source

        specific options such as `authoriseOnly`.
      type: object
      required:
        - paymentTokenId
      properties:
        referenceTransactionId:
          description: >-
            Optional reference that can be passed in when Creating a
            transaction.
          type: string
        paymentTokenId:
          description: >-
            Payment token representing the payment source used to pay for this
            order
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        paymentDescription:
          $ref: '#/components/schemas/PaymentDescription'
          description: >-
            If set, these details will be used for payments to set the
            descriptor on the issuer's financial statement. Defaults to the
            merchant's business details obtained at onboarding.
    PayInFull:
      title: PayInFull
      type: object
      required:
        - PayInFull
      properties:
        PayInFull:
          $ref: '#/components/schemas/PayInFull1'
    PayInFull1:
      title: PayInFull
      description: Indicates a payment that is paid off in full at the time of the order.
      type: object
    PayInFullBankTransfer:
      title: PayInFullBankTransfer
      type: object
      required:
        - PayInFullBankTransfer
      properties:
        PayInFullBankTransfer:
          $ref: '#/components/schemas/PayInFullBankTransfer1'
    PayInFullBankTransfer1:
      title: PayInFullBankTransfer
      type: object
    PayInFullCardPayment:
      title: PayInFullCardPayment
      type: object
      required:
        - PayInFullCardPayment
      properties:
        PayInFullCardPayment:
          $ref: '#/components/schemas/PayInFullCardPayment1'
    PayInFullCardPayment1:
      title: PayInFullCardPayment
      type: object
      required:
        - funding
        - brand
        - domestic
      properties:
        funding:
          $ref: '#/components/schemas/CardFunding'
        brand:
          $ref: '#/components/schemas/CardBrand'
        domestic:
          type: boolean
    PayInFullDirectDebit:
      title: PayInFullDirectDebit
      type: object
      required:
        - PayInFullDirectDebit
      properties:
        PayInFullDirectDebit:
          $ref: '#/components/schemas/PayInFullDirectDebit1'
    PayInFullDirectDebit1:
      title: PayInFullDirectDebit
      type: object
    PayInFullPayTo:
      title: PayInFullPayTo
      type: object
      required:
        - PayInFullPayTo
      properties:
        PayInFullPayTo:
          $ref: '#/components/schemas/PayInFullPayTo1'
    PayInFullPayTo1:
      title: PayInFullPayTo
      type: object
    PayOrderComplete:
      title: PayOrderComplete
      type: object
      required:
        - PayOrderComplete
      properties:
        PayOrderComplete:
          $ref: '#/components/schemas/PayOrderComplete1'
    PayOrderComplete1:
      title: PayOrderComplete
      type: object
      required:
        - transactionId
        - transactionStatus
        - transactionDetails
        - amount
        - currency
        - surchargeAmount
        - payType
      properties:
        transactionId:
          description: System unique identifier for the transaction.
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        transactionStatus:
          $ref: '#/components/schemas/TransactionStatus'
          description: "\nThese are the statuses returned by the order payment API and the values displayed when merchant integrators retrieve (GET) a transaction via the API.\n\nNote: our dashboards in most cases map these statuses to different values, but only for display purposes.\n\n* **accepted**           - This payment was accepted by the customer but the payment method is asynchronous (e.g.: Direct Debit, Bank Transfer),\n                           so we have to wait for the final result before we move it to either **paid** or **failed**.\n* **paid**               - This payment is successful and funds have been collected.\n* **pending**            - This payment is successful, funds have been collected from the customer, but they are pending being transferred to the merchants balance.\n                           This status is currently only used by PayPlan's since we delay the transfer of funds into a merchants balance.\n* **refunded**           - A full refund has been initiated on this payment.\n* **partially_refunded** -\tA partial refund of the original payment amount has been initiated on this payment.\n* **failed**             -\tThe attempt to collect funds from the payment method was not successful.\n* **cancelled**          - This payment has been cancelled.\n* **disputed**           - At least one charge on the payment method has been disputed.\n* **not_captured**       - The payment method has been authorised but funds are not yet captured.\n* **incomplete**         -\tThis payment has not been completed by the customer. Currently, a transaction is only incomplete if 3DS authentication has not yet been completed.\n                           If the customer does not complete the authentication, the transaction will stay in this state.\n"
        transactionDetails:
          $ref: '#/components/schemas/TransactionResponse'
        amount:
          description: >-
            The order amount **in minor currency units** - note this includes
            any surcharging amount applied to the transaction
          type: integer
          format: int64
        currency:
          description: The currency of the given amount as a 3 letter ISO code.
          examples:
            - AUD
          type: string
        surchargeAmount:
          description: The order amount surcharge component **in minor currency units**
          type: integer
          format: int64
        payType:
          $ref: '#/components/schemas/PayTypeDto'
          description: The payment type used to pay for this order.
    PayOrderRequest:
      title: PayOrderRequest
      oneOf:
        - $ref: '#/components/schemas/Confirm3DSComplete'
        - $ref: '#/components/schemas/PayByBankTransfer'
        - $ref: '#/components/schemas/PayByCard'
        - $ref: '#/components/schemas/PayByDirectDebit'
        - $ref: '#/components/schemas/PayByNetworkToken'
        - $ref: '#/components/schemas/PayByPayTo'
        - $ref: '#/components/schemas/PayByPaymentToken'
    PayOrderResponse:
      title: PayOrderResponse
      oneOf:
        - $ref: '#/components/schemas/PayOrderComplete'
        - $ref: '#/components/schemas/ThreeDSAuthorisationRequired'
    PayPlan:
      title: PayPlan
      type: object
      required:
        - PayPlan
      properties:
        PayPlan:
          $ref: '#/components/schemas/PayPlan1'
    PayPlan1:
      title: PayPlan
      description: Indicates a payment that is paid off in instalments over a schedule.
      type: object
      required:
        - variant
      properties:
        variant:
          $ref: '#/components/schemas/PayPlanVariant'
          description: >-
            The variant of the pay plan, specifying number and frequency of
            instalments.
    PayPlanParameters:
      title: PayPlanParameters
      type: object
      required:
        - amount
        - initialPayment
        - instalmentLength
        - instalmentFrequency
        - payPlanVariant
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The full plan amount
        initialPayment:
          description: >-
            The amount that the customer will pay up front **in minor currency
            units** (eg cents for AUD). May be `0` if no upfront payment is
            required.
          type: integer
          format: int64
        instalmentLength:
          description: >-
            The number of instalment payments expected for this pay plan (min 2,
            max 52).
          type: integer
          format: int32
        instalmentFrequency:
          $ref: '#/components/schemas/InstalmentFrequency'
        proposedSchedule:
          type: array
          items:
            $ref: '#/components/schemas/ScheduleEntry'
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
          description: >-
            The variant of the plan to construct. This implies the number of
            instalments; the minimum initialPayment expected; and the frequency
            of payments (e.g. fortnightly, weekly, etc.)
    PayPlanParametersRequest:
      title: PayPlanParametersRequest
      type: object
      required:
        - amount
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The full order amount
        payPlanVariants:
          description: The variants of the plan to calculate parameters for.
          type: array
          items:
            $ref: '#/components/schemas/PayPlanVariant'
        payInFullAmount:
          description: >-
            The portion of the order amount that is for pay in full items **in
            minor currency units**. Only relevant for merchants who have a
            pre-arranged agreement with April to support orders including some
            pay in full items.
          type: integer
          format: int64
    PayPlanParametersResponse:
      title: PayPlanParametersResponse
      type: object
      properties:
        parameters:
          description: Pay plan parameters for each of the requested variants.
          type: array
          items:
            $ref: '#/components/schemas/PayPlanParameters'
    PayPlanResponse:
      title: PayPlanResponse
      type: object
      required:
        - payPlanId
        - merchantId
        - customerId
        - state
        - amount
        - surchargeAmount
        - platformFee
        - taxAmount
        - payPlanVariant
        - planAmountOutstanding
        - isRefunded
        - isOverdue
        - createdAt
        - updatedAt
      properties:
        payPlanId:
          description: System unique identifier for the pay plan
          examples:
            - plan_aZ-9UfKvllCPqGsb
          type: string
        merchantId:
          description: >-
            System unique identifier for the merchant the pay plan was created
            for
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        customerId:
          description: >-
            System unique identifier for the merchant customer who owns the pay
            plan.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        state:
          $ref: '#/components/schemas/PayPlanState'
          description: >

            These are all the statuses a pay plan can be in.


            * **Created** - The pay plan object has been created, but has not
            been successfully associated with an order yet. No payment or money
            transfers will occur when the pay plan is in this state.

            * **Active** - The pay plan has successfully been established, the
            initial payment, if any, has been received and one or more
            instalments are yet to be paid.

            * **Completed** - The payment plan has been completely paid,
            including any fees/penalties.

            * **InDefault** - The plan is overdue and has not been paid after
            several soft collection attempts.
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The full plan amount
        surchargeAmount:
          description: >-
            The surcharge passed to the customer for creating this pay plan **in
            minor currency units**.
          type: integer
          format: int64
        platformFee:
          description: >-
            The fee charged for creating this pay plan **in minor currency
            units**.
          type: integer
          format: int64
        taxAmount:
          description: Tax owed by the merchant on the fees **in minor currency units**.
          type: integer
          format: int64
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
          description: >-
            The variant of the plan to construct. This implies the number of
            instalments; the minimum initialPayment expected; and the frequency
            of payments (e.g. fortnightly, weekly, etc.)
        nextInstalmentDate:
          description: The next computed date in which an instalment should be charged.
          type: string
          format: date-time
        nextInstalment:
          description: The instalment number of the next instalment.
          examples:
            - 3
          type: integer
          format: int32
        planAmountOutstanding:
          description: >-
            The outstanding amount still to be paid on the plan **in minor
            currency units**.
          type: integer
          format: int64
        paymentSourceType:
          $ref: '#/components/schemas/PaymentSourceType'
        merchantOrderId:
          description: System unique identifier for the order corresponding to this plan.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        transactionId:
          description: >-
            System unique identifier for the transaction corresponding to this
            plan.
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        charges:
          description: All charges including failed attempts made on the pay plan.
          type: array
          items:
            $ref: '#/components/schemas/Charge'
        refunds:
          description: All refunds applied to the pay plan.
          type: array
          items:
            $ref: '#/components/schemas/Refund'
        isRefunded:
          description: Has the pay plan been fully refunded.
          type: boolean
        isOverdue:
          description: Is the pay plan overdue.
          type: boolean
        overdueAmount:
          description: >-
            If set, this is the amount that was expected to be paid on the last
            scheduled instalment but was not **in minor currency units**.
          type: integer
          format: int64
        overdueAt:
          description: If set, when the pay plan became overdue.
          type: string
          format: date-time
        bankTransferDetails:
          $ref: '#/components/schemas/BankTransferDetails'
        createdAt:
          description: When the pay plan was created.
          type: string
          format: date-time
        updatedAt:
          description: When the pay plan was last updated.
          type: string
          format: date-time
    PayPlanSettings:
      title: PayPlanSettings
      type: object
      properties:
        maxPayPlanAmount:
          type: integer
          format: int64
        minPayPlanAmount:
          type: integer
          format: int64
    PayPlanState:
      title: PayPlanState
      type: string
      enum:
        - Created
        - Active
        - Completed
        - InDefault
    PayPlanVariant:
      title: PayPlanVariant
      type: string
      enum:
        - payplan_fortnight_25_25_25_25
        - payplan_4_weekly_payments
        - payplan_8_weekly_payments
        - payplan_26_fortnightly_payments
        - payplan_52_weekly_payments
        - payplan_2_monthly_payments
        - payplan_3_monthly_payments
        - payplan_4_monthly_payments
        - payplan_5_monthly_payments
        - payplan_6_monthly_payments
        - payplan_7_monthly_payments
        - payplan_8_monthly_payments
        - payplan_9_monthly_payments
        - payplan_10_monthly_payments
        - payplan_11_monthly_payments
        - payplan_12_monthly_payments
        - payplan_fortnight_0_100
        - payplan_4_week_0_100
        - payplan_7_week_0_100
        - payplan_30_days_0_100
    PayTo:
      title: PayTo
      description: Payment method is via PayTo.
      type: object
    PayToFailure:
      title: PayToFailure
      type: object
      required:
        - code
        - message
        - detail
      properties:
        code:
          $ref: '#/components/schemas/PayToFailureCode'
        message:
          type: string
        detail:
          type: string
    PayToFailureCode:
      title: PayToFailureCode
      type: string
      enum:
        - other
    PayToMethod:
      title: PayToMethod
      type: object
      required:
        - PayToMethod
      properties:
        PayToMethod:
          $ref: '#/components/schemas/PayToMethod1'
    PayToMethod1:
      title: PayToMethod
      type: object
      required:
        - agreementToken
      properties:
        agreementToken:
          description: Token representing an active PayTo open agreement
          type: string
    PayToMethodResp:
      title: PayToMethodResp
      type: object
      required:
        - PayToMethodResp
      properties:
        PayToMethodResp:
          $ref: '#/components/schemas/PayToMethodResp1'
    PayToMethodResp1:
      title: PayToMethodResp
      type: object
      required:
        - agreementUid
        - accountIdentifierHint
      properties:
        agreementUid:
          type: string
        accountIdentifierHint:
          type: string
    PayToPaymentMethod:
      title: PayToPaymentMethod
      type: object
      required:
        - paymentMethodType
        - accountHint
        - paymentStatus
      properties:
        paymentMethodType:
          $ref: '#/components/schemas/PaymentMethodType1'
        accountHint:
          type: string
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
        paymentFailure:
          $ref: '#/components/schemas/PayToFailure'
    PayToToken:
      title: PayToToken
      type: object
      required:
        - PayToToken
      properties:
        PayToToken:
          $ref: '#/components/schemas/PayToToken1'
    PayToToken1:
      title: PayToToken
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - agreementUid
        - accountIdentifierHint
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        agreementUid:
          type: string
        accountIdentifierHint:
          type: string
    PayToTokenDetails:
      title: PayToTokenDetails
      type: object
      required:
        - PayToTokenDetails
      properties:
        PayToTokenDetails:
          $ref: '#/components/schemas/PayToTokenDetails1'
    PayToTokenDetails1:
      title: PayToTokenDetails
      type: object
      required:
        - accountIdentifierHint
        - agreementUid
      properties:
        accountIdentifierHint:
          type: string
        agreementUid:
          type: string
    PayType:
      title: PayType
      type: string
      enum:
        - payplan
        - paycard
    PayType1:
      title: PayType
      type: string
      enum:
        - PayPlan
        - PayInFull
    PayTypeDto:
      title: PayTypeDto
      type: string
      enum:
        - payplan
        - payinfull
    PaymentAmount:
      title: PaymentAmount
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          description: The amount of the payment in minor currency units (eg cents for AUD)
          type: integer
          format: int64
        currency:
          description: The currency of the payment
          examples:
            - AUD
          type: string
    PaymentChannel:
      title: PaymentChannel
      type: string
      enum:
        - direct_entry
        - npp
    PaymentCustomerType:
      title: PaymentCustomerType
      type: string
      enum:
        - Consumer
        - Organisation
    PaymentData:
      title: PaymentData
      type: object
      required:
        - data
        - header
        - signature
        - version
      properties:
        data:
          type: string
        header:
          $ref: '#/components/schemas/Header'
        signature:
          type: string
        version:
          $ref: '#/components/schemas/Version'
    PaymentDescription:
      title: PaymentDescription
      type: object
      required:
        - name
      properties:
        name:
          description: >-
            The primary descriptor shown on the payer's statement. This must be
            between 5 and 13 characters, consisting only of letters, spaces and
            numbers. It must contain at least one letter.
          type: string
        city:
          description: >-
            A 'city' description for the merchant. This aids in further
            clarifying with the payer the origin of this payment. This must be
            between 1 and 13 characters, consisting of only letters, numbers, or
            a `-`.
          type: string
    PaymentDescriptor_Vault:
      title: PaymentDescriptor_Vault
      description: Details of the payment that will be surcharged.
      type: object
      required:
        - form
        - customerType
        - amount
        - method
      properties:
        form:
          $ref: '#/components/schemas/PaymentForm_Vault'
        customerType:
          $ref: '#/components/schemas/PaymentCustomerType'
          description: The payment customer type (eg organisation).
        amount:
          $ref: '#/components/schemas/PaymentAmount'
          description: The payment amount.
        method:
          $ref: '#/components/schemas/PaymentMethod_Vault'
    PaymentEvent:
      title: PaymentEvent
      oneOf:
        - $ref: '#/components/schemas/AutoPaymentFromCreditBalance'
        - $ref: '#/components/schemas/CreditAppliedToNewStatement'
        - $ref: '#/components/schemas/ManualPaymentMarked'
    PaymentForm_Vault:
      title: PaymentForm_Vault
      description: The payment form (eg pay in full).
      oneOf:
        - $ref: '#/components/schemas/PayInFull'
        - $ref: '#/components/schemas/PayPlan'
    PaymentMethod:
      title: PaymentMethod
      oneOf:
        - $ref: '#/components/schemas/ApplePay'
        - $ref: '#/components/schemas/BankTransfer'
        - $ref: '#/components/schemas/Card'
        - $ref: '#/components/schemas/DirectDebit'
        - $ref: '#/components/schemas/GooglePay'
        - $ref: '#/components/schemas/PayTo'
        - $ref: '#/components/schemas/SavedPaymentSource'
    PaymentMethod1:
      title: PaymentMethod
      type: string
      enum:
        - CARD
    PaymentMethodTokenizationData:
      title: PaymentMethodTokenizationData
      type: object
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/PaymentMethodTokenizationDataType'
        token:
          type: string
    PaymentMethodTokenizationDataType:
      title: PaymentMethodTokenizationDataType
      type: string
      enum:
        - PAYMENT_GATEWAY
        - DIRECT
    PaymentMethodType:
      title: PaymentMethodType
      type: string
      enum:
        - Card
        - DirectDebit
        - BankTransfer
        - PayTo
    PaymentMethodType1:
      title: PaymentMethodType
      type: string
      enum:
        - Card
        - DirectDebit
        - PayTo
    PaymentMethod_Vault:
      title: PaymentMethod_Vault
      description: The payment method (eg by card).
      oneOf:
        - $ref: '#/components/schemas/ApplePay1'
        - $ref: '#/components/schemas/BankTransfer1'
        - $ref: '#/components/schemas/Card2'
        - $ref: '#/components/schemas/DirectDebit1'
        - $ref: '#/components/schemas/GooglePay1'
        - $ref: '#/components/schemas/SavedPaymentSource1'
    PaymentSource:
      title: PaymentSource
      description: Details of the initial payment method to be used for the pay plan.
      oneOf:
        - $ref: '#/components/schemas/BankTransfer1'
        - $ref: '#/components/schemas/Card2'
        - $ref: '#/components/schemas/SavedPaymentSource1'
    PaymentSourceMethod:
      title: PaymentSourceMethod
      oneOf:
        - $ref: '#/components/schemas/CardMethod'
        - $ref: '#/components/schemas/DirectDebitMethod'
        - $ref: '#/components/schemas/PayToMethod'
    PaymentSourceResponse:
      title: PaymentSourceResponse
      description: A payment source saved for use in future payments.
      type: object
      required:
        - paymentSourceId
        - sourceMethod
        - createdAt
        - updatedAt
      properties:
        paymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        merchantId:
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        customerDelegateId:
          examples:
            - custd_aZ-9VPKvllCPqGs2
          type: string
        sourceMethod:
          $ref: '#/components/schemas/SavedPaymentSourceMethodResp'
        usageScope:
          $ref: '#/components/schemas/PaymentSourceUsageScope'
          description: >

            Used to determine the context of a payment sources. Should be `null`
            for consumer customers.


            * **ScopeOrganisation**  - For B2B customers, a payment source saved
            with organisation scope is available to
                                       _all_ delegates of the organisation represented by the customer.
            * **ScopeDelegate**      - For B2B customers, a payment source saved
            with delegate scope is _only_ available to
                                       the delegate who added the payment source.
            * **ScopeBilling**       - Indicates a payment source that can be
            used to automatically pay fee invoices for
                                       merchants set up for gross settlement. Adding a new billing payment source will automatically
                                       configure that as the default payment source for fee invoices going forward.
        createdAt:
          description: When the payment source was created.
          type: string
          format: date-time
        updatedAt:
          description: When the payment source was last updated.
          type: string
          format: date-time
    PaymentSourceType:
      title: PaymentSourceType
      description: >-
        The type of payment source used to pay off the plan. Not present for
        source-less methods, such as bank transfers.
      type: string
      enum:
        - Card
        - DirectDebit
        - PayTo
    PaymentSourceUsageScope:
      title: PaymentSourceUsageScope
      type: string
      enum:
        - ScopeOrganisation
        - ScopeDelegate
        - ScopeBilling
    PaymentStatus:
      title: PaymentStatus
      type: string
      enum:
        - Created
        - Settled
        - Failed
    PaymentSurchargeRequest:
      title: PaymentSurchargeRequest
      type: object
      required:
        - PaymentSurchargeRequest
      properties:
        PaymentSurchargeRequest:
          $ref: '#/components/schemas/PaymentSurchargeRequest1'
    PaymentSurchargeRequest1:
      title: PaymentSurchargeRequest
      type: object
      required:
        - payment
      properties:
        payment:
          $ref: '#/components/schemas/PaymentDescriptor_Vault'
    PaymentSurchargeResponse:
      title: PaymentSurchargeResponse
      type: object
      required:
        - PaymentSurchargeResponse
      properties:
        PaymentSurchargeResponse:
          $ref: '#/components/schemas/PaymentSurchargeResponse1'
    PaymentSurchargeResponse1:
      title: PaymentSurchargeResponse
      type: object
      required:
        - surchargeQuote
      properties:
        surchargeQuote:
          $ref: '#/components/schemas/SurchargeQuote'
          description: >-
            A surcharge quote for the proposed payment in
            CalculateSurchargeRequest.PaymentSurchargeRequest
    PaymentTokenData:
      title: PaymentTokenData
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - payType
        - method
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        paymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        payType:
          $ref: '#/components/schemas/PayTypeDto'
        method:
          $ref: '#/components/schemas/PaymentTokenMethod'
        payPlanVariant:
          $ref: '#/components/schemas/PayPlanVariant'
    PaymentTokenMethod:
      title: PaymentTokenMethod
      oneOf:
        - $ref: '#/components/schemas/BankTransferTokenDetails'
        - $ref: '#/components/schemas/CardTokenDetails'
        - $ref: '#/components/schemas/DirectDebitTokenDetails'
        - $ref: '#/components/schemas/NetworkTokenDetails'
        - $ref: '#/components/schemas/PayToTokenDetails'
    PaymentTokenResponse:
      title: PaymentTokenResponse
      oneOf:
        - $ref: '#/components/schemas/BankAccountToken'
        - $ref: '#/components/schemas/ManualCardToken'
        - $ref: '#/components/schemas/NetworkToken'
        - $ref: '#/components/schemas/PayToToken'
        - $ref: '#/components/schemas/SavedCardToken'
        - $ref: '#/components/schemas/SavedPaymentSourceToken'
    PaymentTypeAmount:
      title: PaymentTypeAmount
      type: object
      required:
        - checkoutPayType
        - amount
      properties:
        checkoutPayType:
          $ref: '#/components/schemas/CheckoutPayType'
        amount:
          description: >-
            The amount in minor currency units – eg cents – for this payment
            type in the checkout
          type: integer
          format: int64
    PayoutAccountDetails:
      title: PayoutAccountDetails
      description: Bank account details for where the payout was sent.
      type: object
      required:
        - accountId
        - accountName
        - identifier
        - currency
        - country
      properties:
        accountId:
          description: System unique identifier for a bank account
          examples:
            - xacc_aZ-9U_KvllCPqGst
          type: string
        accountName:
          description: Name of the person or business that holds the account
          type: string
        bankName:
          description: Name of financial institution where the account is held.
          type: string
        identifier:
          $ref: '#/components/schemas/BankAccountIdentifier'
        currency:
          description: 3 letter ISO code indicating the currency of the bank account.
          examples:
            - AUD
          type: string
        country:
          description: >-
            2 letter ISO code indicating the country where the bank account is
            held.
          type: string
    PayoutDetailLineItem:
      title: PayoutDetailLineItem
      type: object
      required:
        - entryType
        - totalAmount
      properties:
        entryType:
          $ref: '#/components/schemas/EntryType'
        count:
          type: integer
          format: int64
        totalAmount:
          type: integer
          format: int64
    PayoutDetails:
      title: PayoutDetails
      type: object
      required:
        - summary
      properties:
        summary:
          $ref: '#/components/schemas/PayoutSummary'
          description: Basic summary of the payout, as you would get when querying payouts.
        summaryLineItems:
          description: >-
            A summary of the contents of the payout, including the number of
            transactions, refunds, and other items that make up the total
            amount.
          type: array
          items:
            $ref: '#/components/schemas/PayoutDetailLineItem'
        accountDetails:
          $ref: '#/components/schemas/PayoutAccountDetails'
    PayoutSchedule:
      title: PayoutSchedule
      type: string
      enum:
        - daily
        - weekly
        - fortnightly
        - monthly
    PayoutSettings:
      title: PayoutSettings
      type: object
      required:
        - notificationsEnabled
      properties:
        notificationEmails:
          description: >-
            List of email addresses that will receive a payout report whenever a
            payout has been transferred to the merchant's primary bank account. 
          type: array
          items:
            examples:
              - lucy.diamond@star.com
            type: string
        notificationsEnabled:
          description: Toggle for whether to send payout report emails.
          type: boolean
    PayoutStatus:
      title: PayoutStatus
      type: string
      enum:
        - created
        - pending
        - paid
        - in_transit
        - canceled
        - failed
        - reversed
        - suspended
    PayoutSummary:
      title: PayoutSummary
      type: object
      required:
        - payoutId
        - currency
        - merchantId
        - merchantBusinessName
        - amount
        - openingBalance
        - closingBalance
        - totalAmount
        - status
        - createdAt
      properties:
        payoutId:
          description: System unique identifier for the payout.
          examples:
            - payout_aZ-9UvKvllCPqGsl
          type: string
        referencePayoutId:
          description: Identifier for payout that merchants can use.
          type: string
        currency:
          description: The currency of the payout as a 3 letter ISO code.
          type: string
        settlementDate:
          description: The date the payout was settlement with the merchant.
          type: string
          format: date
        merchantId:
          description: System unique identifier for the merchant issued the payout.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        merchantBusinessName:
          description: Business name for the merchant issued the payout.
          type: string
        amount:
          description: The amount credited towards the payout **in minor currency units**
          type: integer
          format: int64
        openingBalance:
          description: >

            The opening balance of the merchant account before the payout was
            settled **in minor currency units**.

            Will usually be `0` but will be negative if the merchant account has
            a negative balance from a previous payout.
          type: integer
          format: int64
        closingBalance:
          description: >

            The closing balance of the merchant account after payout has settled
            **in minor currency units**.

            Will usually be `0` but will be negative if the merchant account has
            a negative balance.
          type: integer
          format: int64
        totalAmount:
          description: >-
            The amount paid out or the closing balance if the merchant account
            has a negative balance **in minor currency units**.
          type: integer
          format: int64
        status:
          $ref: '#/components/schemas/PayoutStatus'
          description: Status of the invoice.
        bankAccountNumber:
          description: The bank account number the payout was sent to.
          type: string
        paymentChannel:
          $ref: '#/components/schemas/PaymentChannel'
          description: The payment channel to use for the payout.
        statementDescriptor:
          description: >-
            Information about the payout that will appear on the customer's bank
            statement.
          type: string
        createdAt:
          description: When the payout was created.
          type: string
          format: date-time
    PayoutSummary1:
      title: PayoutSummary
      type: object
      required:
        - payoutId
        - currency
        - status
        - settlementType
        - openingBalance
        - closingBalance
        - payoutAmount
      properties:
        payoutId:
          examples:
            - payout_aZ-9UvKvllCPqGsl
          type: string
        referencePayoutId:
          type: string
        currency:
          description: ISO 4217 3 Digits Currency code
          type: string
        activeFrom:
          type: string
          format: date-time
        activeTo:
          type: string
          format: date-time
        paidOn:
          type: string
          format: date
        status:
          $ref: '#/components/schemas/PayoutStatus'
        settlementType:
          $ref: '#/components/schemas/SettlementType'
        failureReason:
          type: string
        openingBalance:
          type: integer
          format: int64
        closingBalance:
          type: integer
          format: int64
        payoutAmount:
          type: integer
          format: int64
    PersonalDetails:
      title: PersonalDetails
      description: >-
        If the delegate is one of the UBOs of the business associated with the
        organisation customer, this contains the UBO's known identity data.
      type: object
      required:
        - familyName
        - address
      properties:
        givenName:
          description: The person's given name
          type: string
        middleName:
          description: The person's middle name
          type: string
        familyName:
          description: The person's family name
          type: string
        address:
          $ref: '#/components/schemas/ComponentisedAddress'
          description: The person's address
    PlanPayment:
      title: PlanPayment
      type: object
      required:
        - PlanPayment
      properties:
        PlanPayment:
          $ref: '#/components/schemas/PlanPayment1'
    PlanPayment1:
      title: PlanPayment
      type: object
      required:
        - variant
      properties:
        variant:
          $ref: '#/components/schemas/PayPlanVariant'
    ProductType:
      title: ProductType
      type: string
      enum:
        - CP
        - CN
    PurchaseDetails:
      title: PurchaseDetails
      type: object
      required:
        - orderId
        - merchantId
        - referenceOrderId
        - amount
        - surchargeAmount
        - refundedAmount
        - merchantName
        - transactionId
        - orderType
        - payType
        - status
        - createdAt
        - updatedAt
      properties:
        orderId:
          description: System unique identifier for the order.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        merchantId:
          description: System unique identifier for the merchant the order was created for.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The order amount including any surcharge passed on to the customer.
        surchargeAmount:
          description: >-
            The amount in minor currency units that was surcharged to the
            customer.
          type: integer
          format: int64
        refundedAmount:
          description: >-
            The amount in minor currency units that has been refunded to the
            customer.
          type: integer
          format: int64
        merchantName:
          description: Business name of the merchant the order is associated with.
          type: string
        transactionId:
          description: >-
            System unique identifier for the transaction representing this
            payment.
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        referenceTransactionId:
          description: A reference provided by the merchant to identify this transaction.
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType'
        payType:
          $ref: '#/components/schemas/PayType1'
        description:
          description: A free text description of the order.
          type: string
        orderMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata passed in when creating the order.
        status:
          $ref: '#/components/schemas/TransactionStatus'
          description: "\nThese are the statuses returned by the order payment API and the values displayed when merchant integrators retrieve (GET) a transaction via the API.\n\nNote: our dashboards in most cases map these statuses to different values, but only for display purposes.\n\n* **accepted**           - This payment was accepted by the customer but the payment method is asynchronous (e.g.: Direct Debit, Bank Transfer),\n                           so we have to wait for the final result before we move it to either **paid** or **failed**.\n* **paid**               - This payment is successful and funds have been collected.\n* **pending**            - This payment is successful, funds have been collected from the customer, but they are pending being transferred to the merchants balance.\n                           This status is currently only used by PayPlan's since we delay the transfer of funds into a merchants balance.\n* **refunded**           - A full refund has been initiated on this payment.\n* **partially_refunded** -\tA partial refund of the original payment amount has been initiated on this payment.\n* **failed**             -\tThe attempt to collect funds from the payment method was not successful.\n* **cancelled**          - This payment has been cancelled.\n* **disputed**           - At least one charge on the payment method has been disputed.\n* **not_captured**       - The payment method has been authorised but funds are not yet captured.\n* **incomplete**         -\tThis payment has not been completed by the customer. Currently, a transaction is only incomplete if 3DS authentication has not yet been completed.\n                           If the customer does not complete the authentication, the transaction will stay in this state.\n"
        refundIds:
          description: >-
            A list of refund system unique identifiers issued against this
            transaction.
          type: array
          items:
            examples:
              - rfnd_aZ-9U_KvllCPqGsr
            type: string
        disputeId:
          description: >-
            System unique identifier for a dispute raised against this
            transaction, if any.
          deprecated: true
          examples:
            - dispute_aZ-9UfKvllCPqGsg
          type: string
        disputeIds:
          description: >-
            System unique identifiers for any disputes raised against this
            transaction.
          type: array
          items:
            examples:
              - dispute_aZ-9UfKvllCPqGsg
            type: string
        paidOn:
          description: >-
            The day the payment was settled with the merchant. Only set after a
            successful payout.
          type: string
          format: date
        availableOn:
          description: The day this payment will be available for payout to the merchant.
          type: string
          format: date
        parentTransactionId:
          $ref: '#/components/schemas/ParentTransactionId'
          description: If linked to a another transaction, this can be set here.
        referenceIssuerTransactionId:
          description: >-
            If this transaction runs as a closed loop transaction, this will
            provide the corresponding IssuerTransactionId
          examples:
            - itxn_aZ-9U_KvllCPqGsv
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Purpose:
      title: Purpose
      description: >-
        Purpose of the payment. If not specified `retail` will be used by
        default
      type: string
      enum:
        - Mortgage
        - Utility
        - Loan
        - DependantSupport
        - Gambling
        - Retail
        - Salary
        - Personal
        - Government
        - Pension
        - Tax
        - Other
    Rail:
      title: Rail
      type: object
      required:
        - Rail
      properties:
        Rail:
          $ref: '#/components/schemas/Rail1'
    Rail1:
      title: Rail
      type: object
      required:
        - dbi
        - passengerName
        - departureDate
        - departureCity
        - destinationCity
        - railClass
      properties:
        dbi:
          $ref: '#/components/schemas/DescriptiveBillingInformation'
        passengerName:
          description: Passenger name between 1 and 45 alphanumeric characters long.
          type: string
        departureDate:
          description: Departure date.
          type: string
          format: date
        departureCity:
          description: Departure city between 1 and 13 alphanumeric characters long.
          type: string
        destinationCity:
          description: Destination city between 1 and 13 alphanumeric characters long.
          type: string
        railClass:
          $ref: '#/components/schemas/RailClass'
    RailClass:
      title: RailClass
      description: Rail class.
      oneOf:
        - $ref: '#/components/schemas/Business1'
        - $ref: '#/components/schemas/Economy1'
        - $ref: '#/components/schemas/First1'
        - $ref: '#/components/schemas/Other3'
    RandomPan:
      title: RandomPan
      type: object
    RedactedCardCreationDetailsDto:
      title: RedactedCardCreationDetailsDto
      type: object
      required:
        - digitalCreditCardId
        - redactedPan
        - brand
        - cardHolderName
        - validFrom
        - validTo
        - expiry
        - createdAt
        - creator
        - status
        - metadata
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        redactedPan:
          type: string
        brand:
          $ref: '#/components/schemas/CardBrand'
        cardHolderName:
          type: string
        emailAddress:
          type: string
        phoneNumber:
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        expiry:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The card limit for the card - the maximum amount that can be
            outstanding on the card at any time.
        availableBalance:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: For cards with a card limit, the current balance on the card.
        createdAt:
          description: Creation timestamp of the card
          type: string
          format: date-time
        creator:
          description: Creator of the card
          type: string
        status:
          $ref: '#/components/schemas/DerivedCardStatus'
          description: Status of the card
        usage:
          $ref: '#/components/schemas/CardUsage'
          description: Mode of use of the card - defaults to single use
        currencies:
          description: >-
            Currencies that the card is allowed to be used for; empty list means
            no restrictions
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
    RedactedCardDetails:
      title: RedactedCardDetails
      type: object
      required:
        - digitalCreditCardId
        - redactedPan
        - cardBrand
        - bin
        - last4
        - cardHolderName
        - validFrom
        - validTo
        - expiry
        - createdAt
        - creator
        - status
        - metadata
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        redactedPan:
          type: string
        cardBrand:
          $ref: '#/components/schemas/CardBrand'
        bin:
          type: string
        last4:
          type: string
        cardHolderName:
          type: string
        emailAddress:
          type: string
        phoneNumber:
          type: string
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        expiry:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: An amount in minor current units of a given currency.
        cardLimit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: An amount in minor current units of a given currency.
        availableBalance:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: An amount in minor current units of a given currency.
        createdAt:
          type: string
          format: date-time
        creator:
          type: string
        status:
          $ref: '#/components/schemas/DerivedCardStatus'
        usage:
          $ref: '#/components/schemas/CardUsage'
        currencies:
          type: array
          items:
            description: ISO 4217 3 Digits Currency code
            type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
    Refund:
      title: Refund
      type: object
      required:
        - refundId
        - amount
        - createdAt
      properties:
        refundId:
          description: System unique identifier for the refund.
          examples:
            - rfnd_aZ-9U_KvllCPqGsr
          type: string
        amount:
          description: How much was refunded **in minor currency units**.
          type: integer
          format: int64
        createdAt:
          description: When the refund was created.
          type: string
          format: date-time
    RefundResponse:
      title: RefundResponse
      type: object
      required:
        - refundId
        - transactionId
        - transactionAmount
        - orderId
        - referenceOrderId
        - amount
        - refundedAt
      properties:
        refundId:
          description: System unique identifier for the refund.
          examples:
            - rfnd_aZ-9U_KvllCPqGsr
          type: string
        transactionId:
          description: >-
            System unique identifier for the transaction representing this
            payment.
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        transactionAmount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: The full transaction amount.
        orderId:
          description: System unique identifier for the order.
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        referenceOrderId:
          description: >-
            A reference provided by the merchant to identify this order, such as
            an order number.
          examples:
            - ORD-12411
          type: string
        description:
          description: A free text description of the order.
          type: string
        orderMetadata:
          $ref: '#/components/schemas/JsonObject'
          description: Metadata passed in when creating the order.
        customerId:
          description: System unique identifier for the customer.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        customerEmailAddress:
          description: Email address of the customer.
          examples:
            - lucy.diamond@star.com
          type: string
        customerName:
          description: Full name of the customer.
          type: string
        customerPhoneNumber:
          description: Phone number of the customer.
          examples:
            - '+61401234567'
          type: string
        amount:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: The refunded amount **in minor currency units**
        payoutId:
          description: System unique identifier for the payout this refund was included in.
          examples:
            - payout_aZ-9UvKvllCPqGsl
          type: string
        settlementDate:
          description: When the payout this refund was included in will be settled.
          type: string
          format: date
        refundedAt:
          description: When the refund was issued.
          type: string
          format: date-time
        refundIssuedBy:
          description: Who issued the refund.
          type: string
    RegisterApplePayDetails:
      title: RegisterApplePayDetails
      type: object
      required:
        - RegisterApplePayDetails
      properties:
        RegisterApplePayDetails:
          $ref: '#/components/schemas/RegisterApplePayDetails1'
    RegisterApplePayDetails1:
      title: RegisterApplePayDetails
      description: >-
        Register a merchant and its corresponding set of fully qualified domains
        for ApplePay.
      type: object
      required:
        - domainNames
      properties:
        domainNames:
          description: >-
            A list of fully qualified domain names for which Apple Pay will
            process payments for this merchant. Items must be unique. The API is
            limited to 99 domain names per request.
          type: array
          minItems: 1
          items:
            type: string
    RemoveBlockOnCard:
      title: RemoveBlockOnCard
      type: object
      required:
        - RemoveBlockOnCard
      properties:
        RemoveBlockOnCard:
          $ref: '#/components/schemas/RemoveBlockOnCard1'
    RemoveBlockOnCard1:
      title: RemoveBlockOnCard
      description: Remove a block on a card.
      type: object
    RemoveSurchargeConfig:
      title: RemoveSurchargeConfig
      type: object
      required:
        - RemoveSurchargeConfig
      properties:
        RemoveSurchargeConfig:
          $ref: '#/components/schemas/RemoveSurchargeConfig1'
    RemoveSurchargeConfig1:
      title: RemoveSurchargeConfig
      description: >-
        Remove any surcharging rules currently applied to the merchant's
        payments.
      type: object
    ResultNotAvailableError:
      title: ResultNotAvailableError
      type: object
    ReverseFundsTransfer:
      title: ReverseFundsTransfer
      type: object
      required:
        - ReverseFundsTransfer
      properties:
        ReverseFundsTransfer:
          $ref: '#/components/schemas/ReverseFundsTransfer1'
    ReverseFundsTransfer1:
      title: ReverseFundsTransfer
      description: Reverse a transaction transfer back to the original sub-merchant.
      type: object
      required:
        - sourceMerchantId
        - reverseAmount
        - reverseLevy
      properties:
        sourceMerchantId:
          description: >-
            The merchant to reverse the funds from. Must be a sub-merchant that
            was previously transferred funds for this transaction.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        reverseAmount:
          description: The amount **in minor currency units** that needs reversing.
          type: integer
          format: int64
        reverseLevy:
          description: >-
            If `true`, the levy (fee) will be proportionally reversed for this
            transfer reversal.
          type: boolean
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            This can be used to associate any metadata to this transfer
            reversal.
    Role:
      title: Role
      type: string
      enum:
        - Executive
        - Owner
        - Director
    Rule:
      title: Rule
      type: object
      required:
        - criterion
        - action
      properties:
        criterion:
          $ref: '#/components/schemas/RuleCriterion'
        action:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/RuleAction'
    RuleAction:
      title: RuleAction
      oneOf:
        - $ref: '#/components/schemas/Allow'
        - $ref: '#/components/schemas/Disallow'
        - $ref: '#/components/schemas/ImposePlatformFee'
        - $ref: '#/components/schemas/SurchargeExplicitFee'
        - $ref: '#/components/schemas/SurchargePlatformFee'
        - $ref: '#/components/schemas/SurchargeScaledPlatformFee'
    RuleCriterion:
      title: RuleCriterion
      oneOf:
        - $ref: '#/components/schemas/Always'
        - $ref: '#/components/schemas/And'
        - $ref: '#/components/schemas/ForBinGroups'
        - $ref: '#/components/schemas/ForCardBrand'
        - $ref: '#/components/schemas/ForCardFunding'
        - $ref: '#/components/schemas/ForCardPrepaid'
        - $ref: '#/components/schemas/ForCurrency'
        - $ref: '#/components/schemas/ForCustomerType'
        - $ref: '#/components/schemas/ForIssueCountry'
        - $ref: '#/components/schemas/ForPayPlanVariant'
        - $ref: '#/components/schemas/ForPayType'
        - $ref: '#/components/schemas/ForPaymentMethodType'
        - $ref: '#/components/schemas/ForProductType'
        - $ref: '#/components/schemas/ForSchemeProduct'
        - $ref: '#/components/schemas/Not'
        - $ref: '#/components/schemas/Or'
    SavedCardToken:
      title: SavedCardToken
      type: object
      required:
        - SavedCardToken
      properties:
        SavedCardToken:
          $ref: '#/components/schemas/SavedCardToken1'
    SavedCardToken1:
      title: SavedCardToken
      description: '**DEPRECATED:** Use generalised case (`SavedPaymentSourceToken`) instead'
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - paymentSourceId
        - expiryDate
        - last4
        - brand
        - bin
        - funding
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        paymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        last4:
          type: string
        brand:
          $ref: '#/components/schemas/CardBranding1'
        bin:
          type: string
        funding:
          $ref: '#/components/schemas/CardFunding2'
        country:
          type: string
    SavedPaymentSource:
      title: SavedPaymentSource
      description: Payment method is via a saved payment source.
      type: object
      required:
        - paymentSourceId
      properties:
        paymentSourceId:
          description: The id of the saved payment source.
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
    SavedPaymentSource1:
      title: SavedPaymentSource
      type: object
      required:
        - SavedPaymentSource
      properties:
        SavedPaymentSource:
          $ref: '#/components/schemas/SavedPaymentSource2'
    SavedPaymentSource2:
      title: SavedPaymentSource
      description: Payment method is via a saved payment source.
      type: object
      required:
        - paymentSourceId
      properties:
        paymentSourceId:
          description: The id of the saved payment source.
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
    SavedPaymentSource3:
      title: SavedPaymentSource
      type: object
      required:
        - paymentSourceId
      properties:
        paymentSourceId:
          description: >-
            System unique identifier for the initial payment method used for the
            pay plan.
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        cvc:
          description: Optional CVC.
          type: string
    SavedPaymentSourceMethodResp:
      title: SavedPaymentSourceMethodResp
      oneOf:
        - $ref: '#/components/schemas/CardMethodResp'
        - $ref: '#/components/schemas/DirectDebitMethodResp'
        - $ref: '#/components/schemas/PayToMethodResp'
    SavedPaymentSourceToken:
      title: SavedPaymentSourceToken
      type: object
      required:
        - SavedPaymentSourceToken
      properties:
        SavedPaymentSourceToken:
          $ref: '#/components/schemas/SavedPaymentSourceToken1'
    SavedPaymentSourceToken1:
      title: SavedPaymentSourceToken
      type: object
      required:
        - paymentTokenId
        - amount
        - surchargeAmount
        - paymentSourceId
        - savedPaymentSource
      properties:
        paymentTokenId:
          examples:
            - ptkn_aZ-9VPKvllCPqGs0
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        surchargeAmount:
          type: integer
          format: int64
        paymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
        savedPaymentSource:
          $ref: '#/components/schemas/TokenSavedPaymentSource'
    ScheduleEntry:
      title: ScheduleEntry
      type: object
      required:
        - at
        - amount
      properties:
        at:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
    SchemeProduct:
      title: SchemeProduct
      type: string
      enum:
        - AC000
        - ACMCW
        - ACMCY
        - ACMNW
        - AS000
        - AX000
        - BC000
        - BCVIY
        - DC000
        - DCCC0
        - DCCDI
        - DCCPE
        - DCDC0
        - DCDPE
        - DE000
        - DECOM
        - DM000
        - DMCOM
        - DMMCY
        - EFTP1
        - EFTP2
        - JC000
        - JCCC0
        - JCCDI
        - JCCPE
        - JCDC0
        - JCDPE
        - KF000
        - LS000
        - OD000
        - PE000
        - PECRE
        - PEVIY
        - PM000
        - PMCOM
        - PMDOM
        - PMINC
        - PMINP
        - SC000
        - SE000
        - VP002
        - VPMCB
        - VPMCF
        - VPMCO
        - VPMCP
        - VPMCX
        - VPVIB
        - VPVID
        - VPVIR
        - VPVIS
        - VPVIX
        - UATP0
    SendAgreementRequest:
      title: SendAgreementRequest
      type: object
      required:
        - customerName
        - customerAccIdentifier
        - terms
      properties:
        customerName:
          description: Name associated to the account to be charged
          type: string
        customerAccIdentifier:
          $ref: '#/components/schemas/AccountIdentifier'
        terms:
          $ref: '#/components/schemas/AgreementRequestTerms'
        purpose:
          $ref: '#/components/schemas/Purpose'
    SendAgreementResponse:
      title: SendAgreementResponse
      type: object
      required:
        - token
      properties:
        token:
          type: string
    ServiceFees:
      title: ServiceFees
      description: '**Restricted field** - only included if caller has access.'
      type: object
      required:
        - variableAmount
        - fixedAmount
        - taxAmount
        - totalAmount
      properties:
        variableAmount:
          type: integer
          format: int64
        fixedAmount:
          type: integer
          format: int64
        taxAmount:
          type: integer
          format: int64
        totalAmount:
          type: integer
          format: int64
    ServiceProviderMerchant:
      title: ServiceProviderMerchant
      type: object
      required:
        - ServiceProviderMerchant
      properties:
        ServiceProviderMerchant:
          $ref: '#/components/schemas/ServiceProviderMerchant1'
    ServiceProviderMerchant1:
      title: ServiceProviderMerchant
      type: object
      required:
        - merchantId
        - businessProfile
        - readableIdentifier
        - status
        - payPlanSettings
        - publicToken
        - createdAt
        - updatedAt
      properties:
        merchantId:
          description: System unique identifier for a merchant
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        marketplaceId:
          description: >-
            For sub-merchants, this is the system unique identifier for the
            marketplace they are a member of.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        businessProfile:
          $ref: '#/components/schemas/BusinessProfile'
        referenceMerchantId:
          description: A unique string for this merchant, such as your primary key.
          type: string
        readableIdentifier:
          description: >-
            Unique URL used for dashboards. Must be 4-255 characters, lowercase,
            alphanumeric without any special characters such as ! @ # & ( ) – [
            ] : ; ‘, ? /.
          type: string
        status:
          $ref: '#/components/schemas/MerchantDashboardStatus'
        payoutDetails:
          description: '**Restricted field** - only included if caller has access.'
          type: object
          required:
            - payoutSettings
            - payoutSchedule
            - payoutDelayDays
            - payoutExpediteNonBusinessDays
            - automatedPayoutsEnabled
            - automatedDisbursementsEnabled
            - payoutStatus
          properties:
            payoutSettings:
              $ref: '#/components/schemas/PayoutSettings'
            payoutSchedule:
              description: >-
                Frequency of payouts to the merchant. One of 'daily', 'weekly'
                or 'monthly'.
              type: string
            payoutDelayDays:
              description: >-
                Number of business days between payment completion and
                settlement.
              type: integer
              format: int32
            payoutExpediteNonBusinessDays:
              description: >-
                If true, non business days are included in payouts for the
                previous business day. Otherwise include them in payouts for the
                next business day.
              type: boolean
            dayOfWeek:
              $ref: '#/components/schemas/DayOfWeek'
              description: >-
                For weekly and fortnightly payouts, the day of week the payout
                is created.
            dayOfMonth:
              description: For monthly payouts, the day of the month the payout is created.
              type: integer
              format: int32
            automatedPayoutsEnabled:
              description: >-
                If true, any available balance is automatically paid out to the
                merchant according to the payout schedule. If false, payouts are
                manually initiated by the merchant.
              type: boolean
            automatedDisbursementsEnabled:
              description: >-
                If true, payouts with be disbursed by the system. If false,
                payouts will not disbursed by the system, with the assumption
                they will be done manually.
              type: boolean
            payoutStatus:
              $ref: '#/components/schemas/MerchantPayoutStatus'
              description: Whether payouts are enabled for this merchant.
        billingDetails:
          description: '**Restricted field** - only included if caller has access.'
          type: object
          required:
            - billingNotificationsEnabled
            - billingAddress
          properties:
            billingNotificationEmails:
              description: >-
                List of email addresses that will receive an invoice whenever a
                billing invoice has been generated for a gross settlement
                merchant.
              type: array
              items:
                examples:
                  - lucy.diamond@star.com
                type: string
            billingNotificationsEnabled:
              description: >-
                Toggle for whether to send invoice emails. Note even if `false`,
                late payment reminders will still be sent.
              type: boolean
            billingAddress:
              $ref: '#/components/schemas/BusinessAddress'
              description: >-
                Billing address for the merchant as it will appear on fee
                invoices for gross settlement merchants.
            billingPaymentSourceId:
              description: >-
                The system identifier for the primary payment source used for
                paying for April fee related invoices.
              examples:
                - psrc_aZ-9UfKvllCPqGsf
              type: string
        bankAccounts:
          description: >-
            List of bank accounts associated with this merchant. Payouts are
            paid into the primary bank account for each currency.
          type: array
          items:
            $ref: '#/components/schemas/BankAccountDetails'
        bankAccountVerificationResult:
          $ref: '#/components/schemas/AccountVerificationResponseDto'
        payPlanSettings:
          $ref: '#/components/schemas/PayPlanSettings'
        publicToken:
          description: >-
            Your public or publishable API Key is used for all outgoing
            communications from the frontend of your website and checkout page.
          type: string
        sourceRules:
          description: >-
            The rules that configure payment sources for the merchant. Rules
            include surcharging, platform fee (FUTURE), etc.
          type: array
          items:
            $ref: '#/components/schemas/Rule'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Marketplace specific additional data associated with this merchant.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    SetMerchantBillingPaymentSource:
      title: SetMerchantBillingPaymentSource
      type: object
      required:
        - SetMerchantBillingPaymentSource
      properties:
        SetMerchantBillingPaymentSource:
          $ref: '#/components/schemas/SetMerchantBillingPaymentSource1'
    SetMerchantBillingPaymentSource1:
      title: SetMerchantBillingPaymentSource
      description: >-
        Update the billing payment source for a merchant. The billing payments
        source is used for automated settlement of fees for gross settlement
        merchants.
      type: object
      properties:
        paymentSourceId:
          examples:
            - psrc_aZ-9UfKvllCPqGsf
          type: string
    SetMerchantPrimaryBankAccount:
      title: SetMerchantPrimaryBankAccount
      type: object
      required:
        - SetMerchantPrimaryBankAccount
      properties:
        SetMerchantPrimaryBankAccount:
          $ref: '#/components/schemas/SetMerchantPrimaryBankAccount1'
    SetMerchantPrimaryBankAccount1:
      title: SetMerchantPrimaryBankAccount
      description: >-
        Update the primary bank account for a merchant. The primary bank account
        is where payouts are deposited into.
      type: object
      required:
        - accountId
      properties:
        accountId:
          examples:
            - xacc_aZ-9U_KvllCPqGst
          type: string
    SetSurchargeConfig:
      title: SetSurchargeConfig
      type: object
      required:
        - SetSurchargeConfig
      properties:
        SetSurchargeConfig:
          $ref: '#/components/schemas/SetSurchargeConfig1'
    SetSurchargeConfig1:
      title: SetSurchargeConfig
      description: Set the surcharging rules to be applied to the merchant's payments.
      type: object
      required:
        - fallback
      properties:
        surchargeRules:
          description: >-
            A list of surcharge conditions to be applied; specify empty array to
            disable surcharging.
          type: array
          items:
            $ref: '#/components/schemas/SurchargeRule'
        fallback:
          $ref: '#/components/schemas/SurchargeBy'
          description: >-
            Fallback surcharge rule that is used if none of `surchargeRules`
            rules applies; specify fixedAmount = 0 and variablePercentage = 0 to
            disable surcharging.
    SettlementConfiguration:
      title: SettlementConfiguration
      type: string
      enum:
        - default
        - standard
        - realtime_preferred
        - realtime_required
    SettlementCsvColumn:
      title: SettlementCsvColumn
      type: string
      enum:
        - CardHolderName
        - CardNumber
        - EntryDate
        - EntryTimestamp
        - EntryType
        - EntryDescription
        - SettlementDate
        - TransactionType
        - OrderType
        - OrderId
        - OrderDescription
        - MerchantOrderId
        - MerchantId
        - MerchantName
        - BillingCategory
        - TransactionId
        - TransactionAmount
        - RefundId
        - PayoutId
        - ReferencePayoutId
        - Currency
        - NetAmount
        - GrossAmount
        - PlatformFeesInclTax
        - PlatformFeesTax
    SettlementReport:
      title: SettlementReport
      type: object
      required:
        - currency
        - totalPages
        - totalRecords
        - platformFeesInclTax
        - platformFeesTax
        - netAmount
        - grossAmount
        - created
      properties:
        currency:
          description: ISO 4217 3 Digits Currency code
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/SettlementReportEntry'
        totalPages:
          type: integer
          format: int64
        totalRecords:
          type: integer
          format: int64
        platformFeesInclTax:
          type: integer
          format: int64
        platformFeesTax:
          type: integer
          format: int64
        netAmount:
          type: integer
          format: int64
        grossAmount:
          type: integer
          format: int64
        payoutSummary:
          $ref: '#/components/schemas/PayoutSummary1'
        created:
          type: string
          format: date-time
    SettlementReportEntry:
      title: SettlementReportEntry
      type: object
      required:
        - entryDate
        - entryTimestamp
        - entryType
        - merchantId
        - merchantName
        - currency
        - netAmount
        - grossAmount
        - platformFeesInclTax
        - platformFeesTax
        - customFieldValues
      properties:
        cardHolderName:
          type: string
        cardNumber:
          type: string
        entryDate:
          type: string
          format: date
        entryTimestamp:
          type: string
          format: date-time
        entryType:
          $ref: '#/components/schemas/EntryType'
        entryDescription:
          type: string
        settlementDate:
          type: string
          format: date
        transactionType:
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType1'
        orderId:
          type: string
        orderDescription:
          type: string
        orderMetadata:
          $ref: '#/components/schemas/JsonObject'
        merchantOrderId:
          examples:
            - ordr_aZ-9UfKvllCPqGsd
          type: string
        merchantId:
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        merchantName:
          type: string
        transactionId:
          examples:
            - tran_aZ-9UfKvllCPqGsc
          type: string
        transactionAmount:
          type: integer
          format: int64
        billingCategory:
          type: string
        refundId:
          examples:
            - rfnd_aZ-9U_KvllCPqGsr
          type: string
        payoutId:
          examples:
            - payout_aZ-9UvKvllCPqGsl
          type: string
        referencePayoutId:
          type: string
        currency:
          description: ISO 4217 3 Digits Currency code
          type: string
        netAmount:
          type: integer
          format: int64
        grossAmount:
          type: integer
          format: int64
        platformFeesInclTax:
          type: integer
          format: int64
        platformFeesTax:
          type: integer
          format: int64
        customFieldValues:
          $ref: '#/components/schemas/Map_V'
    SettlementType:
      title: SettlementType
      type: string
      enum:
        - Net
        - Gross
    SgBankAccountIdentifier:
      title: SgBankAccountIdentifier
      type: object
      required:
        - SgBankAccountIdentifier
      properties:
        SgBankAccountIdentifier:
          $ref: '#/components/schemas/SgBankAccountIdentifier1'
    SgBankAccountIdentifier1:
      title: SgBankAccountIdentifier
      type: object
      required:
        - accountNumber
      properties:
        accountNumber:
          description: Account number, 9-12 digits.
          type: string
    Shipping:
      title: Shipping
      type: object
      required:
        - address
        - name
      properties:
        amount:
          description: Cost of the shipping in minor currency units
          type: integer
          format: int64
        address:
          $ref: '#/components/schemas/Address'
        carrier:
          description: Name of the carrier delivering the order
          type: string
        name:
          description: Name of the recipient of the order
          type: string
        phoneNumber:
          description: Phone number of the recipient of the order
          type: string
        trackingNumber:
          description: Carrier specific tracking number for the shipment.
          type: string
    SignInConsumer:
      title: SignInConsumer
      type: object
      required:
        - SignInConsumer
      properties:
        SignInConsumer:
          $ref: '#/components/schemas/SignInConsumer1'
    SignInConsumer1:
      title: SignInConsumer
      description: Sign in on behalf of a B2C consumer customer.
      type: object
      required:
        - customerId
      properties:
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
    SignInDelegate:
      title: SignInDelegate
      type: object
      required:
        - SignInDelegate
      properties:
        SignInDelegate:
          $ref: '#/components/schemas/SignInDelegate1'
    SignInDelegate1:
      title: SignInDelegate
      description: >-
        Sign in on behalf of a B2B customer delegate using a customer identify
        to target the customer.
      type: object
      required:
        - customerId
        - delegateEmailAddress
      properties:
        customerId:
          description: System unique identifier for the customer
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        delegateEmailAddress:
          description: Email address of the customer delegate.
          examples:
            - lucy.diamond@star.com
          type: string
        delegatePhoneNumber:
          description: >-
            Phone number of the customer delegate. Only required if updating the
            phone number associated with the delegate.
          examples:
            - '+61401234567'
          type: string
        delegateName:
          description: >-
            Name of the customer delegate. Only required if updating the name
            associated with the delegate.
          type: string
        delegatePosition:
          description: >-
            Position of the customer delegate within the business. Only required
            if updating the position associated with the delegate.
          type: string
    SignInDelegateByReferenceId:
      title: SignInDelegateByReferenceId
      type: object
      required:
        - SignInDelegateByReferenceId
      properties:
        SignInDelegateByReferenceId:
          $ref: '#/components/schemas/SignInDelegateByReferenceId1'
    SignInDelegateByReferenceId1:
      title: SignInDelegateByReferenceId
      description: >-
        Sign in on behalf of a B2B customer delegate using a reference customer
        identifier to target the customer.
      type: object
      required:
        - referenceCustomerId
        - delegateEmailAddress
      properties:
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. Must
            be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        delegateEmailAddress:
          description: Email address of the customer delegate.
          examples:
            - lucy.diamond@star.com
          type: string
        delegatePhoneNumber:
          description: >-
            Phone number of the customer delegate. Only required if updating the
            phone number associated with the delegate.
          examples:
            - '+61401234567'
          type: string
        delegateName:
          description: >-
            Name of the customer delegate. Only required if updating the name
            associated with the delegate.
          type: string
        delegatePosition:
          description: >-
            Position of the customer delegate within the business. Only required
            if updating the position associated with the delegate.
          type: string
    SignInOnBehalfOfCustomerRequest:
      title: SignInOnBehalfOfCustomerRequest
      oneOf:
        - $ref: '#/components/schemas/SignInConsumer'
        - $ref: '#/components/schemas/SignInDelegate'
        - $ref: '#/components/schemas/SignInDelegateByReferenceId'
    SimulateBankTransfer:
      title: SimulateBankTransfer
      type: object
      required:
        - SimulateBankTransfer
      properties:
        SimulateBankTransfer:
          $ref: '#/components/schemas/SimulateBankTransfer1'
    SimulateBankTransfer1:
      title: SimulateBankTransfer
      description: Simulate the successful initiation of a bank transfer.
      type: object
      required:
        - method
        - amount
        - description
        - reference
      properties:
        method:
          $ref: '#/components/schemas/SimulateBankTransferMethod'
        amount:
          type: integer
          format: int64
        description:
          type: string
        reference:
          type: string
    SimulateBankTransferDeMethod:
      title: SimulateBankTransferDeMethod
      type: object
      required:
        - SimulateBankTransferDeMethod
      properties:
        SimulateBankTransferDeMethod:
          $ref: '#/components/schemas/SimulateBankTransferDeMethod1'
    SimulateBankTransferDeMethod1:
      title: SimulateBankTransferDeMethod
      type: object
      required:
        - toBsb
        - toAccountNumber
      properties:
        toBsb:
          type: string
        toAccountNumber:
          type: string
    SimulateBankTransferMethod:
      title: SimulateBankTransferMethod
      oneOf:
        - $ref: '#/components/schemas/SimulateBankTransferDeMethod'
        - $ref: '#/components/schemas/SimulateBankTransferPayIdMethod'
    SimulateBankTransferPayIdMethod:
      title: SimulateBankTransferPayIdMethod
      type: object
      required:
        - SimulateBankTransferPayIdMethod
      properties:
        SimulateBankTransferPayIdMethod:
          $ref: '#/components/schemas/SimulateBankTransferPayIdMethod1'
    SimulateBankTransferPayIdMethod1:
      title: SimulateBankTransferPayIdMethod
      type: object
      required:
        - payIdEmail
      properties:
        payIdEmail:
          type: string
    SimulateEmlAuthorisation:
      title: SimulateEmlAuthorisation
      type: object
      required:
        - SimulateEmlAuthorisation
      properties:
        SimulateEmlAuthorisation:
          $ref: '#/components/schemas/SimulateEmlAuthorisation1'
    SimulateEmlAuthorisation1:
      title: SimulateEmlAuthorisation
      description: Simulate an authorisation request from MasterCard via EML.
      type: object
      required:
        - amount
        - externalAccountId
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        externalAccountId:
          type: string
    SimulateEmlClearing:
      title: SimulateEmlClearing
      type: object
      required:
        - SimulateEmlClearing
      properties:
        SimulateEmlClearing:
          $ref: '#/components/schemas/SimulateEmlClearing1'
    SimulateEmlClearing1:
      title: SimulateEmlClearing
      description: Simulate a clearing request from MasterCard via EML.
      type: object
      required:
        - amount
        - externalAccountId
        - authorisationId
      properties:
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
        externalAccountId:
          type: string
        authorisationId:
          type: string
    SimulateEmlRefund:
      title: SimulateEmlRefund
      type: object
      required:
        - SimulateEmlRefund
      properties:
        SimulateEmlRefund:
          $ref: '#/components/schemas/SimulateEmlRefund1'
    SimulateEmlRefund1:
      title: SimulateEmlRefund
      description: Simulate a refund request from MasterCard via EML.
      type: object
      required:
        - digitalCreditCardId
        - amount
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        amount:
          $ref: '#/components/schemas/CurrencyAmount'
          description: An amount in minor current units of a given currency.
    SimulatePayPlanEstablished:
      title: SimulatePayPlanEstablished
      type: object
      required:
        - SimulatePayPlanEstablished
      properties:
        SimulatePayPlanEstablished:
          $ref: '#/components/schemas/SimulatePayPlanEstablished1'
    SimulatePayPlanEstablished1:
      title: SimulatePayPlanEstablished
      description: >-
        Trigger an active pay plan to be established allocating the funds to the
        merchant and marking the transaction as paid.
      type: object
      required:
        - payPlanId
      properties:
        payPlanId:
          examples:
            - plan_aZ-9UfKvllCPqGsb
          type: string
    SimulatePayPlanInstalment:
      title: SimulatePayPlanInstalment
      type: object
      required:
        - SimulatePayPlanInstalment
      properties:
        SimulatePayPlanInstalment:
          $ref: '#/components/schemas/SimulatePayPlanInstalment1'
    SimulatePayPlanInstalment1:
      title: SimulatePayPlanInstalment
      description: Trigger an active pay plan to attempt the next instalment payment.
      type: object
      required:
        - payPlanId
      properties:
        payPlanId:
          examples:
            - plan_aZ-9UfKvllCPqGsb
          type: string
    SimulationRequest:
      title: SimulationRequest
      oneOf:
        - $ref: '#/components/schemas/EmailRecord'
        - $ref: '#/components/schemas/HandleEmlQueuedWebhookEventsNow'
        - $ref: '#/components/schemas/SimulateBankTransfer'
        - $ref: '#/components/schemas/SimulateEmlAuthorisation'
        - $ref: '#/components/schemas/SimulateEmlClearing'
        - $ref: '#/components/schemas/SimulateEmlRefund'
        - $ref: '#/components/schemas/SimulatePayPlanEstablished'
        - $ref: '#/components/schemas/SimulatePayPlanInstalment'
    SimulationResponse:
      title: SimulationResponse
      oneOf:
        - $ref: '#/components/schemas/EmailRecord'
        - $ref: '#/components/schemas/EmlInvokeClearingOutcome'
        - $ref: '#/components/schemas/EmlInvokeControlpayOutcome'
        - $ref: '#/components/schemas/GeneralJsonOutcome'
        - $ref: '#/components/schemas/NothingToReport'
    SourceUsageScope:
      title: SourceUsageScope
      description: >-
        Used in the context of a B2B organisation. Whether the saved payment
        source is available to all delegates of the organisation represented by
        this customer or only to the delegate user who added the card.
      type: string
      enum:
        - ScopeOrganisation
        - ScopeDelegate
    Spec:
      title: Spec
      oneOf:
        - $ref: '#/components/schemas/TradingAccountProductSpec'
    SppUatpCardProduct:
      title: SppUatpCardProduct
      type: string
      enum:
        - TestCard
        - Travel
        - TravelTrade
    StandardMarketplace:
      title: StandardMarketplace
      type: object
      required:
        - marketplaceId
        - readableIdentifier
        - businessName
        - website
        - companyEmail
        - companyPhone
        - merchantDashboardAccessEnabled
        - marketplaceCustomerUsersEnabled
      properties:
        marketplaceId:
          description: System unique identifier for a marketplace.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        readableIdentifier:
          description: >-
            Unique URL used for dashboards. Must be 4-255 characters, lowercase,
            alphanumeric without any special characters such as ! @ # & ( ) – [
            ] : ; ‘, ? /.
          type: string
        businessName:
          description: Business name (as linked to ABN/ACN).
          type: string
        website:
          description: Company website.
          type: string
        companyEmail:
          description: Company email address.
          examples:
            - lucy.diamond@star.com
          type: string
        companyPhone:
          description: Company phone number.
          examples:
            - '+61401234567'
          type: string
        merchantDashboardAccessEnabled:
          description: >-
            Indicates whether marketplace merchants are able to access the
            merchant dashboard.
          type: boolean
        marketplaceCustomerUsersEnabled:
          description: >-
            Indicates whether the marketplace supports marketplace-level
            customers.
          type: boolean
        bankTransfersDetails:
          $ref: '#/components/schemas/BankTransfersDetails'
        sourceRules:
          description: >-
            The rules that configure payment sources for the marketplace. Rules
            include surcharging, platform fee (FUTURE), etc.
          type: array
          items:
            $ref: '#/components/schemas/Rule'
    StandardMerchant:
      title: StandardMerchant
      type: object
      required:
        - StandardMerchant
      properties:
        StandardMerchant:
          $ref: '#/components/schemas/StandardMerchant1'
    StandardMerchant1:
      title: StandardMerchant
      type: object
      required:
        - merchantId
        - businessProfile
        - readableIdentifier
        - status
        - branding
        - orderNotificationSettings
        - payPlanSettings
        - publicToken
        - createdAt
        - updatedAt
      properties:
        merchantId:
          description: System unique identifier for a merchant
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        marketplaceId:
          description: >-
            For sub-merchants, this is the system unique identifier for the
            marketplace they are a member of.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        businessProfile:
          $ref: '#/components/schemas/BusinessProfile'
        referenceMerchantId:
          description: A unique string for this merchant, such as your primary key.
          type: string
        readableIdentifier:
          description: >-
            Unique URL used for dashboards. Must be 4-255 characters, lowercase,
            alphanumeric without any special characters such as ! @ # & ( ) – [
            ] : ; ‘, ? /.
          type: string
        status:
          $ref: '#/components/schemas/MerchantDashboardStatus'
        verificationResult:
          description: >-
            Provides a detailed picture of the onboarding process for this
            merchant.
          type: object
          required:
            - status
          properties:
            status:
              $ref: '#/components/schemas/VerificationStatus'
            errorCodes:
              type: array
              items:
                $ref: '#/components/schemas/OnboardingErrorCode'
            details:
              type: array
              items:
                type: string
        bankAccountVerificationResult:
          $ref: '#/components/schemas/AccountVerificationResponseDto'
        payoutDetails:
          description: '**Restricted field** - only included if caller has access.'
          type: object
          required:
            - payoutSettings
            - payoutSchedule
            - payoutDelayDays
            - payoutExpediteNonBusinessDays
            - automatedPayoutsEnabled
            - automatedDisbursementsEnabled
            - payoutStatus
          properties:
            payoutSettings:
              $ref: '#/components/schemas/PayoutSettings'
            payoutSchedule:
              description: >-
                Frequency of payouts to the merchant. One of 'daily', 'weekly'
                or 'monthly'.
              type: string
            payoutDelayDays:
              description: >-
                Number of business days between payment completion and
                settlement.
              type: integer
              format: int32
            payoutExpediteNonBusinessDays:
              description: >-
                If true, non business days are included in payouts for the
                previous business day. Otherwise include them in payouts for the
                next business day.
              type: boolean
            dayOfWeek:
              $ref: '#/components/schemas/DayOfWeek'
              description: >-
                For weekly and fortnightly payouts, the day of week the payout
                is created.
            dayOfMonth:
              description: For monthly payouts, the day of the month the payout is created.
              type: integer
              format: int32
            automatedPayoutsEnabled:
              description: >-
                If true, any available balance is automatically paid out to the
                merchant according to the payout schedule. If false, payouts are
                manually initiated by the merchant.
              type: boolean
            automatedDisbursementsEnabled:
              description: >-
                If true, payouts with be disbursed by the system. If false,
                payouts will not disbursed by the system, with the assumption
                they will be done manually.
              type: boolean
            payoutStatus:
              $ref: '#/components/schemas/MerchantPayoutStatus'
              description: Whether payouts are enabled for this merchant.
        billingDetails:
          description: '**Restricted field** - only included if caller has access.'
          type: object
          required:
            - billingNotificationsEnabled
            - billingAddress
          properties:
            billingNotificationEmails:
              description: >-
                List of email addresses that will receive an invoice whenever a
                billing invoice has been generated for a gross settlement
                merchant.
              type: array
              items:
                examples:
                  - lucy.diamond@star.com
                type: string
            billingNotificationsEnabled:
              description: >-
                Toggle for whether to send invoice emails. Note even if `false`,
                late payment reminders will still be sent.
              type: boolean
            billingAddress:
              $ref: '#/components/schemas/BusinessAddress'
              description: >-
                Billing address for the merchant as it will appear on fee
                invoices for gross settlement merchants.
            billingPaymentSourceId:
              description: >-
                The system identifier for the primary payment source used for
                paying for April fee related invoices.
              examples:
                - psrc_aZ-9UfKvllCPqGsf
              type: string
        bankAccounts:
          description: >-
            List of bank accounts associated with this merchant. Payouts are
            paid into the primary bank account for each currency.
          type: array
          items:
            $ref: '#/components/schemas/BankAccountDetails'
        branding:
          $ref: '#/components/schemas/MerchantBranding'
        orderNotificationSettings:
          $ref: '#/components/schemas/OrderNotificationSettings'
        orderCustomFields:
          type: array
          items:
            $ref: '#/components/schemas/OrderCustomField'
        payPlanSettings:
          $ref: '#/components/schemas/PayPlanSettings'
        publicToken:
          description: >-
            Your public or publishable API Key is used for all outgoing
            communications from the frontend of your website and checkout page.
          type: string
        sourceRules:
          description: >-
            The rules that configure payment sources for the merchant. Rules
            include surcharging, platform fee (FUTURE), etc.
          type: array
          items:
            $ref: '#/components/schemas/Rule'
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: Marketplace specific additional data associated with this merchant.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    StatementFrequency:
      title: StatementFrequency
      description: How often to issue a customer loan statement.
      oneOf:
        - $ref: '#/components/schemas/Daily'
        - $ref: '#/components/schemas/Fortnightly'
        - $ref: '#/components/schemas/Monthly'
        - $ref: '#/components/schemas/Weekly'
    Status:
      title: Status
      type: string
      enum:
        - enabled
        - disabled
    Status1:
      title: Status
      description: Status of the repayment of this loan statement.
      type: string
      enum:
        - draft
        - outstanding
        - due
        - overdue
        - paid
        - cancelled
    Strata:
      title: Strata
      type: object
      required:
        - buildingIdentifier
        - buildingAddress
      properties:
        buildingIdentifier:
          type: string
        buildingAddress:
          $ref: '#/components/schemas/ComponentisedAddress'
    SuperAdmin:
      title: SuperAdmin
      type: object
      required:
        - SuperAdmin
      properties:
        SuperAdmin:
          $ref: '#/components/schemas/SuperAdmin1'
    SuperAdmin1:
      title: SuperAdmin
      description: >-
        A super admin has view access to all loans and admin access to all cards
        associated with the customer, along with the ability to manager roles of
        other delegates.
      type: object
    SupplierDetails:
      title: SupplierDetails
      type: object
      properties:
        name:
          description: Business name of the supplier the transaction is associated with.
          type: string
        iataNumber:
          description: IATA 8-Digit Numeric Code for the agency.
          type: string
    Surcharge:
      title: Surcharge
      description: Surcharge details, if applicable for this order.
      type: object
      required:
        - surchargeOptions
      properties:
        surchargeOptions:
          $ref: '#/components/schemas/Map_V'
          description: >-
            The surcharge amount applicable based on payment type **in minor
            currency units**.
        surchargePaidAmount:
          description: >-
            The surcharge amount applied to this order **in minor currency
            units**. Can be `null` if the order has not yet been paid for.
          type: integer
          format: int64
    SurchargeBy:
      title: SurchargeBy
      type: object
      required:
        - fixedAmount
        - variablePercentage
      properties:
        fixedAmount:
          description: >-
            The fixed amount in minor currency units (e.g. cents for AUD) to be
            surcharged for every transaction.
          type: integer
          format: int64
        variablePercentage:
          description: >-
            The variable rate (as percentage) to be surcharged for every
            transaction, eg 2.5 for 2.5%.
          type: number
    SurchargeExplicitFee:
      title: SurchargeExplicitFee
      type: object
      required:
        - fixed
        - rate
      properties:
        fixed:
          type: integer
          format: int64
        rate:
          type: number
    SurchargeFor:
      title: SurchargeFor
      oneOf:
        - $ref: '#/components/schemas/SurchargeForCardBrands'
    SurchargeForCardBrands:
      title: SurchargeForCardBrands
      type: object
      required:
        - SurchargeForCardBrands
      properties:
        SurchargeForCardBrands:
          $ref: '#/components/schemas/SurchargeForCardBrands1'
    SurchargeForCardBrands1:
      title: SurchargeForCardBrands
      type: object
      required:
        - cardBrand
      properties:
        cardBrand:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/CardBrand'
    SurchargePlatformFee:
      title: SurchargePlatformFee
      type: object
    SurchargeQuote:
      title: SurchargeQuote
      type: object
      required:
        - unsurchargedAmount
        - surchargeAmount
        - totalAmount
        - paymentMethod
        - summary
        - quoteVerificationToken
      properties:
        unsurchargedAmount:
          description: >-
            Describes the surcharging quote resulting from a backend calculation
            based on configured rates. The amount prior to surcharging, in minor
            currency units (e.g. cents for AUD).
          type: integer
          format: int64
        surchargeAmount:
          description: >-
            The amount of the surcharge, in minor currency units (e.g. cents for
            AUD).
          type: integer
          format: int64
        totalAmount:
          description: >-
            The total amount including the surcharge, in minor currency units
            (e.g. cents for AUD).
          type: integer
          format: int64
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethod'
        summary:
          description: >-
            A free-form text description of the surcharge (eg '1% + $0.30 for
            Visa').
          type: string
        quoteVerificationToken:
          description: Verification token for the surcharge quote.
          type: string
    SurchargeQuoted:
      title: SurchargeQuoted
      type: object
      required:
        - surchargeQuote
      properties:
        surchargeQuote:
          $ref: '#/components/schemas/SurchargeQuote'
          description: >-
            The caller passes a quote that has previously been received by the
            surcharge calculation endpoint.
    SurchargeQuoted1:
      title: SurchargeQuoted
      type: object
      required:
        - SurchargeQuoted
      properties:
        SurchargeQuoted:
          $ref: '#/components/schemas/SurchargeQuoted'
    SurchargeRequirement:
      title: SurchargeRequirement
      description: >-
        Specifies the options for surcharging, if required, defaults to no
        surcharge.
      oneOf:
        - $ref: '#/components/schemas/SurchargeQuoted'
        - $ref: '#/components/schemas/SurchargeSpecified'
    SurchargeRule:
      title: SurchargeRule
      type: object
      required:
        - surchargeFor
        - surchargeBy
      properties:
        surchargeFor:
          $ref: '#/components/schemas/SurchargeFor'
        surchargeBy:
          $ref: '#/components/schemas/SurchargeBy'
          description: The surcharging formula, where surcharge = rate * amount + fixed.
    SurchargeScaledPlatformFee:
      title: SurchargeScaledPlatformFee
      type: object
      required:
        - multiplier
      properties:
        multiplier:
          type: number
    SurchargeSpecified:
      title: SurchargeSpecified
      type: object
      required:
        - surchargeAmount
      properties:
        surchargeAmount:
          description: >-
            The caller specifies the surcharge that will be applied; this option
            is only available to API-authenticated calls. The amount in minor
            currency units (e.g. cents for AUD). There are no bounds on the
            value - even negative values can be passed, although they will
            result in a *discount* to the end customer.
          type: integer
          format: int64
    SurchargeSpecified1:
      title: SurchargeSpecified
      type: object
      required:
        - SurchargeSpecified
      properties:
        SurchargeSpecified:
          $ref: '#/components/schemas/SurchargeSpecified'
    TemplateDto:
      title: TemplateDto
      type: object
      required:
        - name
        - params
      properties:
        name:
          type: string
        params:
          type: string
    ThreeDSAuthorisationRequired:
      title: ThreeDSAuthorisationRequired
      type: object
      required:
        - ThreeDSAuthorisationRequired
      properties:
        ThreeDSAuthorisationRequired:
          $ref: '#/components/schemas/ThreeDSAuthorisationRequired1'
    ThreeDSAuthorisationRequired1:
      title: ThreeDSAuthorisationRequired
      type: object
      required:
        - threeDSAuthorisationId
        - redirectURL
      properties:
        threeDSAuthorisationId:
          description: >-
            Uniquely represents this 3DS challenge. Once the customer completes
            the challenge, this value must be returned in a PayOrder call using
            the `Confirm3DSComplete` action.
          type: string
        redirectURL:
          description: >-
            The URL provided here must be loaded for the customer. This URL will
            usually load an iFrame from the card issuer to complete the
            challenge on their own web services. The customer will be forwarded
            to the `returnURL` provided earlier upon completion of the
            challenge.
          type: string
    ThreeDSResult:
      title: ThreeDSResult
      description: >-
        The `ThreeDSAuthorisationRequired` value returned in the body of the
        response from the original `PayOrder` call that required 3DS.
      type: object
      required:
        - threeDSAuthorisationId
      properties:
        threeDSAuthorisationId:
          description: >-
            Uniquely represents this 3DS challenge. The customer has now
            completed the challenge, so this value must be returned in a
            PayOrder call using the `Confirm3DSComplete` action.
          type: string
    TokenSavedPaymentSource:
      title: TokenSavedPaymentSource
      oneOf:
        - $ref: '#/components/schemas/TokenSavedPaymentSourceCard'
        - $ref: '#/components/schemas/TokenSavedPaymentSourceDirectDebit'
        - $ref: '#/components/schemas/TokenSavedPaymentSourcePayTo'
    TokenSavedPaymentSourceCard:
      title: TokenSavedPaymentSourceCard
      type: object
      required:
        - TokenSavedPaymentSourceCard
      properties:
        TokenSavedPaymentSourceCard:
          $ref: '#/components/schemas/TokenSavedPaymentSourceCard1'
    TokenSavedPaymentSourceCard1:
      title: TokenSavedPaymentSourceCard
      type: object
      required:
        - expiryDate
        - last4
        - brand
        - bin
        - funding
        - country
      properties:
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
          description: Card expiry month and year
        last4:
          type: string
        brand:
          $ref: '#/components/schemas/CardBranding1'
        bin:
          type: string
        funding:
          $ref: '#/components/schemas/CardFunding2'
        country:
          $ref: '#/components/schemas/IsoCountry'
    TokenSavedPaymentSourceDirectDebit:
      title: TokenSavedPaymentSourceDirectDebit
      type: object
      required:
        - TokenSavedPaymentSourceDirectDebit
      properties:
        TokenSavedPaymentSourceDirectDebit:
          $ref: '#/components/schemas/TokenSavedPaymentSourceDirectDebit1'
    TokenSavedPaymentSourceDirectDebit1:
      title: TokenSavedPaymentSourceDirectDebit
      type: object
      required:
        - emailAddress
        - agreementAcceptedDate
        - bankAccount
      properties:
        emailAddress:
          type: string
        agreementAcceptedDate:
          type: string
          format: date-time
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
    TokenSavedPaymentSourcePayTo:
      title: TokenSavedPaymentSourcePayTo
      type: object
      required:
        - TokenSavedPaymentSourcePayTo
      properties:
        TokenSavedPaymentSourcePayTo:
          $ref: '#/components/schemas/TokenSavedPaymentSourcePayTo1'
    TokenSavedPaymentSourcePayTo1:
      title: TokenSavedPaymentSourcePayTo
      type: object
      required:
        - agreementUid
        - accountIdentifierHint
      properties:
        agreementUid:
          type: string
        accountIdentifierHint:
          type: string
    TradingAccountProductSpec:
      title: TradingAccountProductSpec
      type: object
      required:
        - TradingAccountProductSpec
      properties:
        TradingAccountProductSpec:
          $ref: '#/components/schemas/TradingAccountProductSpec1'
    TradingAccountProductSpec1:
      title: TradingAccountProductSpec
      type: object
      required:
        - customerId
        - customerFees
        - metadataTemplate
        - statementFrequency
        - graceDays
      properties:
        customerId:
          description: The organisational customer that is the owner of the trade account.
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        customerFees:
          $ref: '#/components/schemas/CustomerFees'
        metadataTemplate:
          $ref: '#/components/schemas/MetadataTemplate'
        supportedIssuerBrands:
          description: >-
            The list of brands of cards to support issued on the back of this
            loan.
          type: array
          items:
            $ref: '#/components/schemas/IssuerCardBrand'
        statementFrequency:
          $ref: '#/components/schemas/StatementFrequency'
        graceDays:
          description: Number of days between loan statement issue and due dates.
          type: integer
          format: int32
        industryGroup:
          $ref: '#/components/schemas/IndustryGroup'
    TransactionPaymentMethod:
      title: TransactionPaymentMethod
      oneOf:
        - $ref: '#/components/schemas/CardPaymentMethod'
        - $ref: '#/components/schemas/DirectDebitPaymentMethod'
        - $ref: '#/components/schemas/PayToPaymentMethod'
    TransactionResponse:
      title: TransactionResponse
      type: object
      required:
        - purchaseDetails
      properties:
        purchaseDetails:
          $ref: '#/components/schemas/PurchaseDetails'
        paymentMethod:
          $ref: '#/components/schemas/TransactionPaymentMethod'
        serviceFees:
          $ref: '#/components/schemas/ServiceFees'
        customerDetails:
          $ref: '#/components/schemas/CustomerDetails'
        timelines:
          type: array
          items:
            $ref: '#/components/schemas/TransactionTimeLine'
    TransactionStatus:
      title: TransactionStatus
      type: string
      enum:
        - accepted
        - paid
        - refunded
        - partially_refunded
        - pending
        - failed
        - cancelled
        - disputed
        - not_captured
        - incomplete
    TransactionTimeLine:
      title: TransactionTimeLine
      type: object
      required:
        - eventType
        - eventTime
      properties:
        eventType:
          $ref: '#/components/schemas/EventType'
        eventTime:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        identifier:
          type: string
    TransactionTransfer:
      title: TransactionTransfer
      type: object
      required:
        - TransactionTransfer
      properties:
        TransactionTransfer:
          $ref: '#/components/schemas/TransactionTransfer1'
    TransactionTransfer1:
      title: TransactionTransfer
      type: object
    TransferFunds:
      title: TransferFunds
      type: object
      required:
        - TransferFunds
      properties:
        TransferFunds:
          $ref: '#/components/schemas/TransferFunds1'
    TransferFunds1:
      title: TransferFunds
      description: >-
        Transfer funds associated with this transaction to another sub-merchant
        within the same marketplace.
      type: object
      required:
        - destinationMerchantId
        - transferAmount
        - surchargeFee
      properties:
        destinationMerchantId:
          description: >-
            The merchant to transfer the funds to. Must be a sub-merchant within
            the same marketplace.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        transferAmount:
          description: >-
            The amount **in minor currency units** that needs transferring. Must
            be less than or equal to the transaction amount minus any previous
            refunds or transfers.
          type: integer
          format: int64
        surchargeFee:
          description: >-
            If `true` the destination merchant will be surcharged the platform
            fee and the source merchant will be credited the fee.
          type: boolean
        levy:
          description: >-
            Optionally set this with an amount **in minor currency units** you
            want to be deducted from the merchant after the transfer. If
            `surchargeFee` is `true`, the `levy` will be added to the total fees
            deducted from the destination merchant.
          type: integer
          format: int64
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: This can be used to associate any metadata to this transfer.
    TransportBillingInformation:
      title: TransportBillingInformation
      description: Metadata to be stored on the card
      oneOf:
        - $ref: '#/components/schemas/CarRental'
        - $ref: '#/components/schemas/Flight'
        - $ref: '#/components/schemas/Hotel'
        - $ref: '#/components/schemas/Other1'
        - $ref: '#/components/schemas/Rail'
    UnlinkCustomerToDelegate:
      title: UnlinkCustomerToDelegate
      type: object
      required:
        - UnlinkCustomerToDelegate
      properties:
        UnlinkCustomerToDelegate:
          $ref: '#/components/schemas/UnlinkCustomerToDelegate1'
    UnlinkCustomerToDelegate1:
      title: UnlinkCustomerToDelegate
      description: >-
        Remove the link between this customer delegate and the given merchant
        customer. Payment sources saved against a delegate will no longer be
        available when signing in on behalf of the given customer.
      type: object
      required:
        - customerId
      properties:
        customerId:
          description: System unique identifier for the customer
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
    UnregisterApplePayDetails:
      title: UnregisterApplePayDetails
      type: object
      required:
        - UnregisterApplePayDetails
      properties:
        UnregisterApplePayDetails:
          $ref: '#/components/schemas/UnregisterApplePayDetails1'
    UnregisterApplePayDetails1:
      title: UnregisterApplePayDetails
      description: >-
        Unregister one or more domains associated with a merchant previously
        registered for ApplePay.
      type: object
      properties:
        domainNames:
          description: >-
            The list of domains to unregister. Providing an empty list will
            unregister all domains and the merchant.
          type: array
          items:
            type: string
    UpdateBlockedCardRequest:
      title: UpdateBlockedCardRequest
      oneOf:
        - $ref: '#/components/schemas/RemoveBlockOnCard'
    UpdateCustomerDelegateRequest:
      title: UpdateCustomerDelegateRequest
      oneOf:
        - $ref: '#/components/schemas/LinkCustomerToDelegate'
        - $ref: '#/components/schemas/UnlinkCustomerToDelegate'
        - $ref: '#/components/schemas/UpdateDelegateEmailAddress'
        - $ref: '#/components/schemas/UpdateDelegateLoanRole'
        - $ref: '#/components/schemas/UpdateDelegateName'
        - $ref: '#/components/schemas/UpdateDelegatePhoneNumber'
        - $ref: '#/components/schemas/UpdateDelegatePosition'
    UpdateDelegateEmailAddress:
      title: UpdateDelegateEmailAddress
      type: object
      required:
        - UpdateDelegateEmailAddress
      properties:
        UpdateDelegateEmailAddress:
          $ref: '#/components/schemas/UpdateDelegateEmailAddress1'
    UpdateDelegateEmailAddress1:
      title: UpdateDelegateEmailAddress
      type: object
      required:
        - delegateEmailAddress
      properties:
        delegateEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
    UpdateDelegateLoanRole:
      title: UpdateDelegateLoanRole
      type: object
      required:
        - UpdateDelegateLoanRole
      properties:
        UpdateDelegateLoanRole:
          $ref: '#/components/schemas/UpdateDelegateLoanRole1'
    UpdateDelegateLoanRole1:
      title: UpdateDelegateLoanRole
      description: >-
        For delegates associated with loan-based products, update their
        permissions for loans under the given customer.
      type: object
      required:
        - customerId
        - role
      properties:
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        role:
          $ref: '#/components/schemas/LoanRole'
    UpdateDelegateName:
      title: UpdateDelegateName
      type: object
      required:
        - UpdateDelegateName
      properties:
        UpdateDelegateName:
          $ref: '#/components/schemas/UpdateDelegateName1'
    UpdateDelegateName1:
      title: UpdateDelegateName
      type: object
      required:
        - delegateName
      properties:
        delegateName:
          type: string
    UpdateDelegatePhoneNumber:
      title: UpdateDelegatePhoneNumber
      type: object
      required:
        - UpdateDelegatePhoneNumber
      properties:
        UpdateDelegatePhoneNumber:
          $ref: '#/components/schemas/UpdateDelegatePhoneNumber1'
    UpdateDelegatePhoneNumber1:
      title: UpdateDelegatePhoneNumber
      type: object
      required:
        - delegatePhoneNumber
      properties:
        delegatePhoneNumber:
          examples:
            - '+61401234567'
          type: string
    UpdateDelegatePosition:
      title: UpdateDelegatePosition
      type: object
      required:
        - UpdateDelegatePosition
      properties:
        UpdateDelegatePosition:
          $ref: '#/components/schemas/UpdateDelegatePosition1'
    UpdateDelegatePosition1:
      title: UpdateDelegatePosition
      type: object
      required:
        - customerId
        - delegatePosition
      properties:
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        delegatePosition:
          type: string
    UpdateDigitalCardRequestMastercard:
      title: UpdateDigitalCardRequestMastercard
      type: object
      required:
        - UpdateDigitalCardRequestMastercard
      properties:
        UpdateDigitalCardRequestMastercard:
          $ref: '#/components/schemas/UpdateDigitalCardRequestMastercard1'
    UpdateDigitalCardRequestMastercard1:
      title: UpdateDigitalCardRequestMastercard
      type: object
      required:
        - digitalCreditCardId
        - details
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        details:
          $ref: '#/components/schemas/CardUpdateDetailsDto'
    UpdateDigitalCardRequestMastercardWithDbi:
      title: UpdateDigitalCardRequestMastercardWithDbi
      type: object
      required:
        - UpdateDigitalCardRequestMastercardWithDbi
      properties:
        UpdateDigitalCardRequestMastercardWithDbi:
          $ref: '#/components/schemas/UpdateDigitalCardRequestMastercardWithDbi1'
    UpdateDigitalCardRequestMastercardWithDbi1:
      title: UpdateDigitalCardRequestMastercardWithDbi
      type: object
      required:
        - digitalCreditCardId
        - details
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        details:
          $ref: '#/components/schemas/CardUpdateDetailsDbiDto'
    UpdateDigitalCardResponseMastercard:
      title: UpdateDigitalCardResponseMastercard
      type: object
      required:
        - UpdateDigitalCardResponseMastercard
      properties:
        UpdateDigitalCardResponseMastercard:
          $ref: '#/components/schemas/UpdateDigitalCardResponseMastercard1'
    UpdateDigitalCardResponseMastercard1:
      title: UpdateDigitalCardResponseMastercard
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    UpdateDigitalCardStatusRequest:
      title: UpdateDigitalCardStatusRequest
      type: object
      required:
        - UpdateDigitalCardStatusRequest
      properties:
        UpdateDigitalCardStatusRequest:
          $ref: '#/components/schemas/UpdateDigitalCardStatusRequest1'
    UpdateDigitalCardStatusRequest1:
      title: UpdateDigitalCardStatusRequest
      type: object
      required:
        - digitalCreditCardId
        - status
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        status:
          $ref: '#/components/schemas/DigitalCardStatus'
    UpdateDigitalCardStatusResponse:
      title: UpdateDigitalCardStatusResponse
      type: object
      required:
        - UpdateDigitalCardStatusResponse
      properties:
        UpdateDigitalCardStatusResponse:
          $ref: '#/components/schemas/UpdateDigitalCardStatusResponse1'
    UpdateDigitalCardStatusResponse1:
      title: UpdateDigitalCardStatusResponse
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    UpdateDigitalCardTransactionLimitRequest:
      title: UpdateDigitalCardTransactionLimitRequest
      type: object
      required:
        - UpdateDigitalCardTransactionLimitRequest
      properties:
        UpdateDigitalCardTransactionLimitRequest:
          $ref: '#/components/schemas/UpdateDigitalCardTransactionLimitRequest1'
    UpdateDigitalCardTransactionLimitRequest1:
      title: UpdateDigitalCardTransactionLimitRequest
      type: object
      required:
        - digitalCreditCardId
      properties:
        digitalCreditCardId:
          examples:
            - dcard_aZ-9V_KvllCPqGs-
          type: string
        limit:
          $ref: '#/components/schemas/IsoCurrencyAmount'
          description: >-
            The transaction limit for the card - the largest amount chargeable
            on a single transaction.
    UpdateDigitalCardTransactionLimitResponse:
      title: UpdateDigitalCardTransactionLimitResponse
      type: object
      required:
        - UpdateDigitalCardTransactionLimitResponse
      properties:
        UpdateDigitalCardTransactionLimitResponse:
          $ref: '#/components/schemas/UpdateDigitalCardTransactionLimitResponse1'
    UpdateDigitalCardTransactionLimitResponse1:
      title: UpdateDigitalCardTransactionLimitResponse
      type: object
      required:
        - details
      properties:
        details:
          $ref: '#/components/schemas/RedactedCardCreationDetailsDto'
    UpdateMerchantBillingSettings:
      title: UpdateMerchantBillingSettings
      type: object
      required:
        - UpdateMerchantBillingSettings
      properties:
        UpdateMerchantBillingSettings:
          $ref: '#/components/schemas/UpdateMerchantBillingSettings1'
    UpdateMerchantBillingSettings1:
      title: UpdateMerchantBillingSettings
      description: >-
        Update list of email addresses that receive gross settlement invoice
        reports and billing address to use for fee invoices.
      type: object
      required:
        - billingAddress
      properties:
        billingNotificationEmails:
          description: >-
            List of email addresses that will receive an invoice whenever a
            billing invoice has been generated for a gross settlement merchant.
          type: array
          items:
            examples:
              - lucy.diamond@star.com
            type: string
        billingNotificationsEnabled:
          description: >-
            Toggle for whether to send invoice emails. Defaults to true. Note
            even if `false`, late payment reminders will still be sent.
          type: boolean
        billingAddress:
          $ref: '#/components/schemas/LimeAddress'
    UpdateMerchantBranding:
      title: UpdateMerchantBranding
      type: object
      required:
        - UpdateMerchantBranding
      properties:
        UpdateMerchantBranding:
          $ref: '#/components/schemas/UpdateMerchantBranding1'
    UpdateMerchantBranding1:
      title: UpdateMerchantBranding
      description: >-
        Update the branding for a merchant. Branding is used in communications
        and dashboards associated with this merchant.
      type: object
      required:
        - branding
      properties:
        branding:
          $ref: '#/components/schemas/MerchantBranding'
    UpdateMerchantBusinessProfile:
      title: UpdateMerchantBusinessProfile
      type: object
      required:
        - UpdateMerchantBusinessProfile
      properties:
        UpdateMerchantBusinessProfile:
          $ref: '#/components/schemas/UpdateMerchantBusinessProfile1'
    UpdateMerchantBusinessProfile1:
      title: UpdateMerchantBusinessProfile
      description: Update business profile for the given merchant.
      type: object
      required:
        - timeZone
        - businessName
        - businessType
        - website
        - supportSite
        - industry
        - taxId
        - contactPerson
        - contactEmailAddress
        - phoneNumber
        - address
        - brandName
        - cardStatementName
        - smsSenderName
      properties:
        timeZone:
          description: Timezone for the merchant, e.g. Australia/Sydney
          examples:
            - Australia/Sydney
          type: string
        businessName:
          description: >-
            Business name (as linked to official business registration ids such
            as ABN/ACN or NZBN)
          type: string
          maxLength: 100
          minLength: 3
        businessType:
          $ref: '#/components/schemas/BusinessType'
          description: >-
            Business type of merchant. Note business type cannot change once a
            merchant is active.
        companyType:
          $ref: '#/components/schemas/CompanyType'
          description: (Optional) Company type, required when businessType is company
        website:
          description: Company website
          type: string
        supportSite:
          description: Company website for handling support issues
          type: string
        industry:
          $ref: '#/components/schemas/Industry'
        tradingCountry:
          $ref: '#/components/schemas/Country'
          description: >-
            Optional ISO-3166 two-letter country code for where the merchant is
            accepting payments. Only required if different from tax country.
        taxId:
          description: The registered tax id of the company, e.g. ABN, NZBN
          type: string
        contactPerson:
          $ref: '#/components/schemas/BusinessContactPerson'
        contactEmailAddress:
          description: Email address associated with the merchant
          examples:
            - lucy.diamond@star.com
          type: string
        supportEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: >-
            Phone number associated with the merchant in E164 format, eg.
            +61400000000
          examples:
            - '+61401234567'
          type: string
        address:
          $ref: '#/components/schemas/BusinessAddress'
        brandName:
          description: The customer facing name of your business.
          type: string
          maxLength: 100
          minLength: 3
        cardStatementName:
          description: >-
            The label that will appear on your customer's credit or debit card
            statements. Should contain letters, numbers or spaces only.
          examples:
            - Kates Deli
          type: string
          maxLength: 13
          minLength: 5
        smsSenderName:
          description: Sms Sender Name. Should contain letters or digits only.
          examples:
            - KatesDeli
          type: string
          maxLength: 11
          minLength: 3
        verificationDocs:
          $ref: '#/components/schemas/BusinessVerificationDoc'
    UpdateMerchantMetadata:
      title: UpdateMerchantMetadata
      type: object
      required:
        - UpdateMerchantMetadata
      properties:
        UpdateMerchantMetadata:
          $ref: '#/components/schemas/UpdateMerchantMetadata1'
    UpdateMerchantMetadata1:
      title: UpdateMerchantMetadata
      description: Update metadata associated with the given merchant.
      type: object
      required:
        - metadata
      properties:
        metadata:
          $ref: '#/components/schemas/JsonObject'
    UpdateMerchantPayoutDetails:
      title: UpdateMerchantPayoutDetails
      type: object
      required:
        - UpdateMerchantPayoutDetails
      properties:
        UpdateMerchantPayoutDetails:
          $ref: '#/components/schemas/UpdateMerchantPayoutDetails1'
    UpdateMerchantPayoutDetails1:
      title: UpdateMerchantPayoutDetails
      description: >-
        Update frequency of payouts, and list of email addresses that receive
        payout reports.
      type: object
      required:
        - payoutSettings
        - payoutSchedule
      properties:
        payoutSettings:
          $ref: '#/components/schemas/PayoutSettings'
        payoutSchedule:
          $ref: '#/components/schemas/PayoutSchedule'
        dayOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
          description: >-
            For weekly and fortnightly payouts, optionally specify the day of
            week to pay. Default is Monday.
        dayOfMonth:
          description: >-
            For monthly payouts, optionally specify the day of the month to pay.
            Default is 1.
          type: integer
          format: int32
    UpdateMerchantPublicInfo:
      title: UpdateMerchantPublicInfo
      type: object
      required:
        - UpdateMerchantPublicInfo
      properties:
        UpdateMerchantPublicInfo:
          $ref: '#/components/schemas/UpdateMerchantPublicInfo1'
    UpdateMerchantPublicInfo1:
      title: UpdateMerchantPublicInfo
      description: >-
        Update public information for the given merchant. Every field is
        optional. In each case, the underlying value is updated if provided.
      type: object
      properties:
        businessName:
          description: >-
            Business name (as linked to official business registration ids such
            as ABN/ACN or NZBN)
          type: string
          maxLength: 100
          minLength: 3
        website:
          description: Company website
          type: string
        supportSite:
          description: Company website for handling support issues
          type: string
        contactPerson:
          $ref: '#/components/schemas/BusinessContactPerson'
        contactEmailAddress:
          description: Email address associated with the merchant
          examples:
            - lucy.diamond@star.com
          type: string
        supportEmailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: >-
            Phone number associated with the merchant in E164 format, eg.
            +61400000000
          examples:
            - '+61401234567'
          type: string
        address:
          $ref: '#/components/schemas/BusinessAddress1'
        brandName:
          description: The customer facing name of your business.
          type: string
          maxLength: 100
          minLength: 3
        cardStatementName:
          description: >-
            The label that will appear on your customer's credit or debit card
            statements. Should contain letters, numbers or spaces only.
          examples:
            - Kates Deli
          type: string
          maxLength: 13
          minLength: 5
        smsSenderName:
          description: Sms Sender Name. Should contain letters or digits only.
          examples:
            - KatesDeli
          type: string
          maxLength: 11
          minLength: 3
    UpdateMerchantRequest:
      title: UpdateMerchantRequest
      oneOf:
        - $ref: '#/components/schemas/AddMerchantBankAccount'
        - $ref: '#/components/schemas/DeleteMerchantBankAccount'
        - $ref: '#/components/schemas/RegisterApplePayDetails'
        - $ref: '#/components/schemas/RemoveSurchargeConfig'
        - $ref: '#/components/schemas/SetMerchantBillingPaymentSource'
        - $ref: '#/components/schemas/SetMerchantPrimaryBankAccount'
        - $ref: '#/components/schemas/SetSurchargeConfig'
        - $ref: '#/components/schemas/UnregisterApplePayDetails'
        - $ref: '#/components/schemas/UpdateMerchantBillingSettings'
        - $ref: '#/components/schemas/UpdateMerchantBranding'
        - $ref: '#/components/schemas/UpdateMerchantBusinessProfile'
        - $ref: '#/components/schemas/UpdateMerchantMetadata'
        - $ref: '#/components/schemas/UpdateMerchantPayoutDetails'
        - $ref: '#/components/schemas/UpdateMerchantPublicInfo'
        - $ref: '#/components/schemas/UpdateOrderCustomFields'
    UpdateOrderCustomFields:
      title: UpdateOrderCustomFields
      type: object
      required:
        - UpdateOrderCustomFields
      properties:
        UpdateOrderCustomFields:
          $ref: '#/components/schemas/UpdateOrderCustomFields1'
    UpdateOrderCustomFields1:
      title: UpdateOrderCustomFields
      description: >

        Update the custom fields for a merchant. There can be used to add
        additional context to orders that can be included

        in pay by link orders, communications and reports.


        Merchants generating pay by link orders via the merchant dashboard will
        be able to enter custom field values.

        Fields marked as required must be provided at this point.


        If custom fields are present in order metadata, they will be included in
        order paid emails sent to merchants and to customers (only fields with
        `visibleForCustomer` set to true)

        and in settlement report entries.
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/OrderCustomField'
    UpdateOrderRequest:
      title: UpdateOrderRequest
      oneOf:
        - $ref: '#/components/schemas/UpdateReferenceOrderId'
        - $ref: '#/components/schemas/UpdateSettlementConfiguration'
    UpdateReferenceOrderId:
      title: UpdateReferenceOrderId
      type: object
      required:
        - UpdateReferenceOrderId
      properties:
        UpdateReferenceOrderId:
          $ref: '#/components/schemas/UpdateReferenceOrderId1'
    UpdateReferenceOrderId1:
      title: UpdateReferenceOrderId
      description: Update the reference used by the merchant to identify this order.
      type: object
      required:
        - referenceOrderId
      properties:
        referenceOrderId:
          type: string
    UpdateSettlementConfiguration:
      title: UpdateSettlementConfiguration
      type: object
      required:
        - UpdateSettlementConfiguration
      properties:
        UpdateSettlementConfiguration:
          $ref: '#/components/schemas/UpdateSettlementConfiguration1'
    UpdateSettlementConfiguration1:
      title: UpdateSettlementConfiguration
      description: >-
        For merchants with multiple settlement configurations, update the
        desired configuration for this order. Configuration set on an order will
        override the settlement setting configured on the loan.
      type: object
      required:
        - settlementConfiguration
      properties:
        settlementConfiguration:
          $ref: '#/components/schemas/SettlementConfiguration'
    UpdateTransactionRequest:
      title: UpdateTransactionRequest
      oneOf:
        - $ref: '#/components/schemas/CancelAuthorisation'
        - $ref: '#/components/schemas/CaptureFunds'
        - $ref: '#/components/schemas/CreateRefund'
        - $ref: '#/components/schemas/ReverseFundsTransfer'
        - $ref: '#/components/schemas/TransferFunds'
    UpdateWebhookSubscriptionRequest:
      title: UpdateWebhookSubscriptionRequest
      oneOf:
        - $ref: '#/components/schemas/UpdateWebhookSubscriptionStatus'
    UpdateWebhookSubscriptionStatus:
      title: UpdateWebhookSubscriptionStatus
      type: object
      required:
        - UpdateWebhookSubscriptionStatus
      properties:
        UpdateWebhookSubscriptionStatus:
          $ref: '#/components/schemas/UpdateWebhookSubscriptionStatus1'
    UpdateWebhookSubscriptionStatus1:
      title: UpdateWebhookSubscriptionStatus
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/WebhookSubscriptionState'
    UpsertConsumerCustomer:
      title: UpsertConsumerCustomer
      type: object
      required:
        - UpsertConsumerCustomer
      properties:
        UpsertConsumerCustomer:
          $ref: '#/components/schemas/UpsertConsumerCustomer1'
    UpsertConsumerCustomer1:
      title: UpsertConsumerCustomer
      description: >
        **Consumer customers** are individuals typically making purchases from
        the merchant via e-commerce websites.
         They are uniquely identified by `emailAddress` for a given merchant.
      type: object
      required:
        - emailAddress
        - familyName
        - isVerified
      properties:
        emailAddress:
          description: Email address of the customer.
          examples:
            - lucy.diamond@star.com
          type: string
        phoneNumber:
          description: Phone number of the customer. Note, this must be in E164 format.
          examples:
            - '+61401234567'
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. Must
            be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        givenName:
          type: string
        middleName:
          type: string
        familyName:
          type: string
        isVerified:
          description: >-
            Has the phone number and email address for this customer been
            verified to be correct.
          type: boolean
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Additional use case data specific to individual marketplaces or
            target industries and applications. Format must be agreed in advance
            with April.
    UpsertConsumerMarketplaceCustomer:
      title: UpsertConsumerMarketplaceCustomer
      type: object
      required:
        - UpsertConsumerMarketplaceCustomer
      properties:
        UpsertConsumerMarketplaceCustomer:
          $ref: '#/components/schemas/UpsertConsumerMarketplaceCustomer1'
    UpsertConsumerMarketplaceCustomer1:
      title: UpsertConsumerMarketplaceCustomer
      description: >
        **Consumer marketplace customers** represent individuals who will be
        making purchases from one or more sub-merchants

        of the marketplace. They are uniquely identified by `emailAddress` for a
        given marketplace.




        **Alpha release** - Consider this endpoint experimental and very likely
        to change in future.
      type: object
      required:
        - givenName
        - familyName
        - emailAddress
        - isVerified
      properties:
        givenName:
          type: string
        middleName:
          type: string
        familyName:
          type: string
        emailAddress:
          description: Email address of the customer
          examples:
            - lucy.diamond@star.com
          type: string
        isVerified:
          description: >-
            Has the phone number and email address for this customer been
            verified to be correct.
          type: boolean
        phoneNumber:
          description: Phone number of the customer
          examples:
            - '+61401234567'
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. Must
            be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
    UpsertCustomerResponse:
      title: UpsertCustomerResponse
      type: object
      required:
        - customerId
        - merchantId
      properties:
        customerId:
          examples:
            - cust_aZ-9UfKvllCPqGsa
          type: string
        merchantId:
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
    UpsertMarketplaceCustomerProxy:
      title: UpsertMarketplaceCustomerProxy
      type: object
      required:
        - UpsertMarketplaceCustomerProxy
      properties:
        UpsertMarketplaceCustomerProxy:
          $ref: '#/components/schemas/UpsertMarketplaceCustomerProxy1'
    UpsertMarketplaceCustomerProxy1:
      title: UpsertMarketplaceCustomerProxy
      description: >
        **Marketplace customers** allow marketplaces to onboard both B2B and B2C
        customers

        once for the whole marketplace. For payments, we require a customer at
        the merchant

        level. A `MarketplaceCustomerProxy` allows you to generate a merchant
        level customer

        identifier that links to a pre-existing marketplace customer. This
        identifier

        can then be used like any other customer identifier to complete the
        payment flow.
      type: object
      required:
        - marketplaceCustomerId
      properties:
        marketplaceCustomerId:
          examples:
            - mktpcust_aZ-9UvKvllCPqGsp
          type: string
    UpsertMarketplaceCustomerRequest:
      title: UpsertMarketplaceCustomerRequest
      oneOf:
        - $ref: '#/components/schemas/UpsertConsumerMarketplaceCustomer'
        - $ref: '#/components/schemas/UpsertOrganisationMarketplaceCustomer'
    UpsertMerchantCustomerRequest:
      title: UpsertMerchantCustomerRequest
      oneOf:
        - $ref: '#/components/schemas/UpsertConsumerCustomer'
        - $ref: '#/components/schemas/UpsertMarketplaceCustomerProxy'
        - $ref: '#/components/schemas/UpsertOrganisationCustomer'
    UpsertOrganisationCustomer:
      title: UpsertOrganisationCustomer
      type: object
      required:
        - UpsertOrganisationCustomer
      properties:
        UpsertOrganisationCustomer:
          $ref: '#/components/schemas/UpsertOrganisationCustomer1'
    UpsertOrganisationCustomer1:
      title: UpsertOrganisationCustomer
      description: >
        **Organisation customers** represent businesses wishing to make
        purchases from the merchant.
         They are uniquely identified by `referenceCustomerId` for a given merchant.
      type: object
      required:
        - emailAddress
        - referenceCustomerId
        - organisationName
        - taxId
        - organisationKyced
        - organisationCreditChecked
      properties:
        emailAddress:
          description: Email address of the organisation.
          examples:
            - lucy.diamond@star.com
          type: string
        referenceCustomerId:
          description: >-
            A reference provided by the merchant to identify this customer. Must
            be unique for the given merchant.
          examples:
            - CUST-48822821
          type: string
        organisationName:
          type: string
        taxId:
          description: The tax id (e.g. ABN or NZBN) for the organisation.
          type: string
        organisationKyced:
          description: >-
            Has the organisation undergone Know Your Customer (KYC)
            verification.
          type: boolean
        organisationCreditChecked:
          description: Has the organisation successfully completed a credit check.
          type: boolean
    UpsertOrganisationMarketplaceCustomer:
      title: UpsertOrganisationMarketplaceCustomer
      type: object
      required:
        - UpsertOrganisationMarketplaceCustomer
      properties:
        UpsertOrganisationMarketplaceCustomer:
          $ref: '#/components/schemas/UpsertOrganisationMarketplaceCustomer1'
    UpsertOrganisationMarketplaceCustomer1:
      title: UpsertOrganisationMarketplaceCustomer
      description: >
        **Organisation marketplace customers** who will be making purchases from
        one or more sub-mechants

        of the marketplace. They are uniquely identified by
        `referenceCustomerId` for a given marketplace.
      type: object
      required:
        - emailAddress
        - referenceCustomerId
        - organisationName
        - taxId
        - organisationKyced
        - organisationCreditChecked
      properties:
        emailAddress:
          examples:
            - lucy.diamond@star.com
          type: string
        referenceCustomerId:
          type: string
        organisationName:
          type: string
        taxId:
          type: string
        organisationKyced:
          type: boolean
        organisationCreditChecked:
          type: boolean
        metadata:
          $ref: '#/components/schemas/JsonObject'
    VerificationDocs:
      title: VerificationDocs
      type: object
      required:
        - idType
        - docFrontFileId
      properties:
        idType:
          $ref: '#/components/schemas/IdType'
        docFrontFileId:
          description: System unique identifier for the file for the front of the document
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
        docBackFileId:
          description: >-
            (Optional) System unique identifier for the file for the back of the
            document. This is not required if `idType` is `Passport`
          examples:
            - lfile_aZ-9UvKvllCPqGsm
          type: string
    VerificationProvider:
      title: VerificationProvider
      type: string
      enum:
        - Zepto
    VerificationResult:
      title: VerificationResult
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/VerificationStatus'
        errorCodes:
          type: array
          items:
            $ref: '#/components/schemas/OnboardingErrorCode'
        details:
          type: array
          items:
            type: string
    VerificationStatus:
      title: VerificationStatus
      type: string
      enum:
        - Pending
        - Verified
    Version:
      title: Version
      type: string
      enum:
        - EC_v1
        - RSA_v1
    WebhookEventType:
      title: WebhookEventType
      description: >

        These are the types of events available for subscription at the merchant
        or marketplace level.

          * **MerchantCreated**      - A sub-merchant of a marketplace has been created and has started the onboarding process.
          * **MerchantActivated**    - A sub-merchant of a marketplace has been fully onboarded and is activated for accepting payments.
          * **MerchantSuspended**    - A sub-merchant of a marketplace has been suspended, disabling creation of new payments.
          * **MerchantAvailableBalanceUpdated**    - The available balance for a merchant has been updated.
          * **MerchantBankAccountAdded**    - A new bank account has been added to a merchant account.
          * **MerchantPrimaryBankAccountUpdated**    - The bank account used for all automated payouts and the default for manual payouts has been updated.
          * **PayPlanCreated**       - The pay plan object has been created, but has not been successfully associated with an order yet.
          * **PayPlanActivated**     - The pay plan has successfully been established, the initial payment, if any, has been received and one or more future instalments are yet to be paid.
          * **PayPlanCompleted**     - The payment plan has been completely paid, including any fees/penalties.
          * **PayPlanInDefault**     - The plan is overdue and has not been paid after several soft collection attempts.
          * **PayInFullCreated**     - A payment token representing a full payment has been created. No money transfer has occurred at this point.
          * **PayInFullAccepted**    - A pay in full payment has been accepted by the customer but the payment method is asynchronous (e.g. direct debit or bank transfer).
          * **PayInFullAuthorised**  - A card based pay in full payment has authorised a payment (reserving the funds), but it has not been captured yet.
          * **PayInFullCompleted**   - A pay in full payment has been successfully paid.
          * **TransactionPaid**      - An order has been completed from the merchants perspective. For pay in full payments, the payment has been successfully completed. For pay plans, the plan has been successfully activated.
          * **TransactionFailed**    - An attempt to pay for an order has failed.
          * **DisputeCreated**       - A customer has raised a dispute for a payment with their financial provider.
          * **DisputeUpdated**       - An update has been received on an existing dispute.
          * **PayoutCreated**        - Payout details have been confirmed.
          * **PayoutPending**        - Payout is being prepared for disbursement.
          * **PayoutFailed**         - We were unable to make a payout to a merchant's primary bank account.
          * **PayoutPaid**           - A payout was successfully delivered to a merchant's primary bank account.
          * **PayoutReversed**       - A payout was returned due to an error and has been credit back to the merchant's account.
          * **InvoiceIssued**        - An invoice was issued to a gross settlement merchant for their outstanding platform fees.
          * **InvoiceDue**           - An outstanding invoice is due for payment.
          * **InvoicePaymentFailed** - A payment made towards an invoice has failed.
          * **InvoicePaid**          - An invoice was successfully paid.
          * **PaymentSourceCreated** - A payment source has been successfully created.
          * **PaymentSourceMethodUpdated** - A payment source has been successfully updated.
          * **PaymentSourceDeleted** - A payment source has been deleted.
          * **LoanCreated**          - A new loan was created.
          * **LoanStatementCreated** - A customer statement was created for a loan but not yet issued to the customer.
          * **LoanStatementIssued**  - A customer statement was issued for a loan.
          * **LoanStatementDue**     - A customer loan statement has reached its due date with an outstanding balance.
          * **LoanStatementPaid**    - A loan statement has been successfully paid.
          * **LoanPaymentFailed**    - A payment made towards a loan has failed.
      type: string
      enum:
        - MerchantCreated
        - MerchantActivated
        - MerchantSuspended
        - MerchantAvailableBalanceUpdated
        - MerchantBankAccountAdded
        - MerchantPrimaryBankAccountUpdated
        - PayPlanCreated
        - PayPlanActivated
        - PayPlanCompleted
        - PayPlanInDefault
        - PayInFullCreated
        - PayInFullAccepted
        - PayInFullAuthorised
        - PayInFullCompleted
        - TransactionPaid
        - TransactionFailed
        - DisputeCreated
        - DisputeUpdated
        - PayoutCreated
        - PayoutPending
        - PayoutFailed
        - PayoutPaid
        - PayoutReversed
        - InvoiceIssued
        - InvoiceDue
        - InvoicePaymentFailed
        - InvoicePaid
        - PaymentSourceCreated
        - PaymentSourceMethodUpdated
        - PaymentSourceDeleted
        - LoanCreated
        - LoanStatementCreated
        - LoanStatementIssued
        - LoanStatementDue
        - LoanStatementPaid
        - LoanPaymentFailed
    WebhookMarketplaceSubscription:
      title: WebhookMarketplaceSubscription
      type: object
      required:
        - WebhookMarketplaceSubscription
      properties:
        WebhookMarketplaceSubscription:
          $ref: '#/components/schemas/WebhookMarketplaceSubscription1'
    WebhookMarketplaceSubscription1:
      title: WebhookMarketplaceSubscription
      type: object
      required:
        - id
        - marketplaceId
        - url
        - status
      properties:
        id:
          description: Unique identifier for this webhook subscription.
          examples:
            - webhook_aZ-9V_KvllCPqGtA
          type: string
        marketplaceId:
          description: >-
            The marketplace system identifier for the marketplace for which you
            will receive webhook events.
          examples:
            - mktp_aZ-9UfKvllCPqGsi
          type: string
        url:
          description: >-
            Destination endpoint that will be called via an HTTP POST on new
            events.
          examples:
            - https://api.myservice.io/events
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        description:
          description: An optional description indicating what the webhook is used for.
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Optional metadata to include in the payload of all webhooks
            generated by this subscription.
        status:
          $ref: '#/components/schemas/WebhookSubscriptionState'
          description: Is this subscription currently active.
        secret:
          description: Key used to sign events. Can be used to verify the event is genuine.
          type: string
    WebhookMerchantSubscription:
      title: WebhookMerchantSubscription
      type: object
      required:
        - WebhookMerchantSubscription
      properties:
        WebhookMerchantSubscription:
          $ref: '#/components/schemas/WebhookMerchantSubscription1'
    WebhookMerchantSubscription1:
      title: WebhookMerchantSubscription
      type: object
      required:
        - id
        - merchantId
        - url
        - status
      properties:
        id:
          description: Unique identifier for this webhook subscription.
          examples:
            - webhook_aZ-9V_KvllCPqGtA
          type: string
        merchantId:
          description: >-
            The merchant system identifier for the merchant for which you will
            receive webhook events.
          examples:
            - mcht_aZ-9UfKvllCPqGsZ
          type: string
        url:
          description: >-
            Destination endpoint that will be called via an HTTP POST on new
            events.
          examples:
            - https://api.myservice.io/events
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        description:
          description: An optional description indicating what the webhook is used for.
          type: string
        metadata:
          $ref: '#/components/schemas/JsonObject'
          description: >-
            Optional metadata to include in the payload of all webhooks
            generated by this subscription.
        status:
          $ref: '#/components/schemas/WebhookSubscriptionState'
          description: Is this subscription currently active.
        secret:
          description: Key used to sign events. Can be used to verify the event is genuine.
          type: string
    WebhookSubscriptionResponse:
      title: WebhookSubscriptionResponse
      oneOf:
        - $ref: '#/components/schemas/WebhookMarketplaceSubscription'
        - $ref: '#/components/schemas/WebhookMerchantSubscription'
    WebhookSubscriptionState:
      title: WebhookSubscriptionState
      type: string
      enum:
        - Active
        - Suspended
    Weekly:
      title: Weekly
      type: object
      required:
        - Weekly
      properties:
        Weekly:
          $ref: '#/components/schemas/Weekly1'
    Weekly1:
      title: Weekly
      type: object
      required:
        - issueDayOfWeek
      properties:
        issueDayOfWeek:
          $ref: '#/components/schemas/DayOfWeek1'
  securitySchemes:
    Enterprise API Key | Marketplace API Key | Admin JWT | Marketplace JWT | Customer JWT:
      type: http
      description: >-
        Enterprise API Key or Marketplace API Key or Admin JWT or Marketplace
        JWT or Customer JWT
      scheme: bearer
    Enterprise API Key | Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT:
      type: http
      description: >-
        Enterprise API Key or Marketplace API Key or Merchant Secret Token or
        Admin JWT or Merchant JWT or Marketplace JWT or Customer JWT
      scheme: bearer
    Enterprise API Key | Marketplace API Key | Merchant Secret Token | Customer API Key | Merchant JWT | Customer JWT:
      type: http
      description: >-
        Enterprise API Key or Marketplace API Key or Merchant Secret Token or
        Customer API Key or Merchant JWT or Customer JWT
      scheme: bearer
    Marketplace API Key | Admin JWT | Customer JWT:
      type: http
      description: Marketplace API Key or Admin JWT or Customer JWT
      scheme: bearer
    Marketplace API Key | Admin JWT | Marketplace JWT:
      type: http
      description: Marketplace API Key or Admin JWT or Marketplace JWT
      scheme: bearer
    Marketplace API Key | Admin JWT | Merchant JWT | Marketplace JWT:
      type: http
      description: Marketplace API Key or Admin JWT or Merchant JWT or Marketplace JWT
      scheme: bearer
    Marketplace API Key | Enterprise API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT:
      type: http
      description: >-
        Marketplace API Key or Enterprise API Key or Merchant Secret Token or
        Admin JWT or Merchant JWT or Marketplace JWT or Customer JWT
      scheme: bearer
    Marketplace API Key | Marketplace JWT | Admin JWT:
      type: http
      description: Marketplace API Key or Marketplace JWT or Admin JWT
      scheme: bearer
    Marketplace API Key | Merchant JWT | Marketplace JWT | Admin JWT:
      type: http
      description: Marketplace API Key or Merchant JWT or Marketplace JWT or Admin JWT
      scheme: bearer
    Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Public Token or Merchant Secret Token or
        Customer JWT
      scheme: bearer
    Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Public Token or Merchant Secret Token or
        Customer JWT or Merchant JWT or Marketplace JWT
      scheme: bearer
    Marketplace API Key | Merchant Public Token | Merchant Secret Token | Customer JWT | Merchant JWT | Marketplace JWT | Admin JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Public Token or Merchant Secret Token or
        Customer JWT or Merchant JWT or Marketplace JWT or Admin JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token:
      type: http
      description: Marketplace API Key or Merchant Secret Token
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Admin JWT | Customer JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Admin JWT or Customer
        JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Admin JWT | Marketplace JWT | Merchant JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Admin JWT or Marketplace
        JWT or Merchant JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Admin JWT or Merchant
        JWT or Marketplace JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Admin JWT or Merchant
        JWT or Marketplace JWT or Customer JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Customer JWT:
      type: http
      description: Marketplace API Key or Merchant Secret Token or Customer JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Marketplace JWT | Merchant JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Marketplace JWT or
        Merchant JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Merchant JWT:
      type: http
      description: Marketplace API Key or Merchant Secret Token or Merchant JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Merchant JWT or
        Marketplace JWT or Admin JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Merchant JWT | Marketplace JWT | Admin JWT | Customer JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Merchant JWT or
        Marketplace JWT or Admin JWT or Customer JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Pay By Link Token:
      type: http
      description: Marketplace API Key or Merchant Secret Token or Pay By Link Token
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Marketplace JWT | Merchant JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Pay By Link Token or
        Admin JWT or Marketplace JWT or Merchant JWT
      scheme: bearer
    Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Merchant JWT | Marketplace JWT:
      type: http
      description: >-
        Marketplace API Key or Merchant Secret Token or Pay By Link Token or
        Admin JWT or Merchant JWT or Marketplace JWT
      scheme: bearer
