Docs

The built files of up to 200 invoices as one zip

  • In the sandbox
POST
/invoices/export

Since 0.33.0 (16 Oct 2026). Body {"ids": [...]}, 1 to 200 invoice ids. The zip holds one file per built document (UBL, CII, FA(3), XRechnung, Factur-X, ZUGFeRD, PDF, or the XML as received for a pass-through), named <invoice_number>.<xml|pdf> (with the kind added when one invoice has two XML files), and manifest.csv with invoice_id,invoice_ref,invoice_number,route,state,file,kind,sha256. The canonical JSON, the validation report and the ERP's export are left out. An id that is unknown or another client's is skipped without being named, like an invoice with no built file yet; X-Export-Skipped counts them. The read scope; 10 exports a minute per client, shared with GET /exports/{dataset}; a data_exported audit row with the zip's SHA-256.

Authorization

apiKey
headerAuthorizationBearer <token>

Send your key as a bearer token: Authorization: Bearer <your-api-key>. Health is the only call that needs no key.

Request body

application/json
  1. body
ids*array<>
Items1 <= items <= 200

Response body

The zip.

response?fileapplication/zip
Formatbinary
curl -X POST "https://example.com/invoices/export" \  -H "Authorization: Bearer <your-api-key>" \  -H "Content-Type: application/json" \  -d '{    "ids": [      "string"    ]  }'
"string"