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 firstGET
/api/v1/invoices/{id}Get oneRead only in v1.
Fields
Every record also has object = "invoice".
| Field | Type | Description |
|---|---|---|
idread only | uuid | Unique ID. |
brand_idrequired on create set on create only read only | uuid | The brand this belongs to (see GET /brands). Required when creating; cannot be changed. |
client_idread only | uuid | The client it belongs to (optional). |
numberread only | string | Invoice number. |
issued_onread only | date | Issue date. |
due_onread only | date | Due date. |
statusread only | one of: draft, sent, paid, void | Status. |
currencyread only | string | Currency. |
vat_rateread only | number | VAT rate in percent. |
prices_incl_vatread only | boolean | Whether line prices include VAT. |
qr_referenceread only | string | QR-bill reference. |
paid_onread only | date | When it was paid. |
notesread only | string | Notes on the invoice. |
created_atread only | date-time | When 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.
| Parameter | Type | Meaning |
|---|---|---|
brand_id | uuid | Only this brand. |
client_id | uuid | Only this client. |
status | one of: draft, sent, paid, void | Only this status. |
issued_from | date | Issued on or after this date. |
issued_to | date | Issued 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.