List renders
Authorization
ApiKeyAuth API key from Settings → API Keys.
In: header
Query Parameters
Value in
- "pending"
- "running"
- "completed"
- "failed"
value <= 10020Render ID from a previous response's next_cursor.
Response Body
application/json
application/json
curl -X GET "https://example.com/api/v1/renders"{ "renders": [ { "id": "cm4rnd7qh0001jx04w8e2t5va", "self": "https://automette.com/api/v1/renders/cm4rnd7qh0001jx04w8e2t5va", "status": "completed", "url": "https://cdn.automette.com/p/cm4rnd7qh0001jx04w8e2t5va/document.pdf", "format": "pdf", "template_id": "cm4tpl8e20001js04xq2v9k3m", "template_name": "Invoice", "error": null, "created_at": "2026-04-22T12:00:00.000Z" } ], "next_cursor": null}Revoke URL base DELETE
Removes the on-demand token. Every signed URL for the template stops working immediately.
Generate a document POST
Generates a PDF or image from a template and your data. **Async (default)** — returns `202 Accepted` immediately with `status: "pending"`. Poll `GET /api/v1/renders/{id}` until `status` is `completed`, or set `webhook_url` to receive a callback and skip polling entirely. **Sync** — set `async: false`. Returns `200 OK` with a completed render if it finishes within 30 seconds. If the render takes longer, the request returns `202` with `status: "pending"` and the render finishes in the background — fall back to polling exactly like async mode. A sync timeout is **not** an error. **Visibility:** - `public` — file is served from CloudFront. The `url` in the response is the final, cacheable, shareable URL. No auth required to open. Best for embedding in emails, social posts, or public web pages. - `secure` — file is served via a short-lived presigned URL. The `url` in the response points to `/api/v1/renders/{id}?download=true`, which you call with your API key to get a fresh download link. Best for sensitive documents (invoices, contracts). **Output formats** — all engines support multiple output formats in one request. Use `format` (single string) or `formats` (array) to specify. Allowed values by engine: Typst `pdf`, `png`, `jpg`; Canvas `png`, `jpg`, `webp`, `pdf`; DOCX `pdf`, `docx`. Defaults to `pdf` for Typst/DOCX and `png` for Canvas. The response always includes a `files` array — one entry per output file. **Filename patterns** — the `filename_pattern` field accepts `{field_key}` placeholders and built-in tokens: `{template}`, `{date}`, `{time}`, `{datetime}`, `{random}`. Defaults to `{template}-{datetime}-{random}`. **Non-string data values** (numbers, booleans, arrays, objects) are auto-serialized to JSON strings before being passed to the renderer.