inheritedFromId pointing at the base template. The aggregate is fully resolved and drift-proof — but retained for 30 days only (see Auto-generated template aggregates — 30-day retention).
Override semantics — important
The override patches obey different merge rules per field:instructions(template- or section-level) is per-field partial. Any field you omit is inherited from the parent’s published version.outputSchemais wholesale. Whatever you submit fully replaces the parent schema. Partial schemas are not merged.
inheritFromId on POST /documents/sections.
Each section entry under
overrides.sections must reference a section that is already linked to the base template version. You cannot add new sections via overrides — use Path 3 (assembly) for that.When to use this path
| Scenario | Why Path 2 |
|---|---|
| Per-user UI customization on top of a stable template | Drop the user-collected tweak straight into templateRef.overrides. No new resource per user. |
| One-off adjustment to a Corti Standard or your own template | The base stays untouched; the auto-generated aggregate records exactly what was used. |
| You need traceability of what produced each document | The response’s templateId / templateVersionId point at the persisted aggregate; reference it for 30 days. |
Related
Guided Synthesis overview
Shared concepts: input context, response shape, errors, 30-day retention.
Customization Cookbook — Recipe 3
The end-user-driven pattern that maps directly onto Path 2 (presets vs. free-prompt).