Skip to content

Create or update a profile.

Synopsis

gln [global-options] profile init <name> --endpoint <url> --user <id>
    [--backend {fints | ebics | revolut | wise}]
    [--blz <code>] [--customer-id <id>]
    [--host-id <id>] [--partner-id <id>] [--security-medium <code>]
    [--product-id <id>] [--product-version <version>]
    [--state-file <path>] [--key-file <path>]
    [--ebics-key-blob-file <path>] [--ebics-sidecar-key-file <path>]
    [--ebics-tls-pinned-public-key <pin>]
    [--product-credential-ref <ref>] [--revolut-storage-root <path>]
    [--set-default]

Options

Argument or flagTypeRequiredDefaultDescriptionBackends
<name>stringyes-Profile name. Must not contain path separators, drive markers, or ...all
--endpointstringyes-Backend endpoint URL.all
--userstringyes-User ID stored on the profile.all
--backendenum (fints | ebics | revolut | wise)nofintsBackend to bind to.all
--product-idstringno-Product registration ID. Falls back to product_id/mail.txt when omitted.all
--product-versionstringno1.0Product version string.all
--state-filepathno-Path to the persisted FinTS state file. FinTS profiles auto-derive a default path when omitted; EBICS, Revolut, and Wise profiles leave it empty.all
--key-filepathno-Path to the FinTS state encryption key file.all
--set-defaultflagnofalseMark this profile as the default after writing it.all
--blzstringyes (FinTS profiles)-Bank code (BLZ).FinTS
--customer-idstringno-Customer ID.FinTS
--host-idstringyes (EBICS profiles)-EBICS host ID.EBICS
--partner-idstringyes (EBICS profiles)-EBICS partner ID.EBICS
--security-mediumstringno0000EBICS security medium.EBICS
--ebics-key-blob-filepathno-Path to the EBICS encrypted key blob.EBICS
--ebics-sidecar-key-filepathno-Path to the EBICS sidecar encryption key.EBICS
--ebics-tls-pinned-public-keystringno-Pinned TLS public key for the EBICS endpoint. Accepts sha256//... or a path to a PEM file.EBICS
--product-credential-refstringyes (Revolut profiles)-Revolut product credential/profile reference.Revolut
--revolut-storage-rootpathnoprofile registry storageGalanthus-owned Revolut token storage root.Revolut

Description

Writes a profile entry to the local registry, validating that the requested backend has its mandatory fields and rejecting cross-backend flag mixes. Run this before any backend-touching command on a freshly installed galanthus, or to update an existing profile in place.

Backend wise requires no Wise-specific flags here.

profile init stores profile configuration: endpoint, user and provider identifiers, product metadata, local state/key path configuration, backend binding, and the Revolut product credential/profile reference. It does not read or store runtime authentication secrets.

Secrets and setup material enter through the command that owns that workflow:

BackendProfile configuration in profile initSetup/auth secret or material supplied elsewhere
FinTSEndpoint, BLZ, user/customer ID, product ID, state/key paths.PIN is supplied when opening FinTS-backed commands, for example by prompt or --pin-stdin.
EBICSEndpoint, host ID, partner ID, user ID, security medium, key-store paths, optional TLS pin.Subscriber keys are generated/reset by EBICS setup commands; bank-key digests are supplied to profile bank-keys verify.
RevolutEndpoint, user ID, product ID, product credential/profile reference, Galanthus-owned storage root.Missing product credential profiles fail with revolut_product_credential_missing / GLN_ERR_NOT_FOUND; provisioned profiles open through the resolver.
WiseEndpoint, user ID, product ID, backend binding.PersonalToken is supplied to profile auth login wise by hidden prompt or --token-stdin.

Requirements

  • Profile: required to create one
  • Credential type: none; this command writes profile configuration only
  • Backend prerequisites: None.
  • Input mode: None.

Status and exit codes

StatusExitMeaningContinuation
ok0Profile written to the registry.-
error1Profile name, endpoint, user, or backend-specific input invalid.-

Result keys: name, endpoint, bank_code, user_id, customer_id, product_id, product_version, backend, state_file, key_file, ebics_host_id, ebics_partner_id, ebics_security_medium, ebics_key_blob_file, ebics_sidecar_key_file, ebics_tls_pinned_public_key

Examples

gln profile init demo --endpoint https://bank.example/fints `
  --blz 12345678 --user alice --product-id galanthus
gln profile init corp --backend ebics `
  --endpoint https://bank.example/ebics `
  --host-id BANKHOST --partner-id PARTNER --user alice `
  --product-id galanthus
gln profile init rev --backend revolut `
  --endpoint https://sandbox-b2b.revolut.com/api/1.0 `
  --user alice --product-id galanthus `
  --product-credential-ref revolut/product/default
gln profile init wise --backend wise `
  --endpoint https://api.sandbox.transferwise.tech `
  --user alice --product-id galanthus

Notes

  • Revolut --product-credential-ref names the Galanthus product credential or product profile resolved by the Revolut product credential resolver.
  • Revolut --revolut-storage-root is owned by Galanthus and is reserved for secure token persistence under the backend/profile/environment scope.

See also