List invoices
Lists your invoices, newest first, a page at a time. Each one arrives with its line items.
Filtering
-
filter[invoice_number]— one or more invoice numbers. This is how you turn a number your client quoted you into an invoice id. filter[project_id]— one or more project ids.filter[company_id]— one or more client company ids.
Query Parameters
- Type: integerpage[number]min:1
Page to return, starting at 1.
- Type: integerpage[size]min:1max:100
Records per page. Defaults to 25; anything above 100 is reduced to 100.
- Type: stringfilter[invoice
_number] One or more exact invoice numbers, comma-separated or repeated.
- Type: stringfilter[project
_id] One or more project ids, comma-separated or repeated.
- Type: stringfilter[company
_id] One or more client company ids, comma-separated or repeated. Find them with
GET /public-api/v1/companies.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
Request Example for get/public-api/v1/invoices
curl https://app.hellobonsai.com/public-api/v1/invoices \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"data": [
{
"id": 3310,
"invoice_number": "INV-001",
"title": "Acme Corp Invoice",
"currency": "USD",
"issued_date": "2026-04-14",
"due_date": "2026-04-28",
"project_id": 51,
"client_email": "alex@example.com",
"public_url_token": "x7f2a9c4b1e8d",
"created_at": "2026-04-14T09:12:04.000Z",
"total_amount": "200.0",
"discount_amount": "25.0",
"status": "outstanding",
"due_date_option": "custom",
"company_id": 42,
"client_name": "Acme Corp",
"subtotal": "200.0",
"tax_amount": "0.0",
"url": "https://app.hellobonsai.com/invoices/3391",
"invoice_items": [
{
"id": 4471,
"name": "Design",
"description": "Homepage and pricing page",
"amount": "2.0",
"rate": "100.0",
"unit_type": "per_hour",
"total": "200.0"
}
]
}
],
"meta": {
"request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e",
"pagination": {
"page": 1,
"page_size": 25,
"has_more": true
}
}
}