Create template
token_authAuthorizationBearer <token>Token-based authentication using access tokens.
application/json- body
name*NameTemplate display name.
description?|Optional description of the template.
nullthumbnail_url?|Optional template thumbnail URL.
nullSuccessful Response
application/json- response
id*IdTemplate unique identifier.
name*NameTemplate display name.
description*|Optional description of the template.
thumbnail_url*|Optional template thumbnail URL.
visibility*VisibilityVisibility level of the template.
"shared""private""system"created_by*|Email of the template creator (null for system templates).
created_at*Created AtCreation datetime (UTC) in ISO 8601 format.
swatch_source?|Fields for the derived cover swatch, from any one preset in the template.
Null for an empty template, and for a template whose presets carry none of
the three fields. Only populated by GET /preset/templates.
nullpreset_count?Preset CountNumber of non-hidden presets attached to this template.
0preset_types?array<>Distinct tool types of the non-hidden presets in this template, sorted
(usually exactly one — a template is single-tool in practice). Empty for an
empty template. Only populated by GET /preset/templates.
groups?array<string>Group names this template is shared with through any non-hidden preset.
preset_previews?array<>Up to 8 non-hidden presets, newest first (mirrors the template editor
rail order). Only populated by GET /preset/templates.
curl -X POST "https://example.com/preset/templates" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "id": "string", "name": "string", "description": "string", "thumbnail_url": "string", "visibility": "shared", "created_by": "string", "created_at": "string", "swatch_source": null, "preset_count": 0, "preset_types": [ "flat_2_model" ], "groups": [ "string" ], "preset_previews": [ { "preset_code": "string", "name": "string", "preview_url": null, "framing": null, "angle": null } ]}