token-io · Schema

Token.io Account

Schema for a Token.io AIS Account resource and its associated balance / transaction entries, returned by GET /accounts, GET /accounts/{accountId}, GET /accounts/{accountId}/balance, and GET /accounts/{accountId}/transactions.

View JSON Schema on GitHub

JSON Schema

token-io-account-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/token-io/token-io-account-schema.json",
  "title": "Token.io Account",
  "description": "Schema for a Token.io AIS Account resource and its associated balance / transaction entries, returned by GET /accounts, GET /accounts/{accountId}, GET /accounts/{accountId}/balance, and GET /accounts/{accountId}/transactions.",
  "type": "object",
  "definitions": {
    "Account": {
      "type": "object",
      "required": ["accountId"],
      "properties": {
        "accountId": {"type": "string", "description": "Token.io-internal account identifier."},
        "name": {"type": "string", "description": "Bank-supplied account display name."},
        "type": {
          "type": "string",
          "enum": ["CURRENT", "SAVINGS", "CREDIT_CARD", "LOAN", "BUSINESS", "OTHER"]
        },
        "currency": {"type": "string", "pattern": "^[A-Z]{3}$"},
        "bankId": {"type": "string"},
        "accountIdentifier": {
          "type": "object",
          "properties": {
            "iban": {"type": "string"},
            "bban": {"type": "string"},
            "sortCodeAccountNumber": {
              "type": "object",
              "properties": {
                "sortCode": {"type": "string"},
                "accountNumber": {"type": "string"}
              }
            }
          }
        }
      }
    },
    "Balance": {
      "type": "object",
      "required": ["amount", "currency"],
      "properties": {
        "amount": {"type": "string"},
        "currency": {"type": "string", "pattern": "^[A-Z]{3}$"},
        "type": {
          "type": "string",
          "enum": ["AVAILABLE", "CURRENT", "BOOKED", "CLOSING_BOOKED", "EXPECTED"]
        },
        "asOf": {"type": "string", "format": "date-time"}
      }
    },
    "Transaction": {
      "type": "object",
      "required": ["transactionId", "amount", "currency"],
      "properties": {
        "transactionId": {"type": "string"},
        "amount": {"type": "string"},
        "currency": {"type": "string", "pattern": "^[A-Z]{3}$"},
        "status": {
          "type": "string",
          "enum": ["BOOKED", "PENDING"]
        },
        "type": {
          "type": "string",
          "enum": ["CREDIT", "DEBIT"]
        },
        "bookingDate": {"type": "string", "format": "date"},
        "valueDate": {"type": "string", "format": "date"},
        "description": {"type": "string"},
        "remittanceInformation": {"type": "string"},
        "merchantName": {"type": "string"},
        "merchantCategoryCode": {"type": "string"}
      }
    }
  },
  "oneOf": [
    {"$ref": "#/definitions/Account"},
    {"$ref": "#/definitions/Balance"},
    {"$ref": "#/definitions/Transaction"}
  ]
}