Skip to content

papii — reference

API Documentation

Generate professional PDFs from structured data.

Base URL

https://api.papii.eu

Authentication

Pass your API key in the X-API-Key header.

X-API-Key: pk-your-api-key

Get your key at /dashboard/keys

Endpoints

POST /render

Render a document from template + data to PDF.

{
  "template": "be.accounting.invoice",
  "data": { ... },
  "options": {
    "language": "fr",
    "strict": true
  }
}

Returns application/pdf on success.

POST /validate

Validate data against a template schema (dry run, no rendering).

{
  "template": "be.accounting.invoice",
  "data": { ... }
}
GET /packs

List all installed template packs and their templates.

GET /health

Service health check.

Error Codes

Code Meaning
400 Schema validation failed
401 Missing or invalid API key
404 Template not found
422 LaTeX render failed

Examples

Python
import httpx

res = httpx.post(
    "https://api.papii.eu/render",
    headers={"X-API-Key": "pk-your-key"},
    json={
        "template": "be.accounting.invoice",
        "data": {
            "company": {"name": "Chut SRL", "vat": "BE0795886652"},
            "client": {"name": "ACME Corp"},
            "invoice": {
                "number": "2026-042",
                "date": "2026-03-28",
                "lines": [{"description": "Consulting", "quantity": "3", "unit_price": "120.00", "vat_rate": "21"}],
                "total_excl_vat": "360.00",
                "total_vat": "75.60",
                "total_incl_vat": "435.60"
            }
        },
        "options": {"language": "fr"}
    }
)

with open("invoice.pdf", "wb") as f:
    f.write(res.content)
Node.js
const res = await fetch("https://api.papii.eu/render", {
  method: "POST",
  headers: {
    "X-API-Key": "pk-your-key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    template: "be.accounting.invoice",
    data: { /* ... */ },
    options: { language: "fr" },
  }),
});

const pdf = await res.arrayBuffer();
fs.writeFileSync("invoice.pdf", Buffer.from(pdf));