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