List credit memos
GET
/partners/invoicesReturns a paginated list of credit memos in the workspace.
Pass invoiceType=memo to return only credit memos. Other filters match the Invoices API list.
HMAC signature + Bearer access token
Try this requestQuery parameters
pageintegeroptionalPage number for pagination. The first page is 1.
limitintegeroptionalRecords to return per page.
invoiceTypeenumrequiredMust be memo to list credit memos only.
One of: memo
statusstringoptionalComma-separated lifecycle statuses.
paymentStatusstringoptionalComma-separated payment statuses.
approvalStatusenumoptionalFilter by approval state.
One of: draft, approved
startDatedateoptionalFilter on memo date (ISO).
endDatedateoptionalFilter on memo date (ISO).
isDraftbooleanoptionalExplicit draft filter.
searchstringoptionalFree-text search.
Responses
200Paginated list of credit memos.401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot403The credential does not have access to this workspace or resource. Troubleshoot429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. TroubleshootGET
https://api.getcount.com/partners/invoicesRequest
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 = '/invoices';
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/invoices`, {
method,
headers: {
'x-client-id': CLIENT_ID,
'x-timestamp': timestamp,
'x-signature': signature,
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
});
console.log(await response.json());Response · 200
{
"status": "success",
"message": "Success on fetching invoices.",
"results": 1,
"totalRecords": 1,
"page": 1,
"limit": 50,
"data": {
"invoices": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"invoiceNumber": "CM-0042",
"invoiceType": "memo",
"customerUuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
"appliedToInvoiceUuid": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"date": "2026-03-01",
"dueDate": null,
"currency": "USD",
"status": "approved",
"isDraft": false,
"approved": true,
"isSent": false,
"paymentStatus": "unpaid",
"subtotal": 500,
"taxTotal": 0,
"total": 500,
"amountDue": 500,
"products": [
{
"productUuid": "aa11bb22-cc33-dd44-ee55-ff6677889900",
"description": "Credit for overbilling on prior invoice",
"quantity": 1,
"unitPrice": 500,
"nonTaxable": true
}
],
"createdAt": "2026-03-01T09:00:00.000Z",
"updatedAt": "2026-03-02T11:15:00.000Z"
}
]
}
}