Skip to main content
Tipar turns a JSON template plus your data into a PDF. One HTTPS call, one round trip — the response is the PDF.
curl https://api.tipar.dev/generate \
  -H "Authorization: Bearer tipar_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "template": { "page": { "content": { "type": "text", "value": "Hello, {{name}}!" } } }, "data": { "name": "world" } }' \
  --output hello.pdf
The template describes the page — text, tables, images, headers, footers. The data fills it in. Both travel in the same request, so there is nothing to upload ahead of time and no template to register.

Why templates as JSON

Your templates are plain files. They live in your repository, next to the code that uses them:

Version-controlled

git diff shows exactly what changed about your invoice. git revert undoes it. No separate template store to keep in sync with your code.

No HTML, no browser

Tipar renders with QuestPDF, not a headless Chromium. You describe a document, not a web page — so there are no CSS surprises and no print stylesheet to fight.

Copy-pasteable

A template is just JSON. Move it between projects, generate it from your own code, review it in a pull request like anything else.

Predictable

The template maps directly to layout primitives (column, row, text, table). What you write is what gets laid out.

How it works

1

Write a template

Plain JSON describing the page. Keep it in your repo. See Templates.
2

POST your data

Send template + data to POST /generate with your API key. Anything that speaks HTTPS — a Stripe webhook, a database row, a cron job — can produce a document.
3

Ship the PDF

The response is application/pdf. Store it, email it, or stream it straight back to your user. No polling, no callbacks.

Is Tipar a fit?

Good fit. You generate structured documents from structured data — invoices from billing rows, receipts from payments, certificates from course completions, reports from metrics. You’d rather not own the PDF-rendering machinery (fonts, fallbacks, edge cases, scaling) because PDFs are plumbing, not your product.
Not a fit (yet). You already have HTML or React invoices you’re happy with. Tipar does not render HTML — porting an existing HTML template to JSON is real work, and if your current setup works, the switch probably isn’t worth it. Tipar is for documents you’re building fresh, or rebuilding deliberately.

Where to go next

Quickstart

Your first PDF in a few minutes.

Authentication

Create and use an API key.

Templates

Learn the template language.

Template schema

The complete node-by-node reference.
Want to try it without a key? The public playground renders a watermarked PDF straight from the browser — no signup. Under the hood it’s the same renderer as the API.