List chart of accounts

GEThttps://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: true
Filter by active status. Defaults to true (active accounts only). Pass false to include deactivated accounts.
flatbooleanoptionalDefault: false
Return a flat list sorted by account code instead of the default hierarchical tree.
typestringoptional
Filter by account type. Returns only accounts of this type.
assetliabilityequityrevenueexpense

Response

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
accountTypestring
Account type. Determines balance direction and report section. Immutable on system accounts.
assetliabilityequityrevenueexpense
childrenarray<object>
Child accounts in the hierarchy. Present when flat=false (default).
codestring
Unique account code within the organisation (e.g. 1200, 4000). Max 20 characters.
controlTypestringnullable
Control account category (e.g. trade_debtors, trade_creditors, vat_control). Only meaningful when isControlAccount is true.
createdAtstringdate-time
ISO 8601 creation timestamp.
defaultVatRateintegernullable
Default VAT rate as a whole percentage (e.g. 20 for 20%). Applied as suggestion when creating transaction lines.
descriptionstringnullable
Optional description of the account purpose. Max 500 characters.
idstring
Prefixed account ID (e.g. acc_1200). Immutable after creation.
isActiveboolean
Whether the account is active. Inactive accounts are excluded from selection lists but retained for historical reporting.
isControlAccountboolean
Whether this is a control account used in automated journal creation (e.g. Trade Debtors for invoice finalisation).
isSystemboolean
Whether the account was seeded during organisation setup. System accounts cannot be modified (except isActive) or deleted. Read-only.
namestring
Display name (e.g. Trade Debtors, Sales). Max 200 characters.
parentIdstringnullable
Prefixed ID of the parent account (e.g. acc_100), or null for root accounts.
updatedAtstringdate-time
ISO 8601 last-updated timestamp.
metaobject
Show child attributes
totalinteger
Total number of accounts matching the filter.