API v1
API REST para Factuur.software. Parte de la suscripción Pro. JSON de entrada y salida, autenticación Bearer.
Autenticación
Envía tu clave API en el encabezado Authorization:
Authorization: Bearer JOUW_SLEUTEL
Genera tu clave a través de Perfil, bajo acceso API. La clave se muestra una vez - después solo guardamos un hash. ¿Perdida? Revócala y genera una nueva.
Límite de tasa
1000 solicitudes por hora por usuario. Más allá de eso, sigue HTTP 429.
Endpoints
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/v1/me | perfil, suscripción, características y consumo |
| GET | /api/v1/invoices | facturas (no archivadas); consulta: desde, hasta (AAAA-MM-DD), límite (máx 1000), desplazamiento |
| GET | /api/v1/invoices/{id} | una factura con líneas y cliente |
| POST | /api/v1/invoices | crear factura; invoice_number vacío = numeración automática, líneas opcional |
| PUT | /api/v1/invoices/{id} | cambiar estado, invoice_number, issue_date, due_date, notes o customer_id |
| DELETE | /api/v1/invoices/{id} | archiva la factura (obligación fiscal de conservación, no eliminación definitiva) |
| GET | /api/v1/customers | clientes; consulta: límite, desplazamiento |
| GET | /api/v1/customers/{id} | un cliente |
| POST | /api/v1/customers | crear cliente; nombre es obligatorio |
| PUT | /api/v1/customers/{id} | modificar campos del cliente |
| DELETE | /api/v1/customers/{id} | eliminar cliente; 409 mientras haya facturas asociadas |
| GET | /api/v1/expenses | gastos; consulta: desde, hasta (AAAA-MM-DD), límite, desplazamiento |
| GET | /api/v1/expenses/{id} | un gasto |
| POST | /api/v1/expenses | crear gasto |
| PUT | /api/v1/expenses/{id} | modificar gasto; montos y IVA se recalcularán |
| DELETE | /api/v1/expenses/{id} | eliminar gasto |
Códigos de estado
200/201exitoso401Falta el token Bearer o es inválido403la suscripción no proporciona acceso a la API404no encontrado409conflicto, por ejemplo, eliminar cliente con facturas422carga útil no válida429límite de tasa excedido
Ejemplos
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