Skip to main content
POST
Confirm your deployment before running this request. This page describes an API contract; a published reference does not establish hosted availability. Check the dated host report and obtain your deployment URL and credentials. Replace the example host if your provisioned service uses a different URL.
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. Minimum items: 1. Maximum items: 50.
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). Allowed values: 'skip', 'replace', 'error'. Default: 'skip'.

Response

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

Status codes

Using this contract

Read the source OpenAPI document for declared schemas and alternatives. This page also includes documented corrections from the spec overlays. Example IDs and values are illustrative; replace them with records from your workspace.
Last modified on September 21, 2026