Create a draft invoice
Authorization
OAuth2PasswordBearer In: header
Cookie Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
What an invoice is made of. IN-302.
Totals are not here: subtotal_minor, tax_minor and total_minor are
derived from the lines and returned on the invoice. Sending a total that
disagrees with the lines is the one way to make an invoice that cannot be
reconciled, so there is no field to send it in.
Response Body
application/json
application/json
curl -X POST "https://example.com/api/b/v1/invoices" \ -H "Content-Type: application/json" \ -d '{ "number": "INV-2026-0042", "customer_name": "Kigali Heights Ltd", "currency": "RWF", "lines": [ { "description": "Consulting — August 2026", "unit_price_minor": 250000 } ] }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "number": "string", "customer_name": "string", "customer_email": "string", "currency": "string", "subtotal_minor": 0, "tax_minor": 0, "total_minor": 0, "paid_minor": 0, "outstanding_minor": 0, "state": "draft", "due_date": "2019-08-24", "notes": "string", "sent_at": "2019-08-24T14:15:22Z", "paid_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "payment_link_slug": "string", "lines": [], "reminders": []}