Vai al contenuto

Renders

v1 · Last updated 2026-07-17

Questa documentazione è disponibile solo in inglese.

GET/api/v1/:workspace/renders

List render artifacts

Workspace-scoped list of every persisted render artifact (one row per /generate, one per /bulk-sync ZIP) that hasn't expired: expiresAt in the future, or null for one kept until deleted. Rows past their retention TTL are excluded. Returns {renders, meta}; default sort is createdAt:desc.

Parameters

workspacepathWorkspace slug.required
templateIdqueryOnly artifacts produced by this template.
limitquery1 – 100 (default 50)
offsetqueryRows to skip (default 0).
sortByquerycreatedAt | expiresAt, suffixed with :asc or :desc.
totalResultsquerytrue to include meta.total.

Response

{
  "renders": [
    {
      "id": "…",
      "templateId": "…",
      "contentType": "application/pdf",
      "filename": "Invoice-42.pdf",
      "bytes": 23428,
      "expiresAt": "2026-07-09T22:46:04.000Z",
      "createdAt": "2026-06-09T22:46:04.000Z"
    }
  ],
  "meta": {
    "count": 1,
    "limit": 50,
    "offset": 0,
    "hasMore": false
  }
}
GET/api/v1/:workspace/rendersTry it
/api/v1//renders

Paste an API key above to enable the Send button.

GET/api/v1/:workspace/renders/:id/url

Refresh a render URL

Mints a fresh presigned URL against the same artifact. Use this when urlExpiresAt has passed but the artifact hasn't expired (expiresAt in the future, or null — kept until deleted). The new URL is capped at 7 days (or the artifact's remaining lifetime, whichever is shorter).

Parameters

workspacepathWorkspace slug.required
idpathrenderId from the /generate or /bulk response.required

Response

{
  "url": "https://…",
  "urlExpiresAt": "2026-06-16T22:46:04.000Z",
  "expiresAt": "2026-07-09T22:46:04.000Z",
  "filename": "Invoice-42.pdf",
  "bytes": 23428,
  "contentType": "application/pdf"
}

410 render_expired means the artifact's expiresAt has passed. Re-render to get a fresh one.

Subscribe to the render.url_expiring webhook to be notified ~24 h before each URL closes.

GET/api/v1/:workspace/renders/:id/urlTry it
/api/v1//renders//url

Paste an API key above to enable the Send button.

DELETE/api/v1/:workspace/renders/:id

Delete a render

Permanently deletes a stored render and its file. Renders kept until deleted (ttlSeconds 0) only ever go this way.

Parameters

workspacepathWorkspace slug.required
idpathrenderId from the /generate or /bulk response.required

Response

{
  "ok": true
}

503 storage_unavailable on a render kept until deleted means its file couldn't be removed; the render is left in place, so retry.

DELETE/api/v1/:workspace/renders/:idTry it
/api/v1//renders/

Paste an API key above to enable the Send button.

Need help?

Open a ticket from the in-app Support page, or email [email protected].