API reference

Invoices

Invoices with Swiss QR-bill reference (read only in v1). GET /invoices/{id} includes the lines.

Endpoints

GET/api/v1/invoicesList, newest first
GET/api/v1/invoices/{id}Get one

Read only in v1.

Fields

Every record also has object = "invoice".

FieldTypeDescription
id
read only
uuidUnique ID.
brand_id
required on create
set on create only
read only
uuidThe brand this belongs to (see GET /brands). Required when creating; cannot be changed.
client_id
read only
uuidThe client it belongs to (optional).
number
read only
stringInvoice number.
issued_on
read only
dateIssue date.
due_on
read only
dateDue date.
status
read only
one of: draft, sent, paid, voidStatus.
currency
read only
stringCurrency.
vat_rate
read only
numberVAT rate in percent.
prices_incl_vat
read only
booleanWhether line prices include VAT.
qr_reference
read only
stringQR-bill reference.
paid_on
read only
dateWhen it was paid.
notes
read only
stringNotes on the invoice.
created_at
read only
date-timeWhen it was created (UTC, ISO 8601).

List filters

Add to GET /api/v1/invoices as query parameters. Also limit (1–200, default 50) and cursor. See Pagination.

ParameterTypeMeaning
brand_iduuidOnly this brand.
client_iduuidOnly this client.
statusone of: draft, sent, paid, voidOnly this status.
issued_fromdateIssued on or after this date.
issued_todateIssued on or before this date.

List

Terminal
curl "$QUILO_URL/api/v1/invoices?limit=20&status=draft" \
  -H "Authorization: Bearer $QUILO_API_KEY"
JSON
{
  "object": "list",
  "data": [
    {
      "object": "invoice",
      "id": "6f1c2a90-3b4d-4e5f-8a7b-9c0d1e2f3a4b",
      "brand_id": "0b7e9a52-1c3d-4f6e-9a8b-7c6d5e4f3a2b",
      "client_id": "5d2c1b0a-9e8f-4a7b-8c6d-5e4f3a2b1c0d",
      "number": "DJ-2026-042",
      "issued_on": "2026-10-17",
      "due_on": "2026-10-17",
      "status": "draft",
      "currency": "CHF",
      "vat_rate": 8.1,
      "prices_incl_vat": false,
      "qr_reference": null,
      "paid_on": "2026-10-17",
      "notes": null,
      "created_at": "2026-10-17T09:30:00Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Get one

Terminal
curl "$QUILO_URL/api/v1/invoices/ID" -H "Authorization: Bearer $QUILO_API_KEY"
JSON
{
  "object": "invoice",
  "id": "6f1c2a90-3b4d-4e5f-8a7b-9c0d1e2f3a4b",
  "brand_id": "0b7e9a52-1c3d-4f6e-9a8b-7c6d5e4f3a2b",
  "client_id": "5d2c1b0a-9e8f-4a7b-8c6d-5e4f3a2b1c0d",
  "number": "DJ-2026-042",
  "issued_on": "2026-10-17",
  "due_on": "2026-10-17",
  "status": "draft",
  "currency": "CHF",
  "vat_rate": 8.1,
  "prices_incl_vat": false,
  "qr_reference": null,
  "paid_on": "2026-10-17",
  "notes": null,
  "created_at": "2026-10-17T09:30:00Z",
  "lines": [
    {
      "position": 1,
      "description": "18k gold ring, sapphire",
      "quantity": 1,
      "unit_price": 2480
    }
  ]
}

Unknown IDs, IDs from other companies and records you cannot access all answer 404 not_found.