v0.1 — early access

Documents, crafted.
Rendered in milliseconds.

Build a template once with the variables of your choice. Craftkit auto-generates a typed REST API and a unique webhook URL. Send the data, get a PDF. No infra. No glue code.

Visual template builder

Rich text, tables, images, conditional blocks, and loops. Type / to insert a variable.

You define the variables

No catalog of pre-baked fields. Name them anything. Craftkit derives the API contract automatically.

Versioned by default

Every publish creates an immutable version. Old API calls keep working forever.

API & inbound webhooks

Each template ships with a REST endpoint and a unique signed webhook URL. Wire Stripe, Zapier, or anything.

Live preview

Edit the template; see the rendered PDF instantly with editable sample data.

Built for engineers

TypeScript SDK, JSON Schema, OpenAPI snippets, HMAC-signed webhooks, retries with backoff.

How it works

From blank page to production document in four steps.

  1. STEP 1

    Design the template

    Lay out your document visually. Drop in variables and loops wherever you need merge data.

  2. STEP 2

    Publish a version

    Craftkit derives the variable manifest, generates a typed schema, and provisions an API endpoint + webhook URL.

  3. STEP 3

    Send the data

    POST /v1/templates/:slug/render from your backend, or have any external system POST the inbound webhook URL.

  4. STEP 4

    Get the PDF

    A signed asset URL is returned, plus an outgoing webhook to your system on completion.

A typed API per template, automatically

When you create a template called invoice with variables customer.name, invoiceNumber, and a loop items — this endpoint exists. Validated server-side. No extra config.

curl -X POST https://api.craftkit.dev/v1/templates/invoice/render \
  -H "Authorization: Bearer ck_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "customer": { "name": "Acme Corp", "email": "ap@acme.com" },
      "invoiceNumber": "INV-0421",
      "items": [
        { "name": "Widget", "qty": 5, "price": 9.99 }
      ],
      "total": 49.95
    }
  }'

Build your first template in five minutes.

Free during early access. No credit card. Production-grade infra from day one.