COUNTCOUNT
Sign Up
BillsList bills

List bills

GET/partners/bills

Returns a paginated list of bills and vendor memos in the workspace.

Each row exposes id as the bill UUID for detail and payment routes. Default limit is 50.

HMAC signature + Bearer access token
Try this request

Query parameters

pageintegeroptional

Page number for pagination. The first page is 1.

limitintegeroptional

Records to return per page.

billTypeenumoptional

Filter by document type.

One of: bill, vendor_memo

approvalStatusenumoptional

Filter by approval state.

One of: draft, approved

statusstringoptional

Comma-separated approval and payment status tokens (for example draft,approved,paid).

vendorUuidsstringoptional

Comma-separated vendor UUIDs from the Vendors API.

projectUuidsstringoptional

Comma-separated project UUIDs.

currencystringoptional

Filter by ISO 4217 currency code.

searchstringoptional

Substring match against bill number or vendor name.

startDatedateoptional

Bill date range start (ISO, inclusive).

endDatedateoptional

Bill date range end (ISO, inclusive).

startDueDatedateoptional

Due date range start (ISO, inclusive).

endDueDatedateoptional

Due date range end (ISO, inclusive).

amountnumberoptional

Filter by bill total. Pair with amountOperator.

amountOperatorenumoptional

Comparison operator for amount filter.

One of: eq, gt, gte, lt, lte

orderBystringoptional

Sort field (for example id, date, dueDate, vendor, status). Defaults to id.

orderDirectionenumoptional

Sort direction. Defaults to DESC.

One of: ASC, DESC

Responses

200Paginated list of bills.
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/bills
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 = '/bills';
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/bills`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
});

console.log(await response.json());
Response · 200
{
  "results": 1,
  "page": 1,
  "limit": 50,
  "totalRecords": 1,
  "filters": {
    "search": null,
    "status": null
  },
  "bills": [
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "billNumber": "BILL-1042",
      "billType": "bill",
      "date": "2026-01-15",
      "dueDate": "2026-02-15",
      "currency": "USD",
      "approvalStatus": "approved",
      "status": "unpaid",
      "total": 250,
      "paidAmount": 0,
      "amountDue": 250,
      "notes": "Office supplies for Q1",
      "purchaseOrderNumber": null,
      "isDeleted": false,
      "vendor": {
        "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "name": "Office Depot",
        "email": "ap@officedepot.example"
      },
      "lineItems": [
        {
          "id": "a4b5c6d7-e8f9-0123-abcd-456789012345",
          "description": "Office supplies",
          "quantity": 1,
          "price": 250,
          "total": 250,
          "categoryAccountUuid": "c3d4e5f6-a7b8-9012-cdef-123456789012"
        }
      ],
      "transactions": [],
      "appliedVendorMemos": [],
      "tagUuids": [],
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-28T14:22:30.000Z"
    }
  ]
}