token-io Settlement Accounts API

These endpoints provide authorized access to an authenticated user's settlement account information, enabling you to create settlement accounts, retrieve settlement account details, transactions and payouts, and manage settlement rules.

Operations 10

POST /virtual-accounts Create a settlement account #
GET /virtual-accounts Get settlement accounts #
GET /virtual-accounts/{accountId} Get a settlement account #
GET /virtual-accounts/{accountId}/transactions Get settlement account transactions #
GET /virtual-accounts/{accountId}/transactions/{providerPaymentId} Get a settlement account transaction #
POST /virtual-accounts/{accountId}/settlement-rule Create a settlement rule #
GET /virtual-accounts/{accountId}/settlement-rules Get settlement rules #
GET /virtual-accounts/{accountId}/settlement-rules/{settlementRuleId} Get a settlement rule #
DELETE /virtual-accounts/{accountId}/settlement-rules/{settlementRuleId} Delete a settlement rule #
GET /virtual-accounts/{accountId}/settlement-rule-payouts Get settlement account payouts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/token-io-settlement-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

token-io-settlement-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1.0'
  title: Token.io's Open Banking API for TPPs Account on File Settlement Accounts API
  description: '<b>Token.io''s Open Banking API</b><br/><br/>Token.io Support: <a href="https://support.token.io" target="_blank">support.token.io</a><br/><br/>The Token.io Open Banking API enables you to connect securely with banks for a range of services.<br/><br/> Using our API you can: <ul><li>provide authorized access to an authenticated user''s account information</li><li>get information on specific banks</li><li>initiate authorization with a user-selected bank</li><li>initate and track single immediate payments and future dated payments</li><li>use variable recurring payments (VRP) to grant long-held consents to Payment Initiation Service Providers (PISPs) to initiate series of payments from users'' bank accounts</li><li>carry out settlements, payments and refunds using our settlement accounts</li></ul><br/>For more information see our <a href="https://developer.token.io/token_rest_api_doc/content/e-rest/dashboard-intro.htm" target="_blank">developer documentation</a>.'
servers:
- url: https://api.token.io
tags:
- name: Settlement Accounts
  description: These endpoints provide authorized access to an authenticated user's settlement account information, enabling you to create settlement accounts, retrieve settlement account details, transactions and payouts, and manage settlement rules.
  x-internal: true
