Token.io Info API

The info API from Token.io — 5 operation(s) for info.

Operations 5

GET /bank/countries Get list of bank countries #
GET /banks Get list of banks matching criteria #
GET /banks/{bankId}/info Get bank information #
POST /banks/{bankId}/token-requests/{tokenRequestId}/urls Produce bank authorization url #
POST /token-requests/{tokenRequestId}/authorization Initiate authorization with the bank #

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-info-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-info-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Token Info API
  version: 1.0.0
  description: Token REST API.
servers:
- url: https://api.token.io/v1
tags:
- name: Info
paths:
  /bank/countries:
    get:
      operationId: GatewayService.GetBanksCountries
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.GetBanksCountriesResponse'
      parameters:
      - name: ids
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: search
        in: query
        required: false
        schema:
          type: string
      - name: tppId
        in: query
        required: false
        schema:
          type: string
      - name: bankCode
        in: query
        required: false
        schema:
          type: string
      - name: countries
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: providers
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: bank_features.supportsAppless
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsGuestCheckout
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsInformation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.requiresExternalAuth
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsSendPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsReceivePayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsBalance
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsScheduledPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsStandingOrder
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsBulkTransfer
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.requiresOneStepPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsLinkingUri
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAisGuestCheckout
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsFundsConfirmation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsCheckoutFlowV2
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsGetConsent
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsReturnRefundAccount
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionsDateFilter
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountInformation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsSinglePayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsVariableRecurringPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountDetails
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountBalance
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionDetails
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsStandingOrderList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsDeleteAisConsent
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsUnattendedCallsLimit
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: memberId
        in: query
        required: false
        schema:
          type: string
      - name: supportedPaymentNetworks
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      tags:
      - Info
      summary: Get list of bank countries
      description: Retrieve the list of countries with Token-integrated banks
      deprecated: false
  /banks:
    get:
      operationId: GatewayService.GetBanks
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.GetBanksResponse'
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: perPage
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: sort
        in: query
        required: false
        schema:
          type: string
      - name: memberId
        in: query
        required: false
        schema:
          type: string
      - name: ids
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: search
        in: query
        required: false
        schema:
          type: string
      - name: tppId
        in: query
        required: false
        schema:
          type: string
      - name: providers
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: bankCode
        in: query
        required: false
        schema:
          type: string
      - name: countries
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: bank_features.supportsAppless
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsGuestCheckout
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsInformation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.requiresExternalAuth
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsSendPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsReceivePayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsBalance
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsScheduledPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsStandingOrder
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsBulkTransfer
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.requiresOneStepPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsLinkingUri
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAisGuestCheckout
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsFundsConfirmation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsCheckoutFlowV2
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsGetConsent
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsReturnRefundAccount
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionsDateFilter
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountInformation
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsSinglePayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsVariableRecurringPayment
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountDetails
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsAccountBalance
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsTransactionDetails
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsStandingOrderList
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsDeleteAisConsent
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bank_features.supportsUnattendedCallsLimit
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: bics
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: supportedPaymentNetworks
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: bankGroup
        in: query
        required: false
        schema:
          type: string
      - name: bankSubGroup
        in: query
        required: false
        schema:
          type: string
      - name: scaMethods
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      tags:
      - Info
      summary: Get list of banks matching criteria
      description: Retrieve the list of Token-integrated banks matching feature criteria for the selected country
      deprecated: false
  /banks/{bankId}/info:
    get:
      operationId: GatewayService.GetBankInfo
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.GetBankInfoResponse'
      parameters:
      - name: bankId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Info
      summary: Get bank information
      description: Retrieve information about the Token-supported bank identified
      deprecated: false
  /banks/{bankId}/token-requests/{tokenRequestId}/urls:
    post:
      operationId: GatewayService.GetBankAuthUrl
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.GetBankAuthUrlResponse'
      parameters:
      - name: bankId
        in: path
        required: true
        schema:
          type: string
      - name: tokenRequestId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Info
      summary: Produce bank authorization url
      description: Generates a bank authorization url for the given token request id
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/io.token.proto.gateway.GetBankAuthUrlRequest'
        required: true
  /token-requests/{tokenRequestId}/authorization:
    post:
      operationId: GatewayService.InitiateBankAuthorization
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.InitiateBankAuthorizationResponse'
      parameters:
      - name: tokenRequestId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Info
      summary: Initiate authorization with the bank
      description: Given a bank ID and token request ID, initiate bank authorization process
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/io.token.proto.gateway.InitiateBankAuthorizationRequest'
        required: true
