FinTS instant transfer: gln transfers instant
Submit an immediate SEPA instant transfer.
Synopsis
gln [global-options] transfers instant
{--file <path> |
--source-iban <value> --source-bic <value> --source-name <value>
--recipient-iban <value> --recipient-bic <value> --recipient-name <value>
--amount <value> [--currency <value>] --purpose <value>
[--e2e-ref <value>]}
[--dry-run]
Options
| Argument or flag | Type | Required | Default | Description |
|---|---|---|---|---|
--file | path | no | - | JSON payload describing the transfer. Mutually exclusive with inline transfer fields. |
--source-iban | string | inline | - | Source account IBAN. |
--source-bic | string | inline | - | Source account BIC. |
--source-name | string | inline | - | Source account holder name. |
--recipient-iban | string | inline | - | Recipient IBAN. |
--recipient-bic | string | inline | - | Recipient BIC. |
--recipient-name | string | inline | - | Recipient name. |
--amount | string | inline | - | Transfer amount as a decimal string, for example 12.34. |
--currency | string | no | EUR | ISO 4217 currency code for inline mode. Cannot be combined with --file. |
--purpose | string | inline | - | Payment purpose or remittance information. |
--e2e-ref | string | no | - | Optional end-to-end reference. Empty or omitted maps to NOTPROVIDED in pain.001. |
--dry-run | flag | no | false | Validate the request shape and backend kind, then echo the request without opening a backend. |
The command accepts exactly one input mode. Use either --file <path> or the
inline field set; combining --file with any inline transfer field, including
an explicit --currency, is rejected before the file is read.
File payloads are JSON objects using the same field names as the inline options:
source_iban, source_bic, source_name, recipient_iban, recipient_bic,
recipient_name, amount, currency, purpose, and optional
end_to_end_reference. Instant transfer file payloads must not contain
requested_execution_date.
Description
This command submits an immediate SEPA instant transfer through the FinTS
backend resolved from the active profile. It uses the C API
gln_submit_instant_transfer entrypoint and may return a TAN action
with a tan resume continuation.
Requirements
- The active profile must resolve to a FinTS backend.
- The request must provide source account, recipient, amount, currency, and purpose fields.
- Scheduled execution dates are rejected. Use
transfers sepa --execution-datefor scheduled single transfers.
Status and exit codes
| Status | Exit | Meaning | Continuation |
|---|---|---|---|
ok | 0 | Dry-run validation passed or the backend accepted the submission. | - |
action_required | 10 | A TAN or follow-up action is required. | tan resume |
error | 1 | Validation, profile, backend, or provider submission failed. | - |
Result keys for dry-run: status, execution, source_iban, source_bic,
source_name, recipient_iban, recipient_bic, recipient_name, amount,
currency, purpose, end_to_end_reference, and
effective_end_to_end_reference. execution is immediate; no scheduled
date key is emitted.
Result keys for non-dry-run submission are emitted from the typed C result accessors.
FinTS success payloads use status, statuses, and optional vop. Typed C
accessors such as gln_get_transfer_submission_id and
gln_get_transfer_submission_provider_status_at expose additional typed-handle
fields to C callers; they are not separate CLI JSON result keys.
Examples
gln --profile demo transfers instant --file instant-transfer.json --dry-run
gln --profile demo --pin-stdin transfers instant `
--source-iban DE02120300000000202051 `
--source-bic BYLADEM1001 `
--source-name "Sender GmbH" `
--recipient-iban DE44500105175407324931 `
--recipient-bic INGDDEFFXXX `
--recipient-name "Receiver GmbH" `
--amount 10.00 `
--purpose "Invoice 2026-001"