{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/memo-bank/main/json-schema/memo-bank-transfer-v2-page-schema.json", "title": "TransferV2Page", "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/TransferV2Page", "required": [ "has_next", "has_prev", "results" ], "type": "object", "properties": { "results": { "type": "array", "description": "Elements of the page.", "items": { "$ref": "#/$defs/TransferV2" } }, "has_prev": { "type": "boolean", "description": "Flag indicating if there is a previous page. Deprecated, use `prev_page_token` instead.", "deprecated": true }, "has_next": { "type": "boolean", "description": "Flag indicating if there is a next page. Deprecated, use `next_page_token` instead.", "deprecated": true }, "next_page_token": { "type": [ "string", "null" ], "description": "Token to fetch the next page, to be passed in subsequent requests as the `page_token` query parameter. `null` when there is no next page." }, "prev_page_token": { "type": [ "string", "null" ], "description": "Token to fetch the previous page, to be passed in subsequent requests as the `page_token` query parameter. `null` when there is no previous page." } }, "$defs": { "TransferV2": { "required": [ "amount", "beneficiary_iban", "currency", "id", "local_iban", "reference", "status", "type_strategy" ], "type": "object", "properties": { "id": { "type": "string", "description": "ID of the transfer", "format": "uuid" }, "reference": { "type": "string", "description": "Unique reference, can be used to correlate with the resulting Transaction.", "format": "uuid" }, "amount": { "type": "integer", "description": "Amount of the transfer, in cents.", "format": "int64" }, "currency": { "type": "string", "description": "Currency of the amount, in ISO 4217 format." }, "local_iban": { "type": "string", "description": "IBAN used as a source of the transfer. It can be the main IBAN of an account or a virtual IBAN." }, "account_id": { "type": "string", "description": "ID of the account this transfer belongs to, it can be missing while we process it according to the local IBAN.", "format": "uuid" }, "beneficiary_iban": { "type": "string", "description": "IBAN of the beneficiary." }, "transfer_type": { "type": "string", "description": "Type of the transfer. If the type strategy is `instant_if_available`, it can be missing while we determine the appropriate type.", "enum": [ "standard", "instant" ] }, "type_strategy": { "type": "string", "description": "Strategy used when creating the transfer.", "enum": [ "standard_only", "instant_only", "instant_if_available", "rtgs_only" ] }, "status": { "type": "string", "description": "Current status of the transfer.", "enum": [ "pending", "scheduled", "authorized", "confirmed", "returned", "canceled", "failed" ] }, "failure_code": { "type": "string", "description": "Code that represents the failure reason when the transfer has failed:\n- `beneficiary_bank_account_closed`: The beneficiary's bank account is closed.\n- `beneficiary_bank_error`: The beneficiary's bank sent us an error.\n- `beneficiary_bank_invalid_bank_details`: The beneficiary's bank account does not exist or no longer exists.\n- `beneficiary_bank_refusal`: The beneficiary's bank has refused the transfer.\n- `intermediary_system_error`: The interbank network sent us an error.\n- `memo_error`: Something went wrong on our side.\n- `memo_refusal`: We had to reject the transfer.\n- `execution_failure`: Other or undefined pre-settlement execution failures.\n\nThe following codes can only be present on transfers initiated as part of a bulk. \nWhen initiating a single transfer, those codes will be returned as an error response \nand the transfer won’t be created at all:\n- `current_account_not_found`: The provided local IBAN does not exist.\n- `instant_transfer_not_available`: The beneficiary can not receive instant transfers.\n- `insufficient_funds`: Not enough funds on your account to execute the transfer.\n- `invalid_beneficiary_iban`: The beneficiary's IBAN is invalid.\n- `maximum_amount_exceeded`: The transfer amount exceeds the limit.\n- `missing_new_beneficiary_name`: The beneficiary does not exist and the name was not provided.\n- `new_beneficiary_is_owned_iban`: The beneficiary does not exist and is one of your IBAN.\n- `transfer_to_same_account`: The transfer cannot credit the debtor account.\n- `transfer_to_owned_account_with_virtual_iban`: A virtual IBAN cannot be used to transfer between your accounts.\n- `transfer_from_saving_account_to_external_beneficiary`: You cannot transfer money to external beneficiaries from \nthe Booster account.\n- `unreachable_beneficiary_iban`: The beneficiary is unreachable for the given transfer type.\n", "enum": [ "insufficient_funds", "execution_failure", "instant_transfer_not_available", "invalid_currency_for_account", "account_does_not_support_network", "invalid_beneficiary_iban", "unreachable_beneficiary_iban", "maximum_amount_exceeded", "current_account_not_found", "transfer_to_same_account", "transfer_to_owned_account_with_virtual_iban", "transfer_from_saving_account_to_external_beneficiary", "missing_new_beneficiary_name", "missing_beneficiary_address", "new_beneficiary_is_owned_iban", "beneficiary_bank_account_closed", "beneficiary_bank_error", "beneficiary_bank_invalid_bank_details", "beneficiary_bank_refusal", "intermediary_system_error", "memo_error", "memo_refusal" ] }, "scheduled_date": { "type": "string", "description": "Date on which the transfer was scheduled, if any.", "format": "date" }, "message": { "type": "string", "description": "Message attached to this transfer, visible to all involved parties." }, "end_to_end_id": { "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": { "type": "string", "description": "Internal note attached to this transfer, visible only in your Memo Bank workspace." }, "custom_id": { "type": "string", "description": "Custom identifier attached to the transaction resulting from this transfer. It is not 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": { "type": "string", "description": "Custom metadata attached to the transaction resulting from this transfer. It is not transmitted nor visible in your Memo Bank workspace and can only be retrieved via API." }, "return_transaction_id": { "type": "string", "description": "If the transfer is returned, ID of the corresponding credit transaction..", "format": "uuid" } } } } }