v1

latestOpenAPI 3.0.32026-07-26362271803.3 KB
Accounts Payable

List Bill Payments

    Retrieve a paginated list of bill payments (payments applied against accounts
    payable bills), designed for syncing payment data into external systems.

    Results are ordered by (last_modified_at, id) ascending, so pages are stable and
    a sync can resume from where it left off.

    **Full sync (cursor pagination):**
    - Pass an empty cursor parameter (cursor=) on the first request
    - Follow the 'next' URL from each response until it is null

    **Incremental sync (time-based):**
    - Store the highest last_modified_at value you have processed
    - On the next run, pass it as last_modified_at__gte to fetch only new and updated payments

    **Voids:**
    - Voided payments are included by default with voided_date set, so integrators can
      detect payments that were reversed after a previous sync
    - Filter with voided=true or voided=false to fetch only one kind
    
get/coa/api/v1/bill-payments

Query parameters

cursorstring

Opts into cursor pagination. Pass an empty value (cursor=) on the first request, then follow the 'next' URL from each response until it is null. The cursor value is opaque - do not parse or construct it. Cursor pagination is recommended for full syncs as it avoids the performance penalty of deep offsets on large result sets.

last_modified_at__gtestring

Filter for payments modified on or after this timestamp. Format: ISO 8601 (e.g., '2024-01-01T00:00:00Z' or '2024-01-01'). Use this for incremental syncs: store the highest last_modified_at you have processed and pass it on the next sync run.

last_modified_at__ltestring

Filter for payments modified on or before this timestamp. Format: ISO 8601 (e.g., '2024-12-31T23:59:59Z' or '2024-12-31'). Date-only values are inclusive of the entire day.

limitinteger

Maximum number of records to return per page. Default 100, maximum 10000. Use with offset to paginate

offsetinteger

Number of records to skip before collecting the result page. Use with limit to paginate

skip_countboolean

When 'true', skips the total COUNT query and returns a lower-bound 'count' instead. Recommended for large syncs where the exact total is not needed.

voidedboolean

Filter by void status. When 'true', returns only voided payments (voided_date is set). When 'false', returns only active payments. When omitted, returns both so integrators can detect and propagate voids.

Response

countinteger required
nextstring uri nullable
previousstring uri nullable

Example response

{
  "count": 123,
  "next": "http://api.example.org/accounts/?offset=400&limit=100",
  "previous": "http://api.example.org/accounts/?offset=200&limit=100"
}