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

SurfaceWhat it is
REST APIServer-to-server rendering with a project API key (ck_live_…). This site focuses here.
Builder embedDrop the template designer into your own SaaS so your customers author templates.
Form embedA drop-in form for end-users to fill a template’s variables and produce a document.
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.