Endpoint reference
The complete, always-current endpoint reference is generated from the live API's OpenAPI specification:
- Open the interactive API reference →: every endpoint, parameter, request, and response, browsable and searchable (Redoc).
- Download the OpenAPI spec (JSON) →: the raw specification, to import into Postman/Insomnia, generate a client, or drive your own tooling.
Because it is generated straight from the running backend, it never drifts from
the real API. All paths are relative to the base URL
and require a Bearer token; amounts are in
cents and field names are snake_case.
A typical integration flow
- Create the recipient with
POST /v1/entities(or reuse an existing one fromGET /v1/entities). - (Optional) Preview taxes with
POST /v1/taxes/prefill. - Create the draft with
POST /v1/invoices. - Issue it with
POST /v1/invoices/{id}/issue: this assigns the invoice number and, for Spanish issuers, reports it to the AEAT. - Download the PDF with
GET /v1/invoices/{id}/pdf.
If you are established in Spain
Issuing is blocked until you have granted the AEAT power of attorney and the
AEAT has confirmed it (checked once a day: confirming the grant in the app
does not lift the gate on its own). Until then the invoice stays a draft and
issue returns 403 with error: "verifactu_authorization_required". See the
Veri*Factu guide.
A mutating request made with an API token that does not present a valid
X-Human-Proof header is not executed: it is recorded for human review and
returns 202 pending_approval. A human then approves (replays) or rejects it.
See the AI Audit guide.