Skip to main content
Keys post directly. People do not: what a person asks for becomes an approval, and a different person decides it. This one workflow covers adjustments, reversals, freezes, limit changes, FX rates, fee schedules, named account changes, modules and new ledgers. Nothing in this workflow can be done with an API key except reading. Proposing and deciding happen in the console. The exception is a loan write-off, which a key can ask for.

The rules

  • The proposer never decides their own request.
  • Above the tenant’s singleApproverMax, two different people must approve. Money in a currency other than the base currency always needs two.
  • Above stepUpAbove, each approver must have just confirmed their identity.
  • The change is applied in the same transaction as the final approval. If the ledger refuses it then, the request ends FAILED, with the reason in failureCode.
GET /v1/tenant shows both amounts, in minor units of the base currency.

Reading approvals

A key with read can follow a request.
GET /v1/approvals filters by kind and view, and subscribing to approval.* webhooks saves polling.