Account
An account is a deposit account: one balance in the ledger, on one product version, owned by one or more customers and reachable through one or more account numbers.
Product and version
POST /accounts takes owners and a product_code from GET /products. The account opens on the product's live version and records it as product_version. Its terms are read from that version. type (checking, now, savings, money_market or certificate) and currency_code come from the product.
Every owner must be eligible, or the request is refused with accounts.customer_not_eligible. A consumer product also needs an acknowledgement of its opening documents.
State
status is open, frozen, dormant or closed, with a status_reason. Payments out of an account that is not open are refused with accounts.account_not_open. Each change is an event: accounts.account.opened, .frozen, .open, .dormant, .closed.
Balances
GET /accounts/{id} returns the account with a balances object, in minor units.
ledger_amount: what is posted in the ledger.available_amount: the ledger amount less every hold, and zero while the account is frozen.pending_amount: deposited and not yet available under Reg CC.holding_amount: reserved for payments in flight and card authorizations.locked_amount: legal holds, plus what would have been available while the account is frozen.
The ledger account behind it
Opening an account opens one ledger account under the product's GL code, for example 2100 (demand deposits) for business checking, 2110 (interest-bearing transaction accounts) for consumer checking and 2200 (savings and money market deposits) for savings. Its address names the ledger namespace (such as deposits.checking), the account id, the currency and the primary owner. Deposit accounts are liabilities of the bank, so a credit entry raises the balance and a debit lowers it. See Ledger, journals and holds.
Account numbers
An account number is ten digits, the last a Luhn check digit. Every account gets a default number. POST /accounts/{id}/account-numbers adds another with a description, for one payer or one purpose. All of them land on the same balance. A number other than the default can be deleted.
Every field is listed in the Account object and the Account Number object.