Use case · Payslips
The payslip PDF API
Payroll runs on a schedule and produces one personal document per employee, all at once. Every payslip carries salary data, so the generated file needs to be short-lived and access-controlled rather than sitting on a public path.
Render the payslip HTML your payroll code already assembles, and let the platform handle the volume. Job output expires automatically, and signed URLs are time-limited — so a payslip link can't be forwarded indefinitely.
01How it works
The whole run at once
Payroll is bursty by nature. Submit renders in a batch and collect the finished documents from webhooks instead of holding connections open.
Links that expire
Serve each payslip through a signed URL with a short lifetime, so a forwarded link stops working rather than exposing salary data forever.
Identical every period
The same template renders the same way each month, so a payslip from January lines up with one from December.
02One request
curl https://rendral.com/api/v1/pdf \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: payslip-2026-07-emp-4471" \
-d '{ "html": "<section class="payslip">…</section>",
"options": { "format": "A4", "margin": { "top": "20mm" } } }' \
-o payslip-2026-07.pdfFrequently asked
How do I stop payslip links being shared?
Use a signed URL with a short expiry rather than a permanent path. The signature carries its own deadline, so a forwarded link stops working once it passes.
How long is the document stored?
Job output is deleted automatically after a short retention window — seven days by default — so payroll data doesn't linger.
Can I generate a whole payroll run at once?
Yes. Submit them together and collect each finished document from its webhook; an Idempotency-Key per employee makes a retried run safe.
Does this handle multi-page payslips?
Yes. Long earnings or deduction tables paginate with repeating headers, the same as any other CSS paged-media document.
Related
Tickets PDF API
Generate event tickets, boarding passes and passes as PDFs from HTML.
Compare vs WeasyPrint
How WeasyPrint and Rendral differ on pricing, features, and setup.
PDFs in Go
A step-by-step guide to generating PDFs from Go.
A free tier, five endpoints, and SDKs for Node and Python.