Skip to content

Public API Overview

The ZUTAX public API lets external systems push and read e-invoicing data without any UI workflow. Common use cases:

  • ERP and accounting integrations (push invoices, parties, products)
  • Composite “issue and transmit” — single call to upsert party + lines, sign IRN, and submit to the Access Point Provider
  • Async + webhook-callback flows for high-throughput batch jobs
  • CSV bulk imports for parties, products, and invoices
  • Status reads by ZUTAX UUID or your own external_id
  • Outbound webhooks for invoice lifecycle events

All public-API operations live under a single, frozen prefix:

https://api.getzutax.com/api/public/v1/...

Bearer tokens only:

Authorization: Bearer zk_live_<prefix>_<secret>

Generate a workspace API key from the ZUTAX dashboard. Keys carry workspace + tenant scope automatically — you never pass tenant_id or workspace_id in the URL on public-API calls.

Verify your key with GET /api/public/v1/_introspect before issuing real calls.

The full machine-generated reference for every public endpoint, including request/response schemas, status codes, and audience tags:

The reference page is regenerated from the live FastAPI schema and gated by CI — if a backend change touches the public surface without refreshing the docs, the build fails.

The v1 contract is frozen — only additive changes ship in v1 (new optional request fields, new optional response fields, new endpoints). Breaking changes go to /api/public/v2/* with v1 staying online for at least 12 months alongside.