paths:
  /virtual-accounts:
    post:
      tags:
      - Settlement Accounts
      summary: Create a settlement account
      description: The `POST /virtual-accounts` endpoint creates a settlement account.
      operationId: GatewayService.CreateVirtualAccount
      x-internal: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVirtualAccountRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateVirtualAccountResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/CustomerNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
    get:
      tags:
      - Settlement Accounts
      summary: Get settlement accounts
      description: The `GET /virtual-accounts` endpoint retrieves information for all settlement accounts.
      operationId: GatewayService.GetVirtualAccounts
      x-internal: true
      parameters:
      - name: limit
        in: query
        required: false
        description: The maximum number of records to return. <br/>The maximum allowed limit is 200. If the passed limit is bigger than this, it will be set to 200.
        schema:
          format: int32
          type: integer
      - name: offset
        in: query
        required: false
        description: The offset for the current page. The offset is not required to fetch the first page. To fetch subsequent pages, use the 'nextOffset' value from the previous page response. <br/>The offset value should not be parsed and/or understood in any way.
        schema:
          type: string
      - name: currency
        in: query
        required: false
        description: The <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> three letter currency code.
        example: EUR
        schema:
          type: string
      - name: country
        in: query
        required: false
        description: Two-letter country code in upper case (ISO 3166-1 alpha-2).
        example: PL
        schema:
          type: string
      - name: nickname
        in: query
        required: false
        description: The alias name that identifies the settlement account.
        example: Account Alias
        schema:
          type: string
      - name: onBehalfOfId
        in: query
        description: The id of the ultimate client on whose behalf the account is created. If the account is created on behalf of a sub-TPP, this field should contain the sub-TPP `referenceId`. This field is mandatory for unregulated TPPs.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: c5a863bc-86f2-4418-a26f-25b24c7983c7
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountsResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/CustomerNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}:
    get:
      tags:
      - Settlement Accounts
      summary: Get a settlement account
      description: The `GET /virtual-accounts/{accountId}` endpoint the information, for a given settlement account.
      operationId: GatewayService.GetVirtualAccountById
      x-internal: true
      parameters:
      - name: accountId
        in: path
        description: The system-generated, unique id which specifies the settlement account.
        required: true
        schema:
          type: string
      - name: onBehalfOfId
        in: query
        description: Filters payments by the `onBehalfOfId` value - returns only payments with the `onBehalfOfId` value specified in this parameter.  This field is mandatory for unregulated TPPs.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: c5a863bc-86f2-4418-a26f-25b24c7983c7
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountByIdResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/AccountNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/transactions:
    get:
      tags:
      - Settlement Accounts
      summary: Get settlement account transactions
      description: The `GET /virtual-accounts/{accountId}/transactions` endpoint retrieves transcation information in a given settlement account.
      operationId: GatewayService.GetVirtualAccountTransactions
      x-internal: true
      parameters:
      - name: accountId
        in: path
        description: The system-generated, unique id which specifies the settlement account.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: The maximum number of records to return. <br/>The maximum allowed limit is 200. If the passed limit is bigger than this, it will be set to 200.
        schema:
          format: int32
          type: integer
      - name: offset
        in: query
        required: false
        description: The offset for the current page. The offset is not required to fetch the first page. To fetch subsequent pages, use the 'nextOffset' value from the previous page response. <br/>The offset value should not be parsed and/or understood in any way.
        schema:
          type: string
      - name: refId
        in: query
        required: false
        description: Filters transactions by their `refId` value - returns only transactions with `refId` mentioned in the reference.
        schema:
          type: string
      - name: startDate
        in: query
        description: Returns transactions created on or after this date, inclusive (in <a href="https://www.iso.org/iso-8601-date-and-time-format.html" target="_blank">ISO 8601</a> format).
        required: false
        schema:
          type: string
        example: '2022-04-05'
      - name: endDate
        in: query
        description: Returns transactions created on or before this date, inclusive (in <a href="https://www.iso.org/iso-8601-date-and-time-format.html" target="_blank">ISO 8601</a> format).
        required: false
        schema:
          type: string
        example: '2022-04-05'
      - name: amount
        in: query
        required: false
        description: Filters transactions by their transaction amount.
        schema:
          type: string
      - name: providerPaymentId
        in: query
        required: false
        description: Filters transactions by the provider-payment-id.
        schema:
          type: string
      - name: transactionType
        in: query
        required: false
        description: Filters transactions by type to include only CREDIT or DEBIT transactions.
        schema:
          $ref: '#/components/schemas/TransactionType'
        example: CREDIT
      - name: onBehalfOfId
        in: query
        description: Filters payments by the `onBehalfOfId` value - returns only payments with `onBehalfOfId` specified in this parameter. This field is mandatory for unregulated TPPs.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: c5a863bc-86f2-4418-a26f-25b24c7983c7
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountTransactionsResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/AccountNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/transactions/{providerPaymentId}:
    get:
      tags:
      - Settlement Accounts
      summary: Get a settlement account transaction
      description: The `GET /virtual-accounts/{accountId}/transactions/{providerPaymentId}` endpoint retrieves information for a specific transaction in a given settlement account.
      operationId: GatewayService.GetVirtualAccountTransaction
      x-internal: true
      parameters:
      - name: accountId
        in: path
        description: The system-generated, unique id which specifies the settlement account.
        required: true
        schema:
          type: string
      - name: providerPaymentId
        in: path
        description: The settlement account provider-assigned unique transaction identifier.
        required: true
        schema:
          type: string
      - name: onBehalfOfId
        in: query
        description: Filters payments by the `onBehalfOfId` value - returns only payments with `onBehalfOfId` specified in this parameter. This field is mandatory for unregulated TPPs.
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: c5a863bc-86f2-4418-a26f-25b24c7983c7
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountTransactionResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/AccountNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/settlement-rule:
    post:
      tags:
      - Settlement Accounts
      summary: Create a settlement rule
      description: The `POST /virtual-accounts/{accountId}/settlement-rule` endpoint creates a settlement rule, for a given settlement account.
      operationId: GatewayService.CreateVirtualAccountSettlementRule
      x-internal: true
      parameters:
      - name: accountId
        in: path
        description: The system-generated, unique id which specifies the settlement account.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVirtualAccountSettlementRuleRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateVirtualAccountSettlementRuleResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/AccountNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/settlement-rules:
    get:
      tags:
      - Settlement Accounts
      summary: Get settlement rules
      description: The `GET /virtual-accounts/{accountId}/settlement-rules` endpoint retrieves information about settlement rules, for a given settlement account, according to the settlement rule status in the request. If no status is provided, the endpoint retrieves all settlement rules for the settlement account.
      operationId: GatewayService.GetVirtualAccountSettlementRules
      x-internal: true
      parameters:
      - name: accountId
        description: The system-generated, unique id which specifies the settlement account.
        required: true
        in: path
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetVirtualAccountSettlementRulesRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountSettlementRulesResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/settlement-rules/{settlementRuleId}:
    get:
      tags:
      - Settlement Accounts
      summary: Get a settlement rule
      description: The `GET /virtual-accounts/{accountId}/settlement-rules/{settlementRuleId}` endpoint retrieves information for a specific settlement rule, for a given settlement account.
      operationId: GatewayService.GetVirtualAccountSettlementRule
      x-internal: true
      parameters:
      - name: accountId
        description: The system-generated, unique id which specifies the settlement account.
        in: path
        required: true
        schema:
          type: string
      - name: settlementRuleId
        description: The id of the settlement rule.
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountSettlementRuleResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/SettlementRuleNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
    delete:
      tags:
      - Settlement Accounts
      summary: Delete a settlement rule
      description: The ` DELETE /virtual-accounts/{accountId}/settlement-rules/{settlementRuleId}` endpoint delete an active settlement rule, for a given settlement account.
      operationId: GatewayService.DeleteVirtualAccountSettlementRule
      x-internal: true
      parameters:
      - name: accountId
        description: The system-generated, unique id which specifies the settlement account.
        in: path
        required: true
        schema:
          type: string
      - name: settlementRuleId
        description: The id of the settlement rule.
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteVirtualAccountSettlementRuleResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '404':
          $ref: '#/components/responses/SettlementRuleNotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
  /virtual-accounts/{accountId}/settlement-rule-payouts:
    get:
      tags:
      - Settlement Accounts
      summary: Get settlement account payouts
      description: The `GET /virtual-accounts/{accountId}/settlement-rule-payouts` endpoint retrieves information about payouts created by a settlement rule, for a given settlement account.
      operationId: GatewayService.GetVirtualAccountSettlementPayouts
      x-internal: true
      parameters:
      - name: accountId
        description: The system-generated, unique id which specifies the settlement account.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetVirtualAccountSettlementPayoutsRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVirtualAccountSettlementPayoutsResponse'
        '400':
          $ref: '#/components/responses/InvalidArgumentRequest'
        '401':
          $ref: '#/components/responses/UnauthenticatedResponse'
        '403':
          $ref: '#/components/responses/PermissionDeniedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/UnexpectedErrorResponse'
        '501':
          $ref: '#/components/responses/NotImplementedResponse'
        '503':
          $ref: '#/components/responses/ServiceUnavailableResponse'
        '504':
          $ref: '#/components/responses/GatewayTimeoutResponse'
      deprecated: false
      security:
      - Bearer: []
      - BasicAuth: []
      x-hideTryItPanel: true
