token-io website screenshot

token-io

Token.io is an Open Banking infrastructure provider offering A2A (Account-to-Account) payments and account information services across Europe. Founded in 2016 and FCA-authorised since 2018, Token.io was the first payment initiation service provider to conduct an end-to-end PSD2-compliant Open Banking transaction. The Token.io platform connects developers and TPPs to over 4,000 banks via a single standardised API supporting Payment Initiation Services (PIS), Account Information Services (AIS), Variable Recurring Payments (VRP), refunds, payouts, settlement accounts, account verification, and Pay-by-Link checkout. Used by merchants, PSPs, fintechs, PFM apps, and platform businesses to replace card-rail payments and aggregate multibank data.

12 APIs 24 Features

APIs

Token.io Open Banking API

Token.io's Open Banking API for Third Party Providers (TPPs). Enables authorized access to authenticated users' account information, initiation and tracking of single immediate ...

Token.io JavaScript SDK

Official Token.io JavaScript SDK for Node.js and browser environments interacting with the Token System and Open Banking API.

Token.io PHP SDK

Official Token.io PHP SDK for interacting with the Token System and Open Banking API.

Token.io C# SDK

Official Token.io C# / .NET SDK for the Open Banking API.

Token.io Objective-C SDK

Official Token.io Objective-C SDK for iOS.

Token.io iOS Webview SDK

iOS webview SDK for embedding Token.io Hosted Payments pages in native iOS apps.

Token.io Android Webview SDK

Android webview SDK for embedding Token.io Hosted Payments pages in native Android apps.

Merchant Sample (Java)

Java merchant checkout sample illustrating Token.io payment initiation flows.

Merchant Sample (JavaScript)

Simple JavaScript merchant checkout example for Token.io.

Bank Sample (Java)

Sample implementation of the Token Bank Integration API in Java.

Personal Finance Management Sample (Java)

Simple personal finance app illustrating Token.io's Access Tokens for AIS use cases.

Merchant Integration Workshop

Hands-on workshop for integrating a merchant with Token Checkout.

Collections

Pricing Plans

Token Io Plans Pricing

4 plans

PLANS

Rate Limits

Token Io Rate Limits

3 limits

RATE LIMITS

FinOps

Features

Single Immediate Payments (SIP) via Payments v2
Future-Dated Payments
Variable Recurring Payments (VRP) — sweeping and commercial / non-sweeping
VRP Consents with fund availability checks
Account Information Services (AIS) — balances, transactions, standing orders, account details
Pay by Link — reusable payment URLs with usage and amount limits
Account on File — tokenized bank account references for repeat payments
Refunds tied to original payment transactions
Payouts — outbound transfer execution and monitoring
Settlement Accounts — virtual accounts, transaction lists, and settlement rules
Account Verification — name and account-holder confirmation checks
Banks v1 and Banks v2 — discovery of 4,000+ connected banks across Europe
Sub-TPP management for reseller and platform models
Authentication Keys API for managing JWT public keys
Webhooks for event notifications across payments and AIS lifecycle
Reports API for monitoring AIS/PIS bank status
JWT Bearer Token authentication (production and sandbox)
Basic Auth for sandbox testing
Hosted Payment Pages via iOS and Android webview SDKs
PSD2-compliant Payment Initiation Service (PIS) and Account Information Service (AIS)
FCA-authorised UK PISP / AISP since 2018
Coverage across UK and EU SEPA payment rails
Official SDKs for JavaScript, PHP, C#, and Objective-C
Sandbox environment at dashboard.sandbox.token.io

Use Cases

E-commerce Pay-by-Bank checkout (Account-to-Account payments)
Subscription billing via VRP commercial mandates
Utility bill recurring payments via VRP
Account top-ups (investment, gaming, mobile, savings)
Charity donations (zero-fee for charitable organisations)
Personal Finance Management (PFM) multibanking via AIS
Peer-to-peer (P2P) and Business-to-Business (B2B) payments
Lending and credit risk assessment via account data
Account verification for KYC and anti-fraud workflows
Payouts and settlements for marketplaces and platforms
Reseller / Sub-TPP platform integrations

