Skip to content

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 flagTypeRequiredDefaultDescription
--filepathno-JSON payload describing the transfer. Mutually exclusive with inline transfer fields.
--source-ibanstringinline-Source account IBAN.
--source-bicstringinline-Source account BIC.
--source-namestringinline-Source account holder name.
--recipient-ibanstringinline-Recipient IBAN.
--recipient-bicstringinline-Recipient BIC.
--recipient-namestringinline-Recipient name.
--amountstringinline-Transfer amount as a decimal string, for example 12.34.
--currencystringnoEURISO 4217 currency code for inline mode. Cannot be combined with --file.
--purposestringinline-Payment purpose or remittance information.
--e2e-refstringno-Optional end-to-end reference. Empty or omitted maps to NOTPROVIDED in pain.001.
--dry-runflagnofalseValidate 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-date for scheduled single transfers.

Status and exit codes

StatusExitMeaningContinuation
ok0Dry-run validation passed or the backend accepted the submission.-
action_required10A TAN or follow-up action is required.tan resume
error1Validation, 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"

See also