List chart of accounts
GET
https://app.speybooks.com/api/v1/accounts/Returns the chart of accounts for the authenticated organisation.
By default, accounts are returned as a hierarchical tree based on
parent/child relationships. Pass flat=true to get a flat list
sorted by account code.
Filter by account type to retrieve only one section of the chart (e.g. all expense accounts). Filter by active status to include or exclude deactivated accounts.
Query parameters
activebooleanoptionalDefault: trueFilter by active status. Defaults to true (active accounts only). Pass false to include deactivated accounts.
flatbooleanoptionalDefault: falseReturn a flat list sorted by account code instead of the default hierarchical tree.
typestringoptionalFilter by account type. Returns only accounts of this type.
assetliabilityequityrevenueexpenseResponse
200Returns the chart of accounts as a hierarchical tree (default) or flat list. Includes total count in meta.
Show response fields
accountsarray<object>Show child attributes
accountTypestringAccount type. Determines balance direction and report section. Immutable on system accounts.
assetliabilityequityrevenueexpensechildrenarray<object>Child accounts in the hierarchy. Present when flat=false (default).
codestringUnique account code within the organisation (e.g. 1200, 4000). Max 20 characters.
controlTypestringnullableControl account category (e.g. trade_debtors, trade_creditors, vat_control). Only meaningful when isControlAccount is true.
createdAtstringdate-timeISO 8601 creation timestamp.
defaultVatRateintegernullableDefault VAT rate as a whole percentage (e.g. 20 for 20%). Applied as suggestion when creating transaction lines.
descriptionstringnullableOptional description of the account purpose. Max 500 characters.
idstringPrefixed account ID (e.g. acc_1200). Immutable after creation.
isActivebooleanWhether the account is active. Inactive accounts are excluded from selection lists but retained for historical reporting.
isControlAccountbooleanWhether this is a control account used in automated journal creation (e.g. Trade Debtors for invoice finalisation).
isSystembooleanWhether the account was seeded during organisation setup. System accounts cannot be modified (except isActive) or deleted. Read-only.
namestringDisplay name (e.g. Trade Debtors, Sales). Max 200 characters.
parentIdstringnullablePrefixed ID of the parent account (e.g. acc_100), or null for root accounts.
updatedAtstringdate-timeISO 8601 last-updated timestamp.
metaobjectShow child attributes
totalintegerTotal number of accounts matching the filter.