Invoices API

Manage invoices programmatically.

List Invoices

GET /v1/invoices

Query Parameters

Parameter Type Description
status string Filter by status: draft, sent, paid, overdue
customer_id string Filter by customer
limit number Results per page (max 100)
offset number Pagination offset

Response

{
  "data": [
    {
      "id": "inv_123",
      "number": "INV-2026-001",
      "customer_id": "cust_456",
      "status": "sent",
      "total": 1500.00,
      "currency": "USD",
      "due_date": "2026-03-15",
      "created_at": "2026-02-20T10:00:00Z"
    }
  ],
  "meta": {
    "total": 42,
    "limit": 20,
    "offset": 0
  }
}

Create Invoice

POST /v1/invoices

Request Body

{
  "customer_id": "cust_456",
  "items": [
    {
      "description": "Web Development",
      "quantity": 10,
      "unit_price": 150.00
    }
  ],
  "due_date": "2026-03-15",
  "notes": "Net 30"
}

Response

{
  "id": "inv_789",
  "number": "INV-2026-002",
  "status": "draft",
  "total": 1500.00,
  "created_at": "2026-02-24T09:30:00Z"
}

Get Invoice

GET /v1/invoices/{id}

Update Invoice

PATCH /v1/invoices/{id}

Send Invoice

POST /v1/invoices/{id}/send

Sends the invoice via email to the customer.

Delete Invoice

DELETE /v1/invoices/{id}

Only draft invoices can be deleted.