Montran · Schema

Montran Account

A financial account managed through Montran's payment infrastructure. Represents both physical bank accounts and virtual accounts, with support for ISO 20022 camt message structures for balance and statement reporting.

BankingCentral BankingFinancial ServicesISO 20022Market InfrastructureMessagingPaymentsReal-Time PaymentsSWIFT

Properties

Name Type Description
accountId string Unique account identifier
accountType string Type of account
iban string International Bank Account Number
accountNumber string Proprietary account number
currency string Account currency (ISO 4217)
ownerName string Name of the account owner
accountName string Account name or description
status string Account status
institution object Account-holding financial institution
balances array Account balances aligned with ISO 20022 camt.052 BankToCustomerAccountReport
virtualAccount object Virtual account specific properties (when accountType is virtual)
createdAt string Account creation timestamp
updatedAt string Last update timestamp
View JSON Schema on GitHub

JSON Schema

montran-account-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.montran.com/schemas/account.json",
  "title": "Montran Account",
  "description": "A financial account managed through Montran's payment infrastructure. Represents both physical bank accounts and virtual accounts, with support for ISO 20022 camt message structures for balance and statement reporting.",
  "type": "object",
  "required": [
    "accountId",
    "currency",
    "status"
  ],
  "properties": {
    "accountId": {
      "type": "string",
      "description": "Unique account identifier"
    },
    "accountType": {
      "type": "string",
      "description": "Type of account",
      "enum": [
        "physical",
        "virtual",
        "virtual_iban"
      ]
    },
    "iban": {
      "type": "string",
      "description": "International Bank Account Number",
      "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$"
    },
    "accountNumber": {
      "type": "string",
      "description": "Proprietary account number"
    },
    "currency": {
      "type": "string",
      "description": "Account currency (ISO 4217)",
      "pattern": "^[A-Z]{3}$"
    },
    "ownerName": {
      "type": "string",
      "description": "Name of the account owner"
    },
    "accountName": {
      "type": "string",
      "description": "Account name or description"
    },
    "status": {
      "type": "string",
      "description": "Account status",
      "enum": [
        "active",
        "suspended",
        "closed",
        "blocked"
      ]
    },
    "institution": {
      "type": "object",
      "description": "Account-holding financial institution",
      "properties": {
        "bic": {
          "type": "string",
          "description": "Bank Identifier Code (SWIFT/BIC)",
          "pattern": "^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$"
        },
        "name": {
          "type": "string",
          "description": "Name of the financial institution"
        },
        "country": {
          "type": "string",
          "description": "Country code (ISO 3166-1 alpha-2)",
          "pattern": "^[A-Z]{2}$"
        }
      }
    },
    "balances": {
      "type": "array",
      "description": "Account balances aligned with ISO 20022 camt.052 BankToCustomerAccountReport",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Balance type code",
            "enum": [
              "CLBD",
              "ITBD",
              "OPBD",
              "PRCD",
              "XPCD",
              "ITAV"
            ]
          },
          "amount": {
            "type": "number",
            "description": "Balance amount"
          },
          "currency": {
            "type": "string",
            "description": "Balance currency",
            "pattern": "^[A-Z]{3}$"
          },
          "creditDebitIndicator": {
            "type": "string",
            "enum": [
              "CRDT",
              "DBIT"
            ]
          },
          "dateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Balance date and time"
          }
        }
      }
    },
    "virtualAccount": {
      "type": "object",
      "description": "Virtual account specific properties (when accountType is virtual)",
      "properties": {
        "physicalAccountId": {
          "type": "string",
          "description": "ID of the underlying physical bank account"
        },
        "virtualIban": {
          "type": "string",
          "description": "Associated virtual IBAN"
        },
        "purpose": {
          "type": "string",
          "description": "Purpose of the virtual account",
          "enum": [
            "GENERAL",
            "POBO",
            "COBO",
            "ESCROW",
            "IN_HOUSE_BANK",
            "TREASURY"
          ]
        },
        "parentVirtualAccountId": {
          "type": "string",
          "description": "Parent virtual account for hierarchical structures"
        },
        "autoAllocate": {
          "type": "boolean",
          "description": "Whether incoming payments are auto-allocated"
        }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Account creation timestamp"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Last update timestamp"
    }
  }
}