components:
  schemas:
    DeleteVirtualAccountSettlementRuleResponse:
      type: object
      description: No data returned in the successful response.
    EUIbanAccount:
      title: EUIbanAccount
      required:
      - iban
      type: object
      properties:
        iban:
          type: string
          description: The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders. It consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
          example: GB29NWBK60161331926819
        bic:
          type: string
          description: The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the SWIFT Address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs are often called SWIFT Codes and can be either 8 or 11 characters long."
          example: BOFIIE2D
      description: Account details where the iban is required and the bic is optional.
    EUDomesticNonEuroAccountDebtor:
      title: EUDomesticNonEuroAccount
      oneOf:
      - $ref: '#/components/schemas/EUIbanAccount'
      - $ref: '#/components/schemas/BbanAccount'
      - $ref: '#/components/schemas/ClearingNumberAccount'
      description: The payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic, a BBAN account will require a bban and an optional bic, a Clearing Number account will require a bban and a clearingNumber.
    FasterPaymentsAccount:
      title: FasterPaymentsAccount
      required:
      - accountNumber
      - sortCode
      type: object
      properties:
        accountNumber:
          type: string
          description: The unique identifier for the bank account in the UK or Ireland.
          example: '12345678'
        sortCode:
          type: string
          description: The number assigned to a branch of a bank, typically containing six digits and most commonly used in the UK and Ireland.
          example: '123456'
      description: A UK or Irish account where the sort code and account number are required.
    refId:
      type: string
      description: The TPP-generated reference identifier for the token. This is not to be confused with the `requestId`. The `refId` maps to the `tppRefId` in the bank's `consentRequest`. This is needed to match/verify the originating token request with the bank's consent request. <br/>We recommend that the `refId` should not contain special characters (the allowed characters are the 26-letter Latin alphabet, the numerical digits from 0-9 and the hyphen '-'). This field should not exceed 18 characters in length.
      example: 9htio4a1sp2akdr1aa
    CorporateApiDebtorInformation:
      description: The debtor information.
      required:
      - accountId
      type: object
      properties:
        accountId:
          type: string
          description: The ID for the debtor settlement account.
          example: a12345
    ElixirAccountDebtor:
      title: ElixirAccount
      oneOf:
      - $ref: '#/components/schemas/PLIbanAccount'
      description: The Elixir debtor account details.
    GetVirtualAccountSettlementRuleResponse:
      type: object
      properties:
        settlementRule:
          $ref: '#/components/schemas/SettlementRule'
      description: Contains the response of the get settlement rule request.
    ElixirAccountCreditor:
      title: ElixirAccount
      oneOf:
      - $ref: '#/components/schemas/PLAccount'
      - $ref: '#/components/schemas/PLIbanAccount'
      description: The Elixir creditor account details.
    inline_response_429:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ResourceExhaustedError'
    GatewayTimeoutError:
      required:
      - paymentId
      type: object
      properties:
        errorCode:
          example: DEADLINE_EXCEEDED
        paymentId:
          type: string
          description: The deadline expired before the operation could complete.
          example: Deadline exceeded.
      description: The deadline expired before the operation could complete.
      allOf:
      - $ref: '#/components/schemas/ErrorWithCode'
    inline_response_503:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ServiceUnavailableError'
    inline_response_403:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/PermissionDeniedError'
    GetVirtualAccountTransactionResponse:
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/VirtualAccountTransaction'
    PayoutStatus:
      type: string
      description: The Token.io Payout Initiation Status. <br/><br/> INITIATION_PENDING - Token.io has received the payout initiation and the initiation passed Token.io validation. <br/><br/> INITIATION_PROCESSING - the payout is processing on the bank side. Status can be updated to one of INITIATION_COMPLETED, INITIATION_REJECTED or INITIATION_FAILED.<br/>If the status is never updated by the bank within certain period of time, the status will stay INITIATION_PROCESSING forever and the corresponding status reason information field will reflect this fact.<br/><br/> INITIATION_COMPLETED - the payout initiation is successful. This does not guarantee the payout is settled.<br/><br/> INITIATION_REJECTED - the payout is rejected by the bank. More details are shared in the corresponding status reason information.  <br/><br/> INITIATION_FAILED - Token.io failed to create the initiation due to failures on the bank side, e.g. the bank is not available at the moment.
      example: INITIATION_COMPLETED
      default: INITIATION_PENDING
      enum:
      - INITIATION_PENDING
      - INITIATION_PROCESSING
      - INITIATION_COMPLETED
      - INITIATION_REJECTED
      - INITIATION_FAILED
    RawDebtorInformation:
      description: Raw debtor information. The account information (one of) is required.
      allOf:
      - oneOf:
        - $ref: '#/components/schemas/SepaAccount'
        - $ref: '#/components/schemas/SepaInstantAccount'
        - $ref: '#/components/schemas/FasterPaymentsAccount'
        - $ref: '#/components/schemas/ElixirAccountDebtor'
        - $ref: '#/components/schemas/EUDomesticNonEuroAccountDebtor'
        - $ref: '#/components/schemas/EUDomesticNonEuroInstantAccountDebtor'
        - $ref: '#/components/schemas/BankGiroAccount'
        - $ref: '#/components/schemas/PlusGiroAccount'
      - type: object
        required:
        - name
        properties:
          name:
            type: string
            description: The debtor’s account owner name.
          ultimateDebtorName:
            type: string
            description: The ultimate debtor’s name.
          address:
            $ref: '#/components/schemas/Address'
    PermissionDeniedError:
      type: object
      properties:
        errorCode:
          example: PermissionDenied
      description: 'The error returned when the member is not authorized to perform the given operation: PermissionDenied. <br/>This error message will be accompanied by the reason from the bank. Typically this means the access token has expired and the user must re-authenticate with the bank.'
      allOf:
      - $ref: '#/components/schemas/ErrorWithCode'
    TokenizedAccountIdentifier:
      type: object
      properties:
        tokenizedAccountId:
          type: string
          description: Account on File identifier.
      required:
      - tokenizedAccountId
      additionalProperties: false
    EUDomesticNonEuroInstantAccountDebtor:
      title: EUDomesticNonEuroInstantAccount
      oneOf:
      - $ref: '#/components/schemas/EUIbanAccount'
      - $ref: '#/components/schemas/BbanAccount'
      - $ref: '#/components/schemas/ClearingNumberAccount'
      description: The instant payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic, a BBAN account will require a bban and an optional bic, a Clearing Number account will require a bban and a clearingNumber.
    Creditor:
      type: object
      properties:
        name:
          type: string
          description: The owner name for the creditor account.
          example: Customer Inc.
        ultimateCreditorName:
          type: string
          description: The ultimate creditor name.
          example: Customer Inc.
        bankName:
          type: string
          descrip

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/token-io/refs/heads/main/openapi/token-io-settlement-accounts-api-openapi.yml