List transactions
/partners/transactionsReturns a paginated list of transactions, newest first.
Query parameters
pageintegeroptionalPage number. First page is 1.
limitintegeroptionalRecords per page. Maximum 100.
startDatedateoptionalFilter on postedDate (ISO, inclusive).
endDatedateoptionalFilter on postedDate (ISO, inclusive).
accUuiduuidoptionalFilter by bank/cash account UUID (alias: accountUuid).
categoryAccountUuiduuidoptionalFilter by category account UUID.
vendorUuiduuidoptionalFilter by vendor UUID.
customerUuiduuidoptionalFilter by customer UUID.
projectUuiduuidoptionalFilter by project UUID.
tagUuidsstringoptionalComma-separated tag UUIDs or array of UUIDs.
transactionTypesenumoptionalFilter by type.
One of: Expense, Income, Transfer, Journal Entry
typeenumoptionalAlias for transactionTypes — use one or the other.
One of: Expense, Income, Transfer, Journal Entry
reviewedbooleanoptionalFilter by review state (true/false or "true"/"false").
reconciledbooleanoptionalFilter by reconciliation state.
pendingbooleanoptionalFilter by pending state.
excludedbooleanoptionalFilter by excluded state.
currencystringoptionalISO 4217 currency code — match the target bill or invoice currency.
forAttachmentbooleanoptionalBill/invoice picker search mode. Excludes original_amount from amount search.
statusenumoptionalRepeatable status filter tokens.
One of: notAttachedBill, notAttachedInvoice, pending, excluded, reviewed, reconciled, completed, included
transactionLevelenumoptionalSplit row mode.
One of: split, splitParent
searchstringoptionalFree-text search across description and notes.
Responses
200Paginated list of transactions.401Unauthorized — authentication failed. Troubleshoothttps://api.getcount.com/partners/transactionsimport 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 = '/transactions';
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/transactions`, {
method,
headers: {
'x-client-id': CLIENT_ID,
'x-timestamp': timestamp,
'x-signature': signature,
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
});
console.log(await response.json());{
"status": "success",
"message": "Success on fetching transactions.",
"results": 1,
"totalRecords": 1,
"page": 1,
"limit": 50,
"data": {
"transactions": [
{
"id": "b7c8d9e0-f1a2-3456-bcde-678901234567",
"type": "EXPENSE",
"description": "Office supplies from Amazon",
"amount": -150,
"currency": "USD",
"postedDate": "2026-03-01",
"authorizedDate": "2026-03-01",
"notes": "Q1 office supplies",
"paymentChannel": "online",
"reviewed": false,
"excluded": false,
"pending": false,
"split": false,
"accountId": "c8d9e0f1-a2b3-4567-cdef-789012345678",
"categoryAccountId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"vendorId": "d4e5f6a7-b8c9-0123-defa-234567890123",
"customerId": null,
"billId": null,
"invoiceId": null,
"tags": [
{
"id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"name": "Office"
}
],
"createdAt": "2026-03-13T08:30:00.000Z",
"updatedAt": "2026-03-13T08:30:00.000Z"
}
]
}
}