Skip to main content
POST
Bulk template import with explicit conflict policy. on_conflict=error is all-or-nothing: any pre-existing name aborts the whole import before any DB writes land. The skip and replace modes apply per-row and report outcomes individually. Built-in name collisions are rejected per-row regardless of the conflict policy — you can never shadow a platform built-in.

Request body

ImportTemplatesRequest
CreateTemplateRequest[]
required
List of templates to import (1..50). Each entry follows the POST /templates schema.
string
What to do when a template name already exists for the tenant: skip keeps the existing row and reports it in the response; replace overwrites description+defaults; error rejects the whole import (no partial writes).

Response

ImportTemplatesResponse
integer
required
integer
required
integer
required
integer
required
ImportTemplateRow[]
required

Status codes