Token.io · Schema

TransferRequest

Transfer operation request.

PaymentsOpen BankingBankingFinancial ServicesAccount-to-AccountPSD2Variable Recurring PaymentsAccount Information ServicesPayment InitiationFintech

Properties

Name Type Description
transferId string The Token transfer identifier.
transactionAmount object
source object
destinations array
description string Optional transfer description.
tokenRefId string Reference id of the token, set by the initiator.
tokenInitiatorId string Id of the member requesting token creation.
transferRefId string Transfer reference id.
metadata object
View JSON Schema on GitHub

JSON Schema

token-io-transfer-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/token-io/main/json-schema/token-io-transfer-request-schema.json",
  "title": "TransferRequest",
  "description": "Transfer operation request.",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/token-io-transfers-api-openapi.yml#/components/schemas/TransferRequest",
  "required": [
    "destinatons",
    "source",
    "transactionAmount",
    "transferId"
  ],
  "type": "object",
  "properties": {
    "transferId": {
      "type": "string",
      "description": "The Token transfer identifier."
    },
    "transactionAmount": {
      "$ref": "#/$defs/Money"
    },
    "source": {
      "$ref": "#/$defs/BankAccount"
    },
    "destinations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TransferDestinations"
      }
    },
    "description": {
      "type": "string",
      "description": "Optional transfer description."
    },
    "tokenRefId": {
      "type": "string",
      "description": "Reference id of the token, set by the initiator."
    },
    "tokenInitiatorId": {
      "type": "string",
      "description": "Id of the member requesting token creation."
    },
    "transferRefId": {
      "type": "string",
      "description": "Transfer reference id."
    },
    "metadata": {
      "$ref": "#/$defs/TransferMetadata"
    }
  },
  "$defs": {
    "ACH": {
      "required": [
        "accountNumber",
        "routingNumber"
      ],
      "type": "object",
      "properties": {
        "accountNumber": {
          "type": "integer",
          "description": "The account number."
        },
        "routingNumber": {
          "type": "integer",
          "description": "The routing number."
        }
      },
      "description": "The Automated Clearing House Network."
    },
    "Address": {
      "type": "object",
      "properties": {
        "houseNumber": {
          "type": "string",
          "description": "The house number (may contain letters, dashes or other characters). Addresses describe ways to tag a single building with multiple addresses."
        },
        "houseName": {
          "type": "string",
          "description": "The name of a house. This is sometimes used in some countries like England instead of (or in addition to) a house number."
        },
        "flats": {
          "type": "string",
          "description": "The house numbers (range or list) of flats behind a door."
        },
        "conscriptionNumber": {
          "type": "string",
          "description": "This special kind of house number relates to a settlement instead of a street. Conscription numbers were introduced in the Austrio-Hungarian Empire and are still in use in some parts of Europe, sometimes together with street-related house numbers which are also called orientation numbers."
        },
        "street": {
          "type": "string",
          "description": "The name of the respective street."
        },
        "place": {
          "type": "string",
          "description": "This is part of an address which refers to the name of some territorial zone (usually like island or square) instead of a street. Should not be used together with street."
        },
        "postCode": {
          "type": "string",
          "description": "The postal code of the building/area."
        },
        "city": {
          "type": "string",
          "description": "The name of the city as given in postal addresses of the building/area."
        },
        "country": {
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "description": "The ISO 3166-1 alpha-2 two letter country code in upper case."
        },
        "full": {
          "type": "string",
          "description": "Use this for a full-text, often multi-line address if you find the structured address fields unsuitable for denoting the address of this particular location. Examples: 'Fifth house on the left after the village oak, Smalltown, Smallcountry' or '1200 West Sunset Boulevard Suite 110A'. Beware that these strings can hardly be parsed by software."
        },
        "hamlet": {
          "type": "string",
          "description": "The hamlet."
        },
        "suburb": {
          "type": "string",
          "description": "If an address exists several times in a city. You have to add the name of the settlement. See Australian definition of suburb."
        },
        "subdistrict": {
          "type": "string",
          "description": "The subdistrict."
        },
        "district": {
          "type": "string",
          "description": "The district."
        },
        "province": {
          "type": "string",
          "description": "The province. For Canada, uppercase two-letter postal abbreviations  (BC, AB, ON, QC, etc.) are used. In Russia a synonym region is widely used."
        },
        "state": {
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "description": "The state. For the US, uppercase two-letter postal abbreviations (AK, CA, HI, NY, TX, WY, etc.) are used."
        }
      },
      "description": "Represents a postal address."
    },
    "BankAccount": {
      "required": [
        "account"
      ],
      "type": "object",
      "properties": {
        "account": {
          "description": "The bank account identifier.",
          "oneOf": [
            {
              "$ref": "#/$defs/Custom"
            },
            {
              "$ref": "#/$defs/Iban"
            },
            {
              "$ref": "#/$defs/Domestic"
            }
          ]
        }
      },
      "description": "Represents Token account identifier."
    },
    "Custom": {
      "required": [
        "bankId",
        "payload"
      ],
      "type": "object",
      "properties": {
        "bankId": {
          "type": "string",
          "description": "the Token bank identifier."
        },
        "payload": {
          "type": "string",
          "description": "the bank-custom account identifier."
        }
      },
      "description": "Represents an account identifier in bank-custom format."
    },
    "Customer": {
      "required": [
        "legalNames"
      ],
      "type": "object",
      "properties": {
        "legalNames": {
          "type": "array",
          "description": "A list of names of primary account holders.",
          "items": {
            "type": "string"
          }
        },
        "address": {
          "$ref": "#/$defs/Address"
        }
      },
      "description": "Represents account holder information."
    },
    "Domestic": {
      "required": [
        "accountNumber",
        "bankCode",
        "country"
      ],
      "type": "object",
      "properties": {
        "bankCode": {
          "type": "string",
          "description": "The bank identifier."
        },
        "accountNumber": {
          "type": "string",
          "description": "The account identifier."
        },
        "country": {
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "description": "2-letter ISO 3166-1 alpha-2 country code"
        }
      },
      "description": "Represents an account in the regional format."
    },
    "FPS": {
      "required": [
        "accountNumber",
        "sortCode"
      ],
      "type": "object",
      "properties": {
        "sortCode": {
          "type": "string",
          "description": "The sort code associated wth the account."
        },
        "accountNumber": {
          "type": "string",
          "description": "The account number."
        }
      },
      "description": "Faster Payments Service."
    },
    "Iban": {
      "required": [
        "iban"
      ],
      "type": "object",
      "properties": {
        "iban": {
          "type": "string",
          "description": "The IBAN account number."
        },
        "bic": {
          "type": "string",
          "description": "optional BIC number for this account."
        }
      },
      "description": "Represents an account using IBAN format."
    },
    "Money": {
      "required": [
        "currency",
        "value"
      ],
      "type": "object",
      "properties": {
        "currency": {
          "maxLength": 3,
          "minLength": 3,
          "type": "string",
          "description": "ISO4217 - 3 letter currency code such as \"USD\" or \"EUR\"."
        },
        "value": {
          "type": "string",
          "description": "Double amount in the string format."
        }
      },
      "description": "Represents a monetary value."
    },
    "SEPA": {
      "required": [
        "iban"
      ],
      "type": "object",
      "properties": {
        "iban": {
          "type": "string",
          "description": "International Bank Account Number."
        },
        "bic": {
          "type": "string",
          "description": "Bank Identifier Code."
        }
      },
      "description": "Single Euro Payments Area."
    },
    "SWIFT": {
      "required": [
        "accountNumber",
        "bic"
      ],
      "type": "object",
      "properties": {
        "accountNumber": {
          "type": "string",
          "description": "The account number."
        },
        "bic": {
          "type": "string",
          "description": "Bank Identifier Code."
        }
      },
      "description": "Society for Worldwide Interbank Financial Telecommunication."
    },
    "TransferDestination": {
      "required": [
        "destination"
      ],
      "type": "object",
      "properties": {
        "scheme": {
          "description": "The transfer destination details.",
          "oneOf": [
            {
              "$ref": "#/$defs/SEPA"
            },
            {
              "$ref": "#/$defs/FPS"
            },
            {
              "$ref": "#/$defs/SWIFT"
            },
            {
              "$ref": "#/$defs/ACH"
            }
          ]
        }
      },
      "description": "Represents payment scheme details for a given account."
    },
    "TransferDestinations": {
      "required": [
        "customerData",
        "destinations"
      ],
      "type": "object",
      "properties": {
        "destinations": {
          "type": "array",
          "description": "A list of transfer destinations.",
          "items": {
            "$ref": "#/$defs/TransferDestination"
          }
        },
        "customerData": {
          "$ref": "#/$defs/Customer"
        }
      },
      "description": "A list of possible transfer destinations for a given customer."
    },
    "TransferMetadata": {
      "type": "object",
      "properties": {
        "purposeOfPayment": {
          "type": "string",
          "description": "Purpose of Payment for this transfer.",
          "enum": [
            "OTHER",
            "PERSONAL_EXPENSES",
            "PURCHASE_OF_SHARES",
            "TRANSFER_TO_YOUR_OWN_ACCOUNT",
            "PURCHASE_OF_PROPERTY",
            "FAMILY_MAINTENANCE",
            "SAVINGS"
          ]
        },
        "paymentContext": {
          "type": "string",
          "description": "Optional payment context of this transfer.",
          "enum": [
            "OTHER_CONTEXT",
            "BILL_PAYMENT",
            "ECOMMERCE_GOODS",
            "ECOMMERCE_SERVICES",
            "PERSON_TO_PERSON"
          ]
        },
        "merchantCategoryCode": {
          "type": "string",
          "description": "Optional ISO 18245 Merchant Category Code (MCC)."
        },
        "merchantCustomerId": {
          "description": "Optional unique merchant customer identifier."
        },
        "deliveryAddress": {
          "$ref": "#/$defs/Address"
        }
      },
      "description": "Represents additional metadata related to a transfer."
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/token-io-transfer-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.