Factuur.software

API v1

REST API for Factuur.software. Part of the Pro subscription. JSON in and out, Bearer authentication.

Authentication

Send your API key in the Authorization header:

Authorization: Bearer JOUW_SLEUTEL

Generate your key via Profile, under API access. The key is visible once - after that we only store a hash. Lost? Revoke it and generate a new one.

Rate limit

1000 requests per hour per user. Above that, HTTP 429 follows.

Endpoints

MethodPathDescription
GET/api/v1/meprofile, subscription, features and usage
GET/api/v1/invoicesinvoices (non-archived); query: from, to (YYYY-MM-DD), limit (max 1000), offset
GET/api/v1/invoices/{id}one invoice with lines and customer
POST/api/v1/invoicescreate invoice; invoice_number empty = automatic numbering, lines optional
PUT/api/v1/invoices/{id}change status, invoice_number, issue_date, due_date, notes or customer_id
DELETE/api/v1/invoices/{id}archives the invoice (fiscal retention obligation, no permanent deletion)
GET/api/v1/customerscustomers; query: limit, offset
GET/api/v1/customers/{id}one customer
POST/api/v1/customerscreate customer; name is required
PUT/api/v1/customers/{id}edit customer fields
DELETE/api/v1/customers/{id}delete customer; 409 as long as there are invoices attached
GET/api/v1/expensesexpenses; query: from, to (YYYY-MM-DD), limit, offset
GET/api/v1/expenses/{id}one expense
POST/api/v1/expensescreate expense
PUT/api/v1/expenses/{id}edit expense; amounts and VAT will be recalculated
DELETE/api/v1/expenses/{id}delete expense

Status codes

  • 200 / 201 succeeded
  • 401 Bearer token is missing or invalid
  • 403 subscription does not provide API access
  • 404 not found
  • 409 conflict, for example deleting customer with invoices
  • 422 invalid payload
  • 429 rate limit exceeded

Examples

curl -H "Authorization: Bearer JOUW_SLEUTEL" https://factuur.software/api/v1/me
curl "https://factuur.software/api/v1/invoices?from=2026-01-01&limit=50" -H "Authorization: Bearer JOUW_SLEUTEL"
curl -X POST -H "Authorization: Bearer JOUW_SLEUTEL" -H "Content-Type: application/json" -d '{"customer_id":1,"lines":[{"description":"Consultancy","quantity":8,"unit_price":95,"tax_rate":21}]}' https://factuur.software/api/v1/invoices
curl -X PUT -H "Authorization: Bearer JOUW_SLEUTEL" -H "Content-Type: application/json" -d '{"status":"betaald"}' https://factuur.software/api/v1/invoices/123

We use essential cookies to make this site work. With your permission we also use analytics to improve the site.