Creates either a bank account (with IBAN/account number) or a
cash register. Two validation paths driven by the model’s
account_type enum (currently set via attribute, not via
the API surface — defaults to bank):
iban OR account_number (one of them).
iban is unique within the workspace if provided.name is unique within the workspace’s cash
registers.Per-workspace caps: bank accounts hit the bank_accounts
feature limit. Hitting the cap returns 402 with an
upgrade_url pointing at the billing plans page.
Devise JWT issued via POST /api/v1/auth/sign_in. Used by mobile
and SPA clients. Revoked tokens are tracked in api_jwt_denylists.
Workspace (account) ID. The numeric ID shown in your URLs.
bank — traditional bank account with IBAN / account
number, potentially PSD2-synced. cash — cash register
for manual cash-movement tracking.
Display name. Required for cash registers (where it must be unique within the workspace); optional for bank accounts where the IBAN/account_number identifies the record.
Name on the account / register.
ISO-4217 currency code. Defaults to workspace currency.
IBAN — required for bank-type accounts (or account_number must be set). Null for cash registers.
SWIFT/BIC. Optional for bank accounts; null for cash.
Local account number — required for bank-type accounts
if iban is not set. SK/CZ banks accept legacy
non-IBAN format. Null for cash registers.
CZ-style prefix on legacy account numbers (e.g. 19- in 19-2000945399/0800).
Local bank code (SK: 4-digit, CZ: 4-digit). Null for cash registers.
Available balance from the most recent PSD2 sync, if connected. Null for cash registers and non-synced bank accounts. Stringified BigDecimal.
Booked balance from the most recent PSD2 sync. Differs
from balance_available for accounts with pending
transactions. Same null/format semantics as
balance_available.
Whether this account is the workspace’s default for new
documents. Each account_type has independent defaults
(one default bank + one default cash register per workspace).
true for tenant accounts (used internally by the
realities/rents feature for property-management
workflows); false for the workspace’s own accounts.
Most workspaces only have own (tenant: false) accounts.
Lucanto API key. Three prefixes:
lct_pat_<random><checksum> — personal access token (owner: User)lct_live_<random><checksum> — workspace token, live datalct_test_<random><checksum> — workspace token, sandbox account (Phase 3)Issue keys at /settings/api_keys (personal) or
/:account_id/settings/api_keys (workspace). Plaintext token is
shown once and never again.