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 |
JSON Schema
{
"$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"
}
}
}