Galanthus CLI Reference
Per-command reference for the galanthus CLI.
This is the reference for gln, the Galanthus banking CLI. Each leaf
command has its own page with a fixed section structure: Synopsis,
Options, Description, Requirements, Status and exit codes, Examples,
and where relevant Notes.
Synopsis
gln [global-options] <command> [args]
Global options
| Argument or flag | Type | Required | Default | Description |
|---|---|---|---|---|
--profile | string | no | - | Profile name to use. |
--pin-stdin | flag | no | false | Read the PIN from stdin (FinTS only). |
--dump-dir | path | no | - | Write raw request/response dumps for scoped diagnostics. |
--log-level | int | no | 1 | C API log verbosity: 0 quiet, 1 info, 2 debug, 3 trace. |
--log-file | path | no | - | Append C API logs to this file. Defaults to stderr. |
--security-reference | int | no | - | Override security reference (advanced/debug use). |
--security-profile-version | string | no | - | Override security profile version (advanced/debug use). |
--timeout | float | no | 30.0 | HTTP timeout in seconds. |
--verbose | flag | no | false | Enable verbose logging to stderr. |
Profile resolution order: --profile <name>, then the configured default
profile.
Diagnostics
The JSON envelope on stdout is the authoritative result of every command. Two global flags add diagnostic detail when investigating a failure or attaching information to a support request:
--verbosewrites human-readable trace lines to stderr, including protocol step boundaries and decision points.--dump-dir <path>writes raw request and response payloads to that directory in their native form (FinTS segments, EBICS XML, REST JSON). Use it only for a narrow reproduction window when the JSON envelope and verbose trace are not enough.
The JSON envelope, the stderr trace, and the dumped payloads are
independent: stdout stays parseable when the other two are enabled,
and dumps remain useful even without --verbose. Raw dumps can contain
account identifiers, names, balances, access tokens, TAN challenge data,
and other secrets. Keep them local by default, redact or minimize before
sharing, transfer them only over an approved secure channel, and delete
them as soon as the investigation no longer needs them.
Source builds may include the C API scripted test transport when compiled with
GALANTHUS_ENABLE_TEST_TRANSPORT=ON, which is the default for developer builds.
The CLI does not expose --scripted-* flags; fixture playback for operational
CLI paths goes through the GALANTHUS_CAPI_TEST_* environment before backend
open. Binaries distributed for real banking use must be configured with
-DGALANTHUS_ENABLE_TEST_TRANSPORT=OFF so scripted response injection is not
compiled in.
JSON envelope
Every command writes a single JSON object to stdout. The top-level fields are:
status- one ofok,error,rejected,action_required,follow_up_required. The status drives both the exit code and the follow-up workflow.result- the typed result payload. Each command page lists the populated keys under "Result keys".action- present whenstatusisaction_required. Carries the details needed to resume (for exampledetails.resume_file).next_steps- optional guidance string for human operators.warnings- optional array of compatibility or advisory warnings.
Use the JSON envelope, not stderr or exit codes alone, to drive scripted workflows.
Shell conventions
All per-command examples in this reference use PowerShell, matching the README. The translation rule is mechanical: PowerShell backtick line continuation maps to bash backslash continuation; flag names and values are identical.
gln --profile demo profile show
gln --profile demo profile show
Exit codes and status values
| Code | Status | Meaning |
|---|---|---|
| 0 | ok | Command completed successfully. |
| 1 | error | Local validation, transport, or non-rejection failure. |
| 1 | rejected | Backend rejected the request (for example VoP failure or invalid IBAN). |
| 10 | action_required | TAN or other continuation input is required. |
| 11 | follow_up_required | Out-of-band follow-up is required. |
| 130 | - | Interrupted (SIGINT). |
The JSON envelope's status field carries the workflow contract; exit
codes are additive convenience for shell scripting.
Backend Capability Overview
The public CLI surface below documents supported commands.
Profile management and versions commands perform local work; provider
commands resolve the active profile before dispatching through the backend path.
| Family | CLI behavior |
|---|---|
| Profile management | profile init, profile list, profile show, profile set-default, and profile remove perform local profile-registry work. EBICS setup commands run the EBICS public C API over the active profile. Revolut and Wise auth commands run their public C APIs over the active profile. |
| Plugin trust | plugin approve runs the public plugin approval C API and returns its digest and pin-store report. |
| Revolut provider | revolut recipients ... and revolut payment-drafts ... run the public Revolut recipient/payment-draft C API over the active profile. |
| Versions | versions reports local version information. |
| Read | Account, balance, transaction, holding, and standing-order reads are wired to active backends. |
| Write | transfers sepa, transfers instant, transfers batch, direct-debits create, direct-debits batch, standing-orders add, standing-orders modify, standing-orders delete, and prepaid-topup are wired to active backends. |
| TAN | tan modes list, tan mode set, tan media list, and tan resume are wired to the FinTS backend. |
By task
- Manage local profile registrations:
profile init,profile list,profile show,profile set-default,profile remove - Run EBICS setup and key lifecycle workflows:
profile status,profile bootstrap,profile bank-keys download,profile bank-keys show,profile bank-keys verify,profile bank-keys reset,profile client-keys reset,profile brief ini,profile brief hia - Run Revolut OAuth setup workflows:
profile auth login revolut,profile auth status revolut - Run Revolut recipient and payment-draft workflows:
revolut recipients list,revolut recipients create,revolut recipients delete,revolut payment-drafts list,revolut payment-drafts show,revolut payment-drafts create,revolut payment-drafts delete - Run Wise token setup workflows:
profile auth login wise,profile auth status wise - Approve plugin bundles after operator digest verification:
plugin approve - Show local version information:
versions - Read account data, submit supported write operations, and manage TAN follow-up workflows through the active backend paths.
All commands
| Command | Purpose |
|---|---|
accounts list | List accounts on the active profile. |
balances list | List balances for one IBAN on the active profile. |
direct-debits batch | Submit a SEPA direct debit batch from a JSON file. |
direct-debits create | Submit one SEPA direct debit from a JSON file. |
holdings list | List securities holdings for one depot account. |
plugin approve | Approve a plugin bundle after digest verification. |
prepaid-topup | Submit a prepaid mobile top-up via the FinTS backend. |
profile init | Create or update a profile. |
profile auth login revolut | Authorize a Revolut profile. |
profile auth login wise | Store a Wise PersonalToken. |
profile auth status revolut | Show Revolut OAuth status. |
profile auth status wise | Show Wise token status. |
profile bank-keys download | Download EBICS bank keys for verification. |
profile bank-keys reset | Reset trusted and pending EBICS bank keys. |
profile bank-keys show | Show EBICS bank-key setup status. |
profile bank-keys verify | Verify staged EBICS bank keys. |
profile bootstrap | Send EBICS setup orders. |
profile brief hia | Generate the EBICS HIA brief. |
profile brief ini | Generate the EBICS INI brief. |
profile client-keys reset | Reset local EBICS subscriber keys. |
profile list | List available profiles. |
profile remove | Remove a profile registration. |
profile set-default | Set the default profile. |
profile show | Show the resolved profile configuration. |
profile status | Show EBICS setup key status. |
revolut payment-drafts create | Create a Revolut payment draft. |
revolut payment-drafts delete | Delete a Revolut payment draft. |
revolut payment-drafts list | List Revolut payment drafts. |
revolut payment-drafts show | Show a Revolut payment draft. |
revolut recipients create | Create a Revolut recipient. |
revolut recipients delete | Delete a Revolut recipient. |
revolut recipients list | List Revolut recipients. |
standing-orders add | Add a standing order via the FinTS backend. |
standing-orders delete | Delete a standing order via the FinTS backend. |
standing-orders list | List standing orders for one IBAN on the active FinTS profile. |
standing-orders modify | Modify a standing order via the FinTS backend. |
tan media list | List registered TAN media on the active FinTS profile. |
tan mode set | Select the TAN method for the active FinTS profile. |
tan modes list | List TAN methods advertised for the active FinTS profile. |
tan resume | Resume a TAN-gated FinTS operation. |
transactions list | List transactions for one IBAN. |
transfers batch | Submit a SEPA batch transfer from a JSON file. |
transfers instant | Submit an immediate SEPA instant transfer via FinTS. |
transfers sepa | Submit one SEPA credit transfer via FinTS or EBICS. |
versions | Show local version information. |
Profiles
| Subgroup | Command | Purpose | Backends |
|---|---|---|---|
| management | profile init | Create or update a profile. | FinTS, EBICS, Revolut, Wise |
| management | profile list | List available profiles. | - |
| management | profile show | Show the resolved profile configuration. | - |
| management | profile set-default | Set the default profile. | - |
| management | profile remove | Remove a profile registration. | - |
| EBICS setup | profile status | Show EBICS setup key status. | EBICS |
| EBICS setup | profile bootstrap | Send EBICS setup orders. | EBICS |
| EBICS setup | profile brief ini | Generate the EBICS INI brief. | EBICS |
| EBICS setup | profile brief hia | Generate the EBICS HIA brief. | EBICS |
| EBICS keys | profile bank-keys download | Download EBICS bank keys for verification. | EBICS |
| EBICS keys | profile bank-keys show | Show EBICS bank-key setup status. | EBICS |
| EBICS keys | profile bank-keys verify | Verify staged EBICS bank keys. | EBICS |
| EBICS keys | profile bank-keys reset | Reset trusted and pending EBICS bank keys. | EBICS |
| EBICS keys | profile client-keys reset | Reset local EBICS subscriber keys. | EBICS |
| auth setup | profile auth login revolut | Authorize a Revolut profile. | Revolut |
| auth setup | profile auth status revolut | Show Revolut OAuth status. | Revolut |
| auth setup | profile auth login wise | Store a Wise PersonalToken. | Wise |
| auth setup | profile auth status wise | Show Wise token status. | Wise |
Read
| Command | Purpose | Backends |
|---|---|---|
accounts list | List accounts on the active profile. | FinTS, EBICS |
balances list | List balances for one IBAN. | FinTS, EBICS |
transactions list | List transactions for one IBAN. | FinTS, EBICS |
holdings list | List securities holdings for one depot account. | FinTS |
standing-orders list | List standing orders for one IBAN. | FinTS |
Revolut provider
| Command | Purpose | Backends |
|---|---|---|
revolut recipients list | List Revolut recipients. | Revolut |
revolut recipients create | Create a Revolut recipient. | Revolut |
revolut recipients delete | Delete a Revolut recipient. | Revolut |
revolut payment-drafts list | List Revolut payment drafts. | Revolut |
revolut payment-drafts show | Show a Revolut payment draft. | Revolut |
revolut payment-drafts create | Create a Revolut payment draft. | Revolut |
revolut payment-drafts delete | Delete a Revolut payment draft. | Revolut |
TAN
| Command | Purpose | Backends |
|---|---|---|
tan modes list | List TAN methods advertised for the profile. | FinTS |
tan mode set | Select the TAN method for the profile. | FinTS |
tan media list | List registered TAN media on the profile. | FinTS |
tan resume | Resume a TAN-gated FinTS operation. | FinTS |
Write
transfers sepa, transfers batch, direct-debits create, and
direct-debits batch submit through FinTS or EBICS and support dry-run request
previews. transfers instant, standing-orders add, standing-orders modify,
standing-orders delete, and prepaid-topup submit through the FinTS backend.
| Command | Purpose | Backends |
|---|---|---|
transfers sepa | Submit one SEPA credit transfer. | FinTS, EBICS |
transfers instant | Submit an immediate SEPA instant transfer. | FinTS |
transfers batch | Submit a SEPA batch transfer from a JSON file. | FinTS, EBICS |
standing-orders add | Add a standing order via the FinTS backend. | FinTS |
standing-orders modify | Modify a standing order via the FinTS backend. | FinTS |
standing-orders delete | Delete a standing order via the FinTS backend. | FinTS |
direct-debits create | Submit one SEPA direct debit from a JSON file. | FinTS, EBICS |
direct-debits batch | Submit a SEPA direct debit batch from a JSON file. | FinTS, EBICS |
prepaid-topup | Submit a prepaid mobile top-up. | FinTS |
Utility
| Command | Purpose | Backends |
|---|---|---|
versions | Show local version information. | - |
plugin approve | Approve a plugin bundle. | - |
See also
- Troubleshooting - cross-cutting failure modes that affect more than one command.
- Library reference - C ABI setup, continuation handling, and embedding guidance.