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
  • page[number]
    Type: integer
    min:  
    1

    Page to return, starting at 1.

  • page[size]
    Type: integer
    min:  
    1
    max:  
    100

    Records per page. Defaults to 25; anything above 100 is reduced to 100.

  • filter[invoice_number]
    Type: string

    One or more exact invoice numbers, comma-separated or repeated.

  • filter[project_id]
    Type: string

    One or more project ids, comma-separated or repeated.

  • filter[company_id]
    Type: string

    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
    }
  }
}