Get Account Overview
GET/api/ledger/accounts/:nominalCode
GL account drill-down header (the nominal code detail page): the account's identity plus debit/credit/net totals and line count. Accepts the SAME filter[...] and filter_groups params as the lines endpoint, so the KPIs always describe exactly what the lines table shows.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Authentication: Requires Bearer token.
Filterable columns (filter_groups): entry_reference, entry_type, line_direction, line_description, currency (text operators); amount, entry_id, id (numeric operators); effective_at (date operators). Unregistered columns are rejected with HTTP 400.
account.posted_lines_count is the UNfiltered count of live journal lines on the account (independent of the filter params) — the type editor uses it to decide whether a reclassification is guarded.
account.is_system_reserved is true when the account is a control account mapped in the accounting settings (A/R, A/P, inventory control, …) — its type is locked and the editor disables the control.
account.integration_account is the connected accounting-provider account (Xero or QBO) this nominal code maps to, or null when no provider is connected or no match exists. link_basis is mapping for an explicit polymorphic mapping (QBO always sets it; Xero sets it when the chart was mapped through the onboarding wizard) or code when inferred by matching the account code (xero_accounts.Code ⇄ nominal_codes.code — the fallback Xero's sync uses for an adopted chart). The ledger account page renders the provider account inline and, for Xero, deep-links to /v2/integrations/xero/accounts/{integration_account.id}.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.