Resolved vs. raw reads
Reads come in two shapes:- Resolved.
GET /documents/sections/{sectionID}andGET /documents/templates/{templateID}return the resource resolved — all inheritance applied, sections fully expanded on templates. This is the ready-to-consume shape that will be used at generation time. - Raw.
GET .../versions/{versionID}andLIST .../versionsreturn the version raw — only the values this version explicitly owns, plusinheritFromIdand (for templates)sectionIdreferences. Use this when you need to distinguish inherited fields from fields the resource explicitly overrides.
Soft-delete & inheritance guards
DELETE on a section or template returns 409 Conflict if any other section or template inherits from it. Resolve the dependency first — delete or re-parent the inheriting resources — before retrying the delete.
Deletion visibility. After deletion, LIST no longer returns the resource, but GET on the resource ID and its version reads continue to work — useful for audit, debugging, and resolving resources still referenced by historical documents or inheritance chains.
Managing sections
PATCH /documents/sections/{sectionID} only updates section-level metadata. To change the prompts or output schema, create a new version and publish it — see Versioning.Managing templates
PATCH /documents/templates/{templateID} only updates template-level metadata. To change the prompt or section composition, create a new version and publish it — see Versioning.Discovery: filtering & listing
BothGET /documents/sections and GET /documents/templates accept the same set of query parameters. Use any combination — they’re additive.
Empty
languages, regions, or specialties means “no tweaks for that dimension” — the resource is generic along that axis. The fields are arrays but each one is optional and empty by default.