Semantic Vocabularies

Token Io Context

0 classes · 6 properties

JSON-LD

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Reference
Reference
💬
Support
Support
🔗
Sandbox
Sandbox
👥
GitHubOrganization
GitHubOrganization
💰
Pricing
Pricing
📰
News
News
📰
Blog
Blog
💬
FAQ
FAQ
🔗
License
License
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Token.io's Open Banking API for TPPs
items:
- info:
    name: Accounts
    type: folder
  items:
  - info:
      name: Get information for all accounts
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts` endpoint retrieves information for all bank accounts.
  - info:
      name: Get account information
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The system-generated, unique bank account id, which specifies the account for which the information is
          requested.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}` endpoint retrieves the information for a specific bank account.
  - info:
      name: Get account balances
      type: http
    http:
      method: GET
      url: https://api.token.io/account-balance
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV,a:9TFpwkcQmcsMbdjQcpdjfsEBosDw28503fAAGPEMF2MVF19hfk3nc,a:rtmv254gaskGLdkadQvdNesk2Y9ferbvpaom5mvepm0mv2nfGnaix
        type: query
        description: A list of account ids for which you wish to retrieve account balances. Each `accountId` should be specified
          separately as accountId=a:xxx:xxx&accountId=a:yyy:yyy.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /account-balance` endpoint retrieves the balances for multiple bank accounts.
  - info:
      name: Get an account balance
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId/balance
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The unique bank account id, which specifies the account for which the information is requested.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}/balance` endpoint retrieves the balance for a given bank account.
  - info:
      name: Get information for all standing orders
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId/standing-orders
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The unique bank account id, which specifies the account for which the information is requested.
      - name: page.offset
        value: LerV6Jmex
        type: query
        description: The offset for the current page. If the offset has been provided in the request, this offset will be
          equal to the provided one. But if no offset was provided in the request (<i>i.e.</i> this is the first page) and
          the page is not empty, this field will be populated with a non-empty string. This may be helpful for loading the
          same page again, which might not always be possible with an empty offset due to a dynamic nature of the data. <br>The
          offset is not visible to a user and should not be parsed and/or understood in any way.
      - name: page.limit
        value: ''
        type: query
        description: The maximum number of records to return. This must be less than 200.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}/standing-orders` endpoint retrieves information for all standing orders in a given
      account, once consent has been given.
  - info:
      name: Get standing order information
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId/standing-orders/:standingOrderId
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The system-generated, unique bank account id, which specifies the account for which the information is
          requested.
      - name: standingOrderId
        value: ''
        type: path
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}/standing-orders/{standingOrderId}` endpoint retrieves information for a specific
      standing order in a given account, once consent has been given.
  - info:
      name: Get account transactions
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId/transactions
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The system-generated unique bank account id, which specifies the account for which the information is
          requested.
      - name: page.offset
        value: LerV6Jmex
        type: query
        description: The offset for the current page. If the offset has been provided in the request, this offset will be
          equal to the provided one. But if no offset was provided in the request (<i>i.e.</i> this is the first page) and
          the page is not empty, this field will be populated with a non-empty string. This may be helpful for loading the
          same page again, which might not always be possible with an empty offset due to a dynamic nature of the data. <br/>The
          offset is not visible to a user and should not be parsed and/or understood in any way.
      - name: page.limit
        value: ''
        type: query
        description: The maximum number of records to return. This must be less than 200.
      - name: startDate
        value: ''
        type: query
        description: The earliest transaction date requested, in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"
          target="_blank">ISO 8601</a> format.
      - name: endDate
        value: ''
        type: query
        description: The latest transaction date requested, in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"
          target="_blank">ISO 8601</a> format.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}/transactions` endpoint retrieves information for all transactions in a given account.
  - info:
      name: Get transaction information
      type: http
    http:
      method: GET
      url: https://api.token.io/accounts/:accountId/transaction/:transactionId
      headers:
      - name: on-behalf-of
        value: ta:3eYPU1BEKKunfmYgQuSKXFCeo851C5Y3XiZW3XA465TU:5zKtXEAq
      - name: token-customer-ip-address
        value: 172.16.254.1
      params:
      - name: accountId
        value: a:8DbPteGnytmMbKXdnWTReeRB6cYWKXZ84JgLTBC7fKL4:5zKcENpV
        type: path
        description: The unique bank account id, which specifies the account for which the information is requested.
      - name: transactionId
        value: 42909b155d4942299c39017686b5dc36
        type: path
        description: The unique transaction identifier, which specifies the transaction requested.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /accounts/{accountId}/transaction/{transactionId}` endpoint retrieves information for a specific transaction
      in a given account.
