COUNTCOUNT
Sign Up
Chart of AccountsList chart of accounts

List chart of accounts

GET/partners/chart-of-accounts

Returns the workspace chart of accounts with optional filters.

Accounts are returned with nested `subType` and `institution` shapes. Use boolean-string query flags such as `includeBalances` or `includeHiddenAccounts` to control optional fields.

HMAC signature + Bearer access token
Try this request

Query parameters

typeenumoptional

Filter by high-level account type. Case-sensitive plural values only.

One of: Assets, Liabilities, Equity, Income, Expenses

subTypeIdintegeroptional

Filter by numeric AccountSubType id.

searchstringoptional

Partial match against account name or account number.

inactivestringoptional

When `"true"`, include inactive accounts.

includeBalancesstringoptional

When `"true"`, include `systemBalance` on each account and sub-account, plus `providerBalances` and `reconcileBalances` on top-level rows only.

includeHiddenstringoptional

When `"true"`, include hidden accounts.

includeHiddenAccountsstringoptional

Alias for including hidden accounts.

onlyCategoryAccountsstringoptional

When `"true"`, restrict to category-style accounts used for coding transactions.

includeDeleteMetastringoptional

When `"true"`, include `canDelete` and `deleteBlockedReason` on each row so integrations can tell whether delete will succeed.

pageintegeroptional

Page number for pagination. The first page is 1.

limitintegeroptional

Records to return per page.

Responses

200Chart of accounts rows.
400Invalid query parameters (for example malformed `type` or `subTypeId`).
401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot
403The credential does not have access to this workspace or resource. Troubleshoot
429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. Troubleshoot
GEThttps://api.getcount.com/partners/chart-of-accounts
Request
import crypto from 'node:crypto';

const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;

const method = 'GET';
const signingPath = '/chart-of-accounts';
const timestamp = Math.floor(Date.now() / 1000).toString();
const bodyString = '';

const bodyHash = '';
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');

const response = await fetch(`${BASE_URL}/partners/chart-of-accounts`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
});

console.log(await response.json());
Response · 200
{
  "page": 1,
  "limit": 50,
  "totalRecords": 1,
  "filters": {
    "type": null,
    "subTypeId": null,
    "search": null
  },
  "accounts": [
    {
      "id": "c8d9e0f1-a2b3-4567-cdef-789012345678",
      "name": "Operating Bank Account",
      "accountNumber": "1000",
      "type": "Assets",
      "status": "active",
      "currency": "USD",
      "description": "Primary business checking account",
      "color": "#4A90D9",
      "subType": {
        "id": 1,
        "type": "Assets",
        "name": "Bank",
        "anchorTier": null
      },
      "institution": {
        "name": "Chase",
        "logoUrl": null
      },
      "subAccounts": [],
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-28T14:22:30.000Z"
    }
  ]
}