This site is a work in progress — content and design may change.
← Back to Documentation

Templates

The core resource in Epistola: name, data contract, data examples, settings, and the template detail page.

Templates

Templates are the core resource in Epistola. A template represents a specific document type — such as a decision letter, invoice, or permit — and holds everything needed to produce it.

What a template contains

Each template has:

  • Name — A display name and a unique slug scoped to the tenant (e.g., decision-letter)
  • Data contract — A JSON Schema (Draft 2020-12) defining the required input data structure
  • Named data examples — Saved JSON payloads for testing and previewing the template
  • Settings — Default theme selection and PDF/A compliance toggle

Templates list page

The templates list page provides:

  • Search — Filter templates by name or slug
  • Table view — Each row shows the template name, slug, variant count, and last-modified timestamp

From here, click any template to open its detail page.

Template detail page

The template detail page is organized into four tabs:

TabPurpose
VariantsManage presentation variants — create, edit, set attributes, mark default
DeploymentsView and control which version is active per variant per environment
Data ContractEdit the JSON Schema and manage named data examples
SettingsConfigure the default theme and PDF/A compliance

Template slugs

The slug is the stable identifier used in API calls, workflow configurations, and catalog references. It is unique within a tenant and immutable once set.