- info:
    name: Banks v1
    type: folder
  items:
  - info:
      name: Get banks v1
      type: http
    http:
      method: GET
      url: https://api.token.io/banks
      params:
      - name: page
        value: '1'
        type: query
        description: The index of the page currently being retrieved.
      - name: perPage
        value: ''
        type: query
        description: The number of records per page.
      - name: sort
        value: ''
        type: query
        description: The key to sort the result. This can be `name` (<i>i.e.</i>, bank name), `provider`, or `country`.
      - name: memberId
        value: m:nP4w3u5y8ddrxDJkjimgSX9e4fZ:5zKtXEAq
        type: query
        description: The Token.io-assigned member id of the TPP.
      - name: ids
        value: ''
        type: query
        description: Filters for banks with a `bankId` (case-insensitive) matching any of the ids listed, up to a maximum
          of 1000. Only exact (full string) matches are returned.
      - name: search
        value: ''
        type: query
        description: Filters for banks with a name or identifiers containing this search string.
      - name: tppId
        value: 4h27g823-g73s-07v3-l49s-prte94bf21v
        type: query
        description: Filters for banks for which the TPP represented by this `tppId` has access.
      - name: providers
        value: ''
        type: query
        description: Filters for banks that are accessed through any of the listed providers.
      - name: bankCode
        value: NBAGDE3E
        type: query
        description: Filters for banks with a BIC (or BLZ, if German) that matches this `bankCode`. The BIC must have a string
          length of 8 or 11. The BLZ must have a string length of 8.
      - name: countries
        value: ''
        type: query
        description: Filters for banks that are located in the countries specified by this list of two-letter country codes
          in upper case (ISO 3166-1 alpha-2).
      - name: bank_features.supports_send_payment.value
        value: ''
        type: query
        description: Filters for banks that support payment initiation.
      - name: bank_features.supports_receive_payment.value
        value: ''
        type: query
        description: Filters for banks that support receiving payments.
      - name: bank_features.supports_balance.value
        value: ''
        type: query
        description: Filters for the banks that support retrieving balances.
      - name: bank_features.supports_scheduled_payment.value
        value: ''
        type: query
        description: Filters for banks that support future dated scheduled payments.
      - name: bank_features.supports_standing_order.value
        value: ''
        type: query
        description: Filters for banks that support recurring payments/standing orders.
      - name: bank_features.requires_one_step_payment.value
        value: ''
        type: query
        description: Filters for banks that only support immediate redemption of transfers.
      - name: bank_features.supports_funds_confirmation.value
        value: ''
        type: query
        description: Filters for the banks that support confirmation of available funds.
      - name: bank_features.supports_return_refund_account.value
        value: ''
        type: query
        description: Filters for the banks that support request of refund account.
      - name: bank_features.supports_transactions_date_filter.value
        value: ''
        type: query
        description: Filters for banks that support retrieving transactions by date filter.
      - name: bank_features.supports_account_information.value
        value: ''
        type: query
        description: Filters for banks that support retrieval of account information.
      - name: bank_features.supports_single_payment.value
        value: ''
        type: query
        description: Filters for banks that support single immediate payments.
      - name: bank_features.supports_variable_recurring_payment.value
        value: ''
        type: query
        description: Filters for banks that support variable recurring payments.
      - name: bics
        value: ''
        type: query
        description: Filters for banks whose BIC matches any of the listed BICs (case-insensitive), up to a maximum of 1000.
      - name: supportedPaymentNetworks
        value: ''
        type: query
        description: Filters for banks that support any of the listed payment networks.
      - name: bankGroup
        value: HSBC,Coop
        type: query
        description: Filters for banks that are part of the bank group specified.
      - name: bankSubGroup
        value: CMM Grand,Banque Populaire,La Banque
        type: query
        description: Filters for banks that are part of the bank sub-group specified.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /banks` endpoint retrieves a list of connected banks matching the parameters specified.
  - info:
      name: Get bank countries
      type: http
    http:
      method: GET
      url: https://api.token.io/bank/countries
      params:
      - name: ids
        value: goldbank,opalbank,platinumbank
        type: query
        description: Filters for banks with bank ids that are represented in this list of ids (case-insensitive), up to a
          maximum of 1000.
      - name: search
        value: ''
        type: query
        description: Filters for banks with names or identifiers that contain this search string (case sensitive).
      - name: tppId
        value: ''
        type: query
        description: Filters for banks to which the TPP with this `tppId` has access.
      - name: bankCode
        value: ''
        type: query
        description: Filters for banks with a BIC (or BLZ, if German) that matches this `bankCode`. The BIC must have a string
          length of 8 or 11. The BLZ must have a string length of 8.
      - name: countries
        value: ''
        type: query
        description: Filters for banks that are located in the countries specified by this list of two-letter country code
          in upper case (ISO 3166-1 alpha-2).
      - name: providers
        value: ''
        type: query
        description: Filters for banks that are accessed through any of this list of providers.
      - name: bank_features.supports_send_payment.value
        value: ''
        type: query
        description: Filters for banks that support payment initiation.
      - name: bank_features.supports_receive_payment.value
        value: ''
        type: query
        description: Filters for banks that support the receipt of payments.
      - name: bank_features.supports_balance.value
        value: ''
        type: query
        description: Filters for the banks that support retrieving account balances.
      - name: bank_features.supports_scheduled_payment.value
        value: ''
        type: query
        description: Filters for banks that support future dated scheduled payments.
      - name: bank_features.supports_standing_order.value
        value: ''
        type: query
        description: Filters for banks that support standing orders/recurring payments.
      - name: bank_features.requires_one_step_payment.value
        value: ''
        type: query
        description: Filters for banks that only support immediate redemption of transfer tokens.
      - name: bank_features.supports_funds_confirmation.value
        value: ''
        type: query
        description: Filters for banks that support confirmation of available funds.
      - name: bank_features.supports_return_refund_account.value
        value: ''
        type: query
        description: Filters for banks that support the request of refund account.
      - name: bank_features.supports_transactions_date_filter.value
        value: ''
        type: query
        description: Filters for banks that support retrieving transactions by date filter.
      - name: bank_features.supports_account_information.value
        value: ''
        type: query
        description: Filters for banks that support retrieving account information using Account Information Services (AIS).
      - name: bank_features.supports_single_payment.value
        value: ''
        type: query
        description: Filters for banks that support single immediate payments.
      - name: bank_features.supports_variable_recurring_payment.value
        value: ''
        type: query
        description: Filters for banks that support variable recurring payments.
      - name: memberId
        value: m:nP4w3u5y8ddrxDJkjimgSX9e4fZ:5zKtXEAq
        type: query
        description: The Token.io-assigned member id of the TPP.
      - name: supportedPaymentNetworks
        value: ''
        type: query
        description: Filters for banks that support any of the listed payment networks.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /banks/countries` endpoint retrieves the list of countries that have connected banks which match the parameters
      specified.
