API Reference
API Reference
/v1/invoicesReturns a paginated list of invoices in your organization, newest first. Invoices are generated automatically from approved timesheets; filter by status, direction, member, or customer.
invoices:readModule: accountingQuery parameters
limit | integer Page size, 1-100 (default 25). |
cursor | string Opaque cursor from a previous response’s next_cursor. |
status | enum
|
direction | enum
|
member_id | string (uuid) Filter by billing member. |
customer_id | string (uuid) Filter by billed customer. |
Request
Response · 200
/v1/invoices/{id}Returns a single invoice by id with its line items embedded. Responds 404 if no such invoice exists in your organization.
invoices:readModule: accountingPath parameters
idrequired | string (uuid) Invoice id. |
Request
curl -X GET "https://keepworkersfirst.org/api/v1/invoices/f2b3c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c6d" \
-H "Authorization: Bearer $API_KEY"Response · 200
{
"id": "f2b3c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c6d",
"invoice_number": "INV-000042",
"direction": "org_to_customer",
"member_id": null,
"customer_id": "e9a2f6dd-508a-4e52-a6b2-1a8f5e2d6e43",
"status": "sent",
"issue_date": "2026-07-09",
"due_date": "2026-07-23",
"period_start": null,
"period_end": null,
"subtotal": 384,
"tax_total": 33.6,
"total": 417.6,
"amount_paid": 0,
"sent_at": "2026-07-09T10:05:00Z",
"paid_at": null,
"payment_reference": null,
"voided_at": null,
"void_reason": null,
"notes": null,
"created_at": "2026-07-09T10:00:00Z",
"updated_at": "2026-07-09T10:05:00Z",
"lines": [
{
"id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"invoice_id": "f2b3c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c6d",
"line_index": 0,
"line_type": "timesheet",
"description": "2026-07-08 — Main St site — 8h @ $48.00",
"quantity": 8,
"unit": "hours",
"rate": 48,
"amount": 384,
"shift_id": "a3f6d0aa-9d3c-49e0-90ef-6d3c1b7a2b10",
"member_id": "d7f0e4cc-3e6f-4c30-b4a0-9f6e3d0c4d32",
"customer_id": "e9a2f6dd-508a-4e52-a6b2-1a8f5e2d6e43",
"created_at": "2026-07-09T10:00:00Z"
}
]
}{
"data": [
{
"id": "f2b3c4d5-6e7f-4a8b-9c0d-1e2f3a4b5c6d",
"invoice_number": "INV-000042",
"direction": "org_to_customer",
"member_id": null,
"customer_id": "e9a2f6dd-508a-4e52-a6b2-1a8f5e2d6e43",
"status": "sent",
"issue_date": "2026-07-09",
"due_date": "2026-07-23",
"period_start": null,
"period_end": null,
"subtotal": 384,
"tax_total": 33.6,
"total": 417.6,
"amount_paid": 0,
"sent_at": "2026-07-09T10:05:00Z",
"paid_at": null,
"payment_reference": null,
"voided_at": null,
"void_reason": null,
"notes": null,
"created_at": "2026-07-09T10:00:00Z",
"updated_at": "2026-07-09T10:05:00Z"
}
],
"has_more": false,
"next_cursor": null
}curl -X GET "https://keepworkersfirst.org/api/v1/invoices" \
-H "Authorization: Bearer $API_KEY"