{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/memo-bank/main/json-schema/memo-bank-create-bulk-transfers-schema.json", "title": "CreateBulkTransfers", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/memo-bank-transfers-api-openapi.yml#/components/schemas/CreateBulkTransfers", "required": [ "transfers" ], "type": "object", "properties": { "transfers": { "type": "array", "description": "Transfer creations to execute. There should not be more than 5000 transfers in a single bulk, and there should be at least one.", "items": { "$ref": "#/$defs/CreateTransferV2" } } }, "$defs": { "CreateTransferV2": { "required": [ "amount", "beneficiary_iban", "local_iban" ], "type": "object", "properties": { "amount": { "minimum": 1, "type": "integer", "description": "Amount of the transfer, in cents. The currency is always EURO.", "format": "int64" }, "beneficiary_name": { "type": "string", "description": "Name of the beneficiary. Will be used to create the beneficiary if one doesn't already exist with the same `beneficiary_iban`, will be ignored otherwise. If you know the beneficiary exists, you don't need to provide a name here." }, "beneficiary_address": { "$ref": "#/$defs/TransferBeneficiaryAddress" }, "beneficiary_iban": { "pattern": "^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$", "type": "string", "description": "IBAN of the beneficiary. Note that when you perform a transfer between your own accounts, you can't use a virtual IBAN." }, "local_iban": { "pattern": "^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$", "type": "string", "description": "Existing IBAN to be used as the source of the transfer. Can be the main IBAN of an account or a virtual IBAN. Note that when you perform a transfer between your own accounts, you can't use a virtual IBAN." }, "type_strategy": { "type": "string", "description": "Determines whether to use an instant transfer (available in a few seconds on the beneficiary account), or a standard transfer (1-3 business days). By default, use an instant transfer if available for the given beneficiary, use a standard transfer otherwise.", "default": "instant_if_available", "enum": [ "standard_only", "instant_only", "instant_if_available", "rtgs_only" ] }, "scheduled_date": { "type": "string", "description": "The ISO8601 formatted date on which the transfer will be executed. This date must not be in the past. If not set, the transfer is executed immediately. Setting this date is incompatible with `instant_only` and `instant_if_available` strategies.", "format": "date" }, "message": { "maxLength": 140, "minLength": 1, "type": "string", "description": "Message attached to this transfer, visible to all involved parties." }, "end_to_end_id": { "maxLength": 35, "minLength": 1, "pattern": "[a-zA-Z0-9\\-\\?\\:\\(\\)\\.\\,\\'\\+\\ ]{1,35}", "type": "string", "description": "Unique identification to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. It can be used for reconciliation or to link tasks relating to the transaction." }, "internal_note": { "maxLength": 3000, "minLength": 1, "type": "string", "description": "Internal note attached to this transfer, visible only in your Memo Bank workspace." }, "custom_id": { "maxLength": 256, "minLength": 1, "type": "string", "description": "Custom identifier that will be attached to the transaction resulting from this transfer. It will not be transmitted nor visible in your Memo Bank workspace. It can only be retrieved or used to search for transactions via Memo Bank API." }, "custom_metadata": { "maxLength": 2048, "minLength": 1, "type": "string", "description": "Custom metadata that will be attached to the transaction resulting from this transfer. It will not be transmitted nor visible in your Memo Bank workspace and can only be retrieved via API." } } }, "TransferBeneficiaryAddress": { "required": [ "city", "country", "postal_code", "street" ], "type": "object", "properties": { "street": { "maxLength": 256, "minLength": 1, "type": "string", "description": "Name of the street." }, "postal_code": { "maxLength": 256, "minLength": 1, "type": "string", "description": "Postal or zip code." }, "city": { "maxLength": 256, "minLength": 1, "type": "string", "description": "Name of the city." }, "country": { "pattern": "^[A-Z]{2}$", "type": "string", "description": "ISO3166-1 alpha-2 country code." } }, "description": "Address of the beneficiary. Will be used to create the beneficiary if one doesn't already exist with the same `account_identifier`, will be ignored otherwise." } } }