- info:
    name: Sub-TPPs
    type: folder
  items:
  - info:
      name: Get sub-TPPs
      type: http
    http:
      method: GET
      url: https://api.token.io/member/sub-tpps
      params:
      - name: page.offset
        value: LerV6Jmex
        type: query
        description: The offset for the current page. If the offset has been provided in the request, this offset will be
          equal to the provided one. But if no offset was provided in the request (<i>i.e.</i> this is the first page) and
          the page is not empty, this field will be populated with a non-empty string. This may be helpful for loading the
          same page again, which might not always be possible with an empty offset due to a dynamic nature of the data. <br/>The
          offset is not visible to a user and should not be parsed and/or understood in any way.
      - name: page.limit
        value: ''
        type: query
        description: The maximum number of records to return. This must be less than 200.
      - name: filter.byCompanyNames
        value: ''
        type: query
        description: Filters the sub-TPPs by the list of company names submitted.
      - name: filter.byRegistrationDates
        value: ''
        type: query
        description: Filters the sub-TPPs by the list of registration dates submitted.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /member/sub-tpps` endpoint retrieves a list of all sub-TPPs for a reseller.
  - info:
      name: Create a sub-TPP
      type: http
    http:
      method: POST
      url: https://api.token.io/member/sub-tpps
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `POST /member/sub-tpps` endpoint creates a new sub-TPP for a reseller.
  - info:
      name: Get sub-TPP information
      type: http
    http:
      method: GET
      url: https://api.token.io/member/sub-tpps/:subTppId
      params:
      - name: subTppId
        value: ''
        type: path
        description: This id specifies the sub-TPP to be retrieved.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /member/sub-tpps/{subTppId}` endpoint retrieves the details of the specified sub-TPP for a reseller.
  - info:
      name: Delete a sub-TPP
      type: http
    http:
      method: DELETE
      url: https://api.token.io/member/sub-tpps/:subTppId
      params:
      - name: subTppId
        value: 8d54f066-c14a-47c0-b58b-fec6b0ed6b4c
        type: path
        description: This id specifies the sub-TPP to delete.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `DELETE /member/sub-tpps/{subTppId}` endpoint deletes an existing sub-TPP for a reseller.
  - info:
      name: Get sub-TPP children
      type: http
    http:
      method: GET
      url: https://api.token.io/member/sub-tpps/:subTppId/children
      params:
      - name: subTppId
        value: ''
        type: path
        description: This id specifies the sub-TPP for which the children are to be retrieved.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /member/sub-tpps/{subTppId}/children` endpoint retrieves the sub-TPP children for given sub-TPP.
- info:
    name: Authentication keys
    type: folder
  items:
  - info:
      name: Get public keys
      type: http
    http:
      method: GET
      url: https://api.token.io/member/:memberId/keys
      params:
      - name: memberId
        value: ''
        type: path
        description: This id specifies the member for whom the public keys are to be retrieved.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /member/{memberId}/keys` endpoint retrieves a list of all public keys, for the specified member.
  - info:
      name: Submit a public key
      type: http
    http:
      method: POST
      url: https://api.token.io/member/:memberId/keys
      params:
      - name: memberId
        value: ''
        type: path
        description: This id specifies the member for whom the public key is to be submitted.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `POST /member/{memberId}/keys` endpoint submits a public key for authentication, for the specified member.
  - info:
      name: Get a public key
      type: http
    http:
      method: GET
      url: https://api.token.io/member/:memberId/keys/:keyId
      params:
      - name: memberId
        value: ''
        type: path
        description: This id specifies the member for whom the public key is to be retrieved.
      - name: keyId
        value: ''
        type: path
        description: This id specifies the public key to be retrieved.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /member/{memberId}/keys/{keyId}` endpoint retrieves the details of a specific public key, for the specified
      member.
  - info:
      name: Delete a public key
      type: http
    http:
      method: DELETE
      url: https://api.token.io/member/:memberId/keys/:keyId
      params:
      - name: memberId
        value: ''
        type: path
        description: This id specifies the member for whom the public key is to be deleted.
      - name: keyId
        value: ''
        type: path
        description: This id specifies the public key to be deleted.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `DELETE /member/{memberId}/keys/{keyId}` endpoint deletes an existing public key, for the specified member.
- info:
    name: Reports
    type: folder
  items:
  - info:
      name: Get bank statuses
      type: http
    http:
      method: GET
      url: https://api.token.io/reports/banks/status
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /reports/banks/status` endpoint returns the current AIS and PIS service status along with server status
      for all banks.
  - info:
      name: Get a bank status
      type: http
    http:
      method: GET
      url: https://api.token.io/reports/banks/:bankId/status
      params:
      - name: bankId
        value: ob-goldbank
        type: path
        description: The bank identifier, identical to the `id` in the repsonse to `GET /banks`.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /reports/banks/{bankId}/status` endpoint returns the current AIS and PIS service status for a specific
      bank.
- info:
    name: Requests - for Payments v1 or AIS
    type: folder
  items:
  - info:
      name: Initiate a token request
      type: http
    http:
      method: POST
      url: https://api.token.io/token-requests
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `POST /token-requests` endpoint persists the required information used by AIS requests and PIS requests using
      the API and the Token.io Hosted Pages.
  - info:
      name: Get a token request
      type: http
    http:
      method: GET
      url: https://api.token.io/token-requests/:requestId
      params:
      - name: requestId
        value: ''
        type: path
        description: The request id received in response to the original token request.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /token-requests/{requestId}` endpoint retrieves a specific token request by its id.
  - info:
      name: Get a token request result
      type: http
    http:
      method: GET
      url: https://api.token.io/token-requests/:tokenRequestId/result
      params:
      - name: tokenRequestId
        value: ''
        type: path
        description: The token request id received in response to the original token request.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /token-requests/{tokenRequestId}/result` endpoint checks whether a token request result is available. This
      endpoint will return a `PENDING` status while the result is not available. The status will become `PROCESSED` once the
      result is available. If the request is rejected by the bank, the status will become `REJECTED`. The status will become
      `EXPIRED` if the request is not processed or rejected before the token request expiration.
  - info:
      name: Initiate bank authorization
      type: http
    http:
      method: POST
      url: https://api.token.io/token-requests/:tokenRequestId/authorization
      params:
      - name: tokenRequestId
        value: ''
        type: path
        description: The token request id received in response to the original token request.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `POST /token-requests/{tokenRequestId}/authorization` endpoint initiates the bank authorization process with
      a given bank id and token request id.
- info:
    name: Tokens
    type: folder
  items:
  - info:
      name: Get tokens
      type: http
    http:
      method: GET
      url: https://api.token.io/tokens
      params:
      - name: type
        value: ''
        type: query
        description: Specifies the type of token returned.
      - name: page.offset
        value: LerV6Jmex
        type: query
        description: The offset for the current page. If the offset has been provided in the request, this offset will be
          equal to the provided one. But if no offset was provided in the request (<i>i.e.</i> this is the first page) and
          the page is not empty, this field will be populated with a non-empty string. This may be helpful for loading the
          same page again, which might not always be possible with an empty offset due to a dynamic nature of the data. <br/>The
          offset is not visible to a user and should not be parsed and/or understood in any way.
      - name: page.limit
        value: ''
        type: query
        description: The maximum number of records to return. This must be less than 200.
      - name: filter.sourceAccountId
        value: ''
        type: query
        description: Identifies the payer's account.
      - name: filter.destinationAccountId
        value: ''
        type: query
        description: Identifies the payee/beneficiary's account.
      - name: filter.startTimeMs
        value: '67505'
        type: query
        description: The filtered list start timestamp in milliseconds, 1 day (24 hours) = 8640000000, 1 hour = 36000000,
          and 1 minute = 60000.
      - name: filter.endTimeMs
        value: '365650'
        type: query
        description: The filtered list end timestamp in milliseconds, 1 day (24 hours) = 8640000000, 1 hour = 36000000, and
          1 minute = 60000.
      - name: filter.role
        value: ''
        type: query
        description: Filters by `accountHolder` role.
      - name: filter.actingAsRefId
        value: 4kwl35c9sp3fwp4xq
        type: query
        description: Filters the list by the sub-TPP identifier generated by Token.io once a TPP has been onboarded.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /tokens` endpoint retrieves a list of all tokens for the authenticated member.
  - info:
      name: Get a token
      type: http
    http:
      method: GET
      url: https://api.token.io/tokens/:tokenId
      params:
      - name: tokenId
        value: tt:8zK1dic95omjWb72gvc3z3ELKbTNfnGd89MbDnM73er4:ZhBVAJSH8DeU1
        type: path
        description: Identifies a unique authorization token for a transfer, standing order, or account information access.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `GET /tokens/{tokenId}` endpoint retrieves information about a specific token for the authenticated member.
  - info:
      name: Cancel a token
      type: http
    http:
      method: PUT
      url: https://api.token.io/tokens/:tokenId/cancel
      headers:
      - name: token-customer-ip-address
        value: 172.16.254.1
      - name: customer-initiated
        value: 'true'
      - name: token-customer-device-id
        value: 00000000-00000000-01234567-89ABCDEF
      params:
      - name: tokenId
        value: ''
        type: path
        description: Identifies a unique authorization token for a transfer, standing order, or account information access.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: The `PUT /tokens/{tokenId}/cancel` endpoint cancels a given token.
