The curated template library — invoices, receipts, quotes, resumes, and friends — is now first-class over the API.
GET /api/v1/library # list / search (category, tags, q)
GET /api/v1/library/:id # fetch a template's full DSL + sampleData
Both endpoints are read-only and rate-limited at 500 requests/hour.
There is intentionally no "render a library template directly" shortcut. The flow is fork-then-render:
GET /api/v1/library?category=invoice&q=classic— discover.GET /api/v1/library/invoice-classic— fetch DSL.- Customise locally, then
POST /api/v1/templatesto create a user copy. POST /api/v1/render { templateId, data }as normal.
This keeps ownership and billing attached to a concrete user row.