Quire PDFGeneric document

All templates

Generic document

Generic layout for any JSON: header from title/from/to, a details panel, then one section per key. Objects become key/value grids, arrays of objects become tables. Used automatically when no template is chosen and none matches.

document.pdf1 page
Document sample, page 1 of 1

Rendered by the engine from the sample data below.

Render it

curl "https://api.quirepdf.dev/v1/render" \
  -H "Authorization: Bearer $QUIRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @document.json -o document.pdf

Edit the sample in the playground

How any JSON is laid out

  • title, subtitle, number, from and to make the header. With no title, a key like order_id becomes the title.
  • Short text, numbers and yes/no values go in a details panel.
  • Objects become labelled sections; arrays of objects become tables; lists become bullets.
  • Set currency and fields like price or total are shown as money.
  • Sections follow the order of your keys.
document.jsonShow sample data
{
  "title": "Service report",
  "subtitle": "Quarterly HVAC maintenance visit",
  "number": "SR-2026-1187",
  "date": "2 Oct 2026",
  "accent": "#0b7285",
  "currency": "$",
  "from": {
    "name": "Brightline Field Services",
    "email": "ops@brightline.services"
  },
  "to": {
    "name": "Priya Raman",
    "company": "Harbourview Dental Clinic",
    "address": [
      "310 Pine Street",
      "Seattle, WA 98101"
    ]
  },
  "technician": "Marcus Lee (ID 4471)",
  "visit_duration_hours": 2.5,
  "next_visit": "8 Jan 2027",
  "warranty_covered": false,
  "summary": "Routine quarterly maintenance on two rooftop units. Unit 2 showed reduced airflow caused by a clogged filter and a worn blower belt; both were replaced. All systems are operating within manufacturer specifications.",
  "checklist": [
    "Inspected and cleaned condenser coils",
    "Replaced air filters on both units",
    "Checked refrigerant pressure and temperature split",
    "Tested thermostat calibration and safety cut-offs"
  ],
  "readings": {
    "unit_1": {
      "supply_temp_f": 55.2,
      "return_temp_f": 74.8,
      "refrigerant_psi": 118
    },
    "unit_2": {
      "supply_temp_f": 56.9,
      "return_temp_f": 75.1,
      "refrigerant_psi": 121
    }
  },
  "parts_used": [
    {
      "part": "MERV 13 filter, 20×25×4",
      "sku": "FLT-2025-13",
      "qty": 4,
      "unit_cost": 24.5,
      "total": 98
    },
    {
      "part": "Blower belt A-38",
      "sku": "BLT-A38",
      "qty": 1,
      "unit_cost": 18.75,
      "total": 18.75
    },
    {
      "part": "Condensate drain tablets",
      "sku": "CDT-50",
      "qty": 1,
      "unit_cost": 12,
      "total": 12
    }
  ],
  "notes": "Recommend replacing Unit 1's contactor at the next visit; contacts show early pitting."
}