---
title: "Render PDF (v1)"
method: POST
path: "/v1/render"
tags: ["Legacy v1"]
deprecated: true
---

# Render PDF (v1)

`POST /v1/render`

## Request

- Base URL: `https://api.pdfs.build`
- URL: `https://api.pdfs.build/v1/render`
- Auth: HTTP bearer

> **Deprecated.**

Synchronous render addressed by the template's internal id. Emits webhook events to every enabled endpoint; there is no async mode on v1. Prefer `POST /v2/organizations/{organizationId}/templates/{externalId}/render`.

## Request body

- RenderRequestV1
  - `templateId` string, required: The template's generated internal id.
  - `data` object
  - `version` union: Which content to render. Omitted or `null` resolves through the `latest` channel, which follows promotions rather than in-progress edits. A positive integer pins a version number, `"draft"` renders the mutable working copy, and any other string names a channel.
    - integer
    - string

## Response `200`

The rendered PDF.

## Other responses

- `400`: Missing `templateId`, an invalid `version`, or `data` failing schema validation.
- `401`: Missing, invalid or expired API key.
- `402`: `api_renders_not_allowed_on_free`.
- `403`: `draft_not_renderable`.
- `404`: No template with that id is accessible to this key. Another user's draft is indistinguishable from a missing template.
- `422`: Compilation failed.
- `429`: `render_quota_exceeded` — this billing period's render quota is used up. Upgrade or buy a top-up pack.
- `500`: Rendering failed for a reason that is not the template or the data. Safe to retry.

---

[API](https://skmtc.dev/pdfs/apis/pdfs-build-api.md) · [All operations](https://skmtc.dev/pdfs/apis/pdfs-build-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pdfs/apis/pdfs-build-api/revisions/1c7340b9521d?raw)