components:
  schemas:
    io.token.proto.common.bank.MandatoryFields.Transfer:
      type: object
      properties:
        domestic:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields'
        international:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields'
    io.token.proto.common.bank.BankInfo:
      type: object
      properties:
        aliasTypes:
          items:
            $ref: '#/components/schemas/io.token.proto.common.alias.Alias.Type'
          type: array
        bankLinkingUri:
          type: string
        customAliasLabel:
          type: string
        linkingUri:
          type: string
        realm:
          items:
            type: string
          type: array
        redirectUriRegex:
          type: string
    io.token.proto.gateway.CredentialFields:
      type: object
      properties:
        fields:
          items:
            $ref: '#/components/schemas/io.token.proto.common.providerspecific.CredentialField'
          type: array
    io.token.proto.common.bank.FieldFormatInformation:
      type: object
      properties:
        constraint:
          type: string
        name:
          type: string
        path:
          type: string
        v2Name:
          type: string
        v2Path:
          type: string
    io.token.proto.common.bank.MandatoryFields.Fields:
      type: object
      properties:
        beneficiaryAddress:
          format: boolean
          type: boolean
        beneficiaryName:
          format: boolean
          type: boolean
        debtorAccount:
          format: boolean
          type: boolean
        debtorName:
          format: boolean
          type: boolean
        fields:
          items:
            type: string
          type: array
        polishApi:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields.PolishApi'
        polishapiFields:
          items:
            type: string
          type: array
        stet:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields.Stet'
        stetFields:
          items:
            type: string
          type: array
    io.token.proto.common.bank.AuthMetadataField:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
    io.token.proto.gateway.GetBankAuthUrlRequest:
      type: object
      properties:
        consentAccepted:
          format: boolean
          type: boolean
    io.token.proto.common.providerspecific.CredentialField:
      type: object
      properties:
        description:
          type: string
        displayName:
          type: string
        flickerCode:
          type: string
        id:
          type: string
        image:
          type: string
        options:
          items:
            type: string
          type: array
        password:
          format: boolean
          type: boolean
        type:
          $ref: '#/components/schemas/io.token.proto.common.providerspecific.CredentialField.Type'
    io.token.proto.gateway.InitiateBankAuthorizationRequest:
      type: object
      properties:
        consentAccepted:
          format: boolean
          type: boolean
        credentials:
          $ref: '#/components/schemas/io.token.proto.gateway.InitiateBankAuthorizationRequest.CredentialsEntry'
        useCredentialFlow:
          format: boolean
          type: boolean
        useWebappCredentialsFlow:
          format: boolean
          type: boolean
    io.token.proto.common.providerspecific.ScaStatus:
      enum:
      - INVALID
      - AUTHENTICATED
      - AUTHENTICATION_FAILED
      - DECLINED_BY_PSU
      default: INVALID
      type: string
    io.token.proto.common.bank.OpenBankingStandard:
      enum:
      - Invalid_Standard
      - UK_Open_Banking_Standard
      - Starling_Bank_API
      - PolishAPI
      - STET_PSD2_API
      - Citi_Handlowy_PSD2_API
      - NextGenPSD2
      - Slovak_Banking_API_Standard
      - Czech_Open_Banking_Standard
      - Budapest_Bank_API
      - Token
      default: Invalid_Standard
      type: string
    io.token.proto.common.providerspecific.CredentialField.Type:
      enum:
      - INVALID
      - FIELD
      - PASSWORD
      - PSU_MESSAGE
      - IMAGE
      - FLICKER
      - DECOUPLED
      - CONFIRMATION
      default: INVALID
      type: string
    io.token.proto.common.bank.MandatoryFields.Fields.PolishApi:
      type: object
      properties:
        deliveryMode:
          format: boolean
          type: boolean
    io.token.proto.common.bank.MaintenanceWindow:
      type: object
      properties:
        endTime:
          type: string
        productType:
          $ref: '#/components/schemas/io.token.proto.common.bank.ProductType'
        startTime:
          type: string
        type:
          $ref: '#/components/schemas/io.token.proto.common.bank.MaintenanceWindow.Type'
    io.token.proto.common.alias.Alias.Type:
      enum:
      - INVALID
      - UNKNOWN
      - EMAIL
      - PHONE
      - DOMAIN
      - USERNAME
      - BANK
      - CUSTOM
      - EIDAS
      default: INVALID
      type: string
    io.token.proto.common.bank.MandatoryFields.StandingOrder:
      type: object
      properties:
        domestic:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields'
        international:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Fields'
    io.token.proto.common.bank.Bank:
      type: object
      properties:
        authorizationMetadata:
          items:
            $ref: '#/components/schemas/io.token.proto.common.bank.AuthMetadataField'
          type: array
        bankGroup:
          type: string
        bankSubGroup:
          type: string
        bic:
          type: string
        countries:
          items:
            type: string
          type: array
        country:
          type: string
        credentialFields:
          items:
            $ref: '#/components/schemas/io.token.proto.common.providerspecific.CredentialField'
          type: array
        fieldsFormatInformation:
          items:
            $ref: '#/components/schemas/io.token.proto.common.bank.FieldFormatInformation'
          type: array
        fullLogoUri:
          type: string
        id:
          type: string
        identifier:
          type: string
        logoUri:
          type: string
        maintenanceWindow:
          items:
            $ref: '#/components/schemas/io.token.proto.common.bank.MaintenanceWindow'
          type: array
        mandatoryFields:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields'
        name:
          type: string
        openBankingStandard:
          $ref: '#/components/schemas/io.token.proto.common.bank.OpenBankingStandard'
        operationalTime:
          type: string
        provider:
          type: string
        rank:
          format: int32
          type: integer
        requiresExternalAuth:
          format: boolean
          type: boolean
        requiresLegacyTransfer:
          format: boolean
          type: boolean
        requiresOneStepPayment:
          format: boolean
          type: boolean
        scaMethods:
          items:
            $ref: '#/components/schemas/io.token.proto.common.bank.ScaMethod'
          type: array
        supportedTransferDestinationTypes:
          items:
            type: string
          type: array
        supportsAccountBalance:
          format: boolean
          type: boolean
        supportsAccountDetails:
          format: boolean
          type: boolean
        supportsAccountList:
          format: boolean
          type: boolean
        supportsAisGuestCheckout:
          format: boolean
          type: boolean
        supportsAppToAppOnAndroid:
          format: boolean
          type: boolean
        supportsAppToAppOnIos:
          format: boolean
          type: boolean
        supportsAppless:
          format: boolean
          type: boolean
        supportsBalance:
          format: boolean
          type: boolean
        supportsBulkTransfer:
          format: boolean
          type: boolean
        supportsCheckoutFlowV2:
          format: boolean
          type: boolean
        supportsDeleteAisConsent:
          format: boolean
          type: boolean
        supportsFundsConfirmation:
          format: boolean
          type: boolean
        supportsGetConsent:
          format: boolean
          type: boolean
        supportsGuestCheckout:
          format: boolean
          type: boolean
        supportsInformation:
          format: boolean
          type: boolean
        supportsLinkingUri:
          format: boolean
          type: boolean
        supportsReceivePayment:
          format: boolean
          type: boolean
        supportsReturnRefundAccount:
          format: boolean
          type: boolean
        supportsScheduledPayment:
          format: boolean
          type: boolean
        supportsSendPayment:
          format: boolean
          type: boolean
        supportsStandingOrder:
          format: boolean
          type: boolean
        supportsStandingOrderList:
          format: boolean
          type: boolean
        supportsTransactionDetails:
          format: boolean
          type: boolean
        supportsTransactionList:
          format: boolean
          type: boolean
        supportsTransactionsDateFilter:
          format: boolean
          type: boolean
        supportsUnattendedCallsLimit:
          format: boolean
          type: boolean
        supportsVariableRecurringPayment:
          format: boolean
          type: boolean
        transactionHistoryLimit:
          format: int32
          type: integer
    io.token.proto.common.bank.MaintenanceWindow.Type:
      enum:
      - INVALID
      - NO_DOWNTIME_EXPECTED
      - DOWNTIME_EXPECTED
      - OUTAGE
      default: INVALID
      type: string
    io.token.proto.common.bank.MandatoryFields.Access:
      type: object
      properties:
        fields:
          items:
            type: string
          type: array
    io.token.proto.common.bank.ProductType:
      enum:
      - INVALID
      - AIS
      - SIP
      default: INVALID
      type: string
    io.token.proto.gateway.GetBankInfoResponse:
      type: object
      properties:
        info:
          $ref: '#/components/schemas/io.token.proto.common.bank.BankInfo'
    io.token.proto.common.bank.MandatoryFields.Fields.Stet:
      type: object
      properties:
        creditorAgent:
          format: boolean
          type: boolean
    io.token.proto.gateway.InitiateBankAuthorizationResponse:
      type: object
      properties:
        fields:
          $ref: '#/components/schemas/io.token.proto.gateway.CredentialFields'
        oauthState:
          type: string
        redirectUrl:
          type: string
        status:
          $ref: '#/components/schemas/io.token.proto.common.providerspecific.ScaStatus'
    io.token.proto.common.bank.Paging:
      type: object
      properties:
        page:
          format: int32
          type: integer
        pageCount:
          format: int32
          type: integer
        perPage:
          format: int32
          type: integer
        totalCount:
          format: int32
          type: integer
    io.token.proto.gateway.GetBanksResponse:
      type: object
      properties:
        banks:
          items:
            $ref: '#/components/schemas/io.token.proto.common.bank.Bank'
          type: array
        paging:
          $ref: '#/components/schemas/io.token.proto.common.bank.Paging'
    io.token.proto.gateway.GetBanksCountriesResponse:
      type: object
      properties:
        countries:
          items:
            type: string
          type: array
    io.token.proto.common.bank.MandatoryFields:
      type: object
      properties:
        access:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Access'
        standingOrder:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.StandingOrder'
        transfer:
          $ref: '#/components/schemas/io.token.proto.common.bank.MandatoryFields.Transfer'
    io.token.proto.gateway.InitiateBankAuthorizationRequest.CredentialsEntry:
      type: object
      properties: {}
      additionalProperties:
        type: string
    io.token.proto.common.bank.ScaMethod:
      enum:
      - INVALID_SCA_METHOD
      - REDIRECT
      - DECOUPLED
      - CONFIRMATION_PAGE
      - MULTI_REDIRECT
      - EMBEDDED_SINGLE_STEP
      - EMBEDDED_MULTI_STEP
      default: INVALID_SCA_METHOD
      type: string
    io.token.proto.gateway.GetBankAuthUrlResponse:
      type: object
      properties:
        url:
          type: string