- info:
    name: Transfers - for Payments v1
    type: folder
  items:
  - info:
      name: Get transfers
      type: http
    http:
      method: GET
      url: https://api.token.io/transfers
      params:
      - name: tokenId
        value: ''
        type: query
        description: Identifies the authorization token for the request.
      - name: page.offset
        value: LerV6Jmex
        type: query
        description: The offset for the current page. If the offset has been provided in the request, this offset will be
          equal to the provided one. But if no offset was provided in the request (<i>i.e.</i> this is the first page) and
          the page is not empty, this field will be populated with a non-empty string. This may be helpful for loading the
          same page again, which might not always be possible with an empty offset due to a dynamic nature of the data. <br/>The
          offset is not visible to a user and should not be parsed and/or understood in any way.
      - name: page.limit
        value: ''
        type: query
        description: The maximum number of records to return. This must be less than 200.
      - name: filter.tokenId
        value: tt:3kFGtpEKHu8S2fJuEkb6YPnHZ4bJ2oUrYPCsJop68vCH:5zKcENpV
        type: query
        description: Filters by the authorization token id.
      - name: filter.startTimeMs
        value: '72799'
        type: query
        description: Filtered list start time boundary in milliseconds, 1 day (24 hours) = 8640000000, 1 hour = 36000000,
          and 1 minute = 60000.
      - name: filter.endTimeMs
        value: '3341983424'
        type: query
        description: Filtered list end time boundary in milliseconds, 1 day (24 hours) = 8640000000, 1 hour = 36000000, and
          1 minute = 60000.
      - name: filter.transactionStatus
        value: ''
        type: query
        description: Filters by transaction status. <ul> <li><b>PROCESSING</b> – This status indicates that the transaction
          is in process and that the final status has not been received from the bank.</li><li><b>SUCCESS</b> – This status
      

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