{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/virtual_account",
"title": "virtual_account",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"object": {
"type": "string"
},
"live_mode": {
"type": "boolean",
"description": "This field will be true if this object exists in the live environment or false if it exists in the test environment."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"discarded_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the virtual account."
},
"description": {
"type": "string",
"description": "An optional free-form description for internal use.",
"nullable": true
},
"counterparty_id": {
"type": "string",
"format": "uuid",
"description": "The ID of a counterparty that the virtual account belongs to. Optional.",
"nullable": true
},
"internal_account_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the internal account that the virtual account is in."
},
"account_details": {
"type": "array",
"description": "An array of account detail objects.",
"items": {
"$ref": "#/components/schemas/account_detail"
}
},
"routing_details": {
"type": "array",
"description": "An array of routing detail objects. These will be the routing details of the internal account.",
"items": {
"$ref": "#/components/schemas/routing_detail"
}
},
"debit_ledger_account_id": {
"type": "string",
"format": "uuid",
"description": "The ID of a debit normal ledger account. When money enters the virtual account, this ledger account will be debited. Must be accompanied by a credit_ledger_account_id if present.",
"nullable": true
},
"credit_ledger_account_id": {
"type": "string",
"format": "uuid",
"description": "The ID of a credit normal ledger account. When money enters the virtual account, this ledger account will be credited. Must be accompanied by a debit_ledger_account_id if present.",
"nullable": true
},
"ledger_account_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "If the virtual account links to a ledger account in Modern Treasury, the id of the ledger account will be populated here."
},
"metadata": {
"type": "object",
"description": "Additional data represented as key-value pairs. Both the key and value must be strings.",
"additionalProperties": {
"type": "string"
},
"example": {
"key": "value",
"foo": "bar",
"modern": "treasury"
}
}
},
"additionalProperties": false,
"minProperties": 16,
"required": [
"id",
"object",
"live_mode",
"created_at",
"updated_at",
"discarded_at",
"name",
"description",
"counterparty_id",
"internal_account_id",
"account_details",
"routing_details",
"debit_ledger_account_id",
"credit_ledger_account_id",
"ledger_account_id",
"metadata"
]
}