Create and retrieve invoices programmatically. Connect your online store, CRM or internal system so every order becomes an invoice automatically — no manual data entry.
https://faturapro.app/api/v1Every request must include your API key as a Bearer token in the Authorization header. Keys start with fp_live_ and are shown only once when generated, so store yours somewhere safe.
Authorization: Bearer fp_live_your_key_hereKeys are tied to your account: requests only ever return or create data belonging to you. You can hold up to three keys at a time and delete any of them from Settings → API access. If a key leaks, delete it there and generate a new one.
GET /api/v1/invoicesReturns your most recent invoices, newest first, up to 100 per request.
curl -H "Authorization: Bearer fp_live_your_key_here" \
https://faturapro.app/api/v1/invoicesExample response:
{
"invoices": [
{
"id": "INV-012-4821",
"client": "Atlas Marketing GmbH",
"email": "client@atlas-marketing.de",
"date": "2026-08-01",
"due": "2026-08-15",
"status": "pending",
"subtotal": 2400,
"tax_amt": 504,
"total": 2904,
"currency": "EUR",
"items": [
{ "desc": "Brand identity package", "qty": 1, "price": 2400 }
]
}
]
}POST /api/v1/invoicesCreates a new invoice in your account with status pending. Totals are calculated server-side from the items you send, so you never need to compute them yourself.
| Field | Type | Description | |
|---|---|---|---|
| client | string | Required | Client or company name |
| items | array | Required | Line items: desc (string), qty (number), price (number) |
| string | Optional | Client email address | |
| date | string | Optional | Invoice date, YYYY-MM-DD. Defaults to today |
| due | string | Optional | Due date, YYYY-MM-DD |
| tax | number | Optional | Tax percentage. Defaults to 21. Send 0 for no tax |
| discount | number | Optional | Discount percentage applied before tax |
| currency | string | Optional | Three-letter code such as EUR, USD, GBP. Defaults to EUR |
| notes | string | Optional | Notes shown on the invoice |
curl -X POST https://faturapro.app/api/v1/invoices \
-H "Authorization: Bearer fp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"client": "Atlas Marketing GmbH",
"email": "client@atlas-marketing.de",
"items": [
{ "desc": "Order #1001 - Brand identity package", "qty": 1, "price": 2400 }
],
"tax": 21,
"currency": "EUR",
"due": "2026-08-15"
}'Example response (HTTP 201):
{
"invoice": {
"id": "INV-012-4821",
"total": 2904,
"currency": "EUR",
"status": "pending"
}
}Creating an invoice from a Node.js backend or a serverless function:
const res = await fetch("https://faturapro.app/api/v1/invoices", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.FATURA_API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
client: order.customerName,
email: order.customerEmail,
items: order.lines.map(l => ({
desc: l.title,
qty: l.quantity,
price: l.unitPrice
})),
currency: order.currency,
tax: 21
})
});
const data = await res.json();
console.log(data.invoice.id);Keep your API key on the server side only. Never expose it in browser code, mobile apps or public repositories.
| 200 | Request succeeded (GET) |
| 201 | Invoice created (POST) |
| 400 | Missing or invalid fields — check that client and items are present |
| 401 | Invalid or missing API key |
| 405 | Method not allowed — only GET and POST are supported |
| 500 | Something went wrong on our side. Retry, and contact support if it persists |
Online stores. Create an invoice automatically for every new order, with the order number in the line item description.
Recurring services and SaaS. Trigger an invoice when a subscription renews or when usage is billed.
Internal tools and CRMs. Turn a closed deal into an invoice without anyone retyping the numbers.
No-code automation. Tools such as Make or Zapier can call this API with a generic HTTP request module, so you can connect it without writing code.
Questions about integrating the API? Email support@faturapro.app and we will help.