Generate a PDF
Generates a PDF. Two body variants: `{templateId, payload, version?, mode}` against a registered component-first template (sync mode waits and returns the PDF as base64, timeout 10000ms, ephemeral; async mode enqueues and notifies through the webhooks registered in Settings, ADR-015), or `{bundle, payload}` — ephemeral inline mode (ADR-010, in-app editor): a bundle IIFE already compiled in the browser, without registering any template. Always sync, never persists anything (neither the bundle, nor the payload, nor the PDF, nor a Generation row) — the 200 response of this mode does not include `generationId`. Required scope: generate.
Authorization
apiKey Renduo API key sent as Authorization: Bearer rnd_live_XXXXXXXXXXXX (or rnd_test_... in test mode). See GET /v1/auth/me.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/generate" \ -H "Content-Type: application/json" \ -d '{ "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d" }'{ "pdf": "string", "durationMs": 0, "generationId": "c95151f1-2c42-47db-881c-ef453e626e62"}{ "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39", "status": "queued"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}{ "error": "string", "message": "string", "details": {}, "requestId": "string"}Delete an asset from the registry DELETE
Does not affect any already-baked version: the asset was inlined as a data URI inside its shell (ADR-016 §2.4). It only prevents declaring it in future versions.
Get a generation job status GET
Gets the status of an asynchronous job (polling). Required scope: generations:read.