OpenAPI Spec & Postman
The entire public API is described by a single OpenAPI 3.1 document. Download it to explore endpoints in Postman or Insomnia, generate a typed client, or drive your own tooling — no copy-pasting from these docs required.
Download
Section titled “Download”- Download OpenAPI spec (YAML) — recommended
- Download OpenAPI spec (JSON)
The spec covers only the public endpoints:
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/projects | List your projects |
GET | /api/v1/projects/{projectId}/templates | List templates in a project |
GET | /api/v1/templates/{templateId} | Inspect a template and its variable schema |
POST | /api/v1/templates/{templateId}/generate | Render a personalized image — returns bytes, or a share link with delivery: "link" |
POST | /api/v1/batch-jobs | Submit a batch job — one template, many rows |
GET | /api/v1/batch-jobs | List your batch jobs |
GET | /api/v1/batch-jobs/{jobId} | Poll a batch job’s status |
GET | /api/v1/batch-jobs/{jobId}/items | List a job’s per-row outcomes |
GET | /api/v1/batch-jobs/{jobId}/result | Fetch a completed job’s results (URL or ZIP) |
POST | /api/v1/batch-jobs/{jobId}/cancel | Cancel a batch job, refunding unrendered rows |
DELETE | /api/v1/batch-jobs/{jobId} | Delete a finished batch job and its archive |
GET | /api/v1/shares | List your public share links |
DELETE | /api/v1/shares/{shareId} | Revoke a public share link |
The document’s servers block is set to https://app.zandovi.com, and every operation
declares the X-Api-Key API-key security scheme — so imported requests are pre-wired
with the right base URL and auth.
Import into Postman
Section titled “Import into Postman”- Open Postman → Import (top-left), then drag in
zandovi-openapi.yaml(or File → Choose Files). - Postman creates a Zandovi API collection with every endpoint and example request,
and detects the
X-Api-Keyauth from the spec. - Open the collection → Variables (or its Authorization tab) and set your API key once — every request inherits it.
- Create your key first in Settings → API Keys — see Authentication.
Import into Insomnia or generate a client
Section titled “Import into Insomnia or generate a client”-
Insomnia: Create → Import From File → pick the YAML. Same result.
-
Client generation: feed the file to any OpenAPI 3.1 tool, e.g.
Terminal window # TypeScript typesnpx openapi-typescript zandovi-openapi.yaml -o zandovi.d.ts# A full client with openapi-generatoropenapi-generator generate -i zandovi-openapi.yaml -g python -o ./zandovi-client
What’s not in the spec
Section titled “What’s not in the spec”Admin, billing, and internal endpoints are intentionally excluded — the document contains only the render-focused public API described in these docs, including the batch-jobs endpoints listed above.
Completion callbacks are only half-visible here, by nature: the
callbackUrl request field and the completionCallback response object are in the spec, but the
delivery we POST to your endpoint isn’t — it’s a request you receive, not one you make, so no
operation describes it. Its payload and signature are documented on the callbacks page.
Staying current
Section titled “Staying current”The spec is regenerated from the API itself, so the download tracks the live
https://app.zandovi.com/api/v1 behavior. Pin against the info.version field inside the
file if you need to detect changes.