Skip to main content
Craftkit turns a designed template plus a JSON payload into a rendered PDF. You author templates in the dashboard (or let your customers author them through the embed), define typed variables, then call the REST API to render documents. Renders run asynchronously on a queue, the PDF lands on object storage, and you retrieve it by polling or webhook.

Quickstart

Render your first PDF in five minutes — authenticate, render, poll, download.

Server-to-server integration

The complete playbook for a backend, no-human-at-render-time integration.

Concepts

Templates, versions, variables, manifests, and the render pipelines.

API reference

Every endpoint, request shape, and response field.

How it works

1

Author a template

Design a template in the dashboard and insert typed variables ({{customer.name}}, loops over arrays, images). Publishing snapshots an immutable version with an auto-extracted variable manifest.
2

Render with the API

POST /v1/templates/:slug/render with a data object. Craftkit validates the data against the template’s manifest and enqueues a render job, returning 202 with a poll URL.
3

Retrieve the result

Poll GET /v1/renders/:id until status is succeeded, or receive a dashboard-configured webhook. Download the PDF from downloadUrl, or mint a durable share link.

Surfaces

Every API request authenticates with a project API key as Authorization: Bearer ck_live_…. Keys are environment-specific — a key minted on localhost will not work against https://api.craftkit.dev. See Authentication.