r

Renduo Docs

Write a React component once. POST to Renduo. Get a production PDF back — invoices, receipts, contracts.

How it works

Three steps between your data and a PDF

01

Build a component

Write your document as a normal React component — props in, layout out.

export function Invoice(props)
02

Register it

One CLI command ships the template to Renduo and gives it a stable name.

renduo push ./Invoice.tsx
03

Render from anywhere

Any backend POSTs data to the API and gets back a finished PDF.

POST /v1/generate

One endpoint. Any language.

No SDK required — call the render endpoint from wherever your backend already lives. JSON in, PDF bytes out.

curl -X POST https://api.renduo.dev/v1/generate \
  -H "Authorization: Bearer $RENDUO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"templateId":"tpl_123","payload":{"amount":100}}'

Why teams pick renduo

Built for how you already ship

Deterministic rendering

Same data in, byte-identical PDF out — every time, no headless browser flakiness.

Works with any backend

A single HTTP call — no language lock-in, no client library to maintain.

Versioned templates

Every push is a new version. Pin a release, roll back in seconds.

Preview before you ship

Render against sample data straight from the dashboard, no deploy needed.

Ready to render your first PDF?

Set up templates and keys from the dashboard at app.renduo.dev.