Criar um modelo
Um rascunho, a menos que peça que seja publicado. Um rascunho pode ser pré-visualizado e não pode ser enviado.
Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.
POST /templates
Um rascunho, a menos que peça que seja publicado. Um rascunho pode ser pré-visualizado e não pode ser enviado.
Exemplo
Requer templates:write. Devolve 201. slug é derivado do nome quando o omite, e é o identificador a fixar no código, porque um nome é aquilo que alguém muda.
curl -X POST "$OE/templates" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "name": "Order shipped", "engine": "html", "subject": "Order {{orderId}} is on its way", "html": "<p>Hello {{customer}}, {{orderId}} left the warehouse.</p>", "props": [ { "key": "orderId", "kind": "text", "required": true }, { "key": "customer", "kind": "text", "default": "there" } ], "publish": true }'{ "object": "template", "id": "tpl_9c1f0a4b7e05d3862c1f0a44", "name": "Order shipped", "slug": "order-shipped", "description": null, "status": "active", "publishedVersion": 1, "latestVersion": 1, "subject": "Order {{orderId}} is on its way", "engine": "html", "slots": [], "props": [ { "key": "orderId", "kind": "text", "required": true, "default": null }, { "key": "customer", "kind": "text", "required": false, "default": "there" } ], "createdAt": "2026-08-30T10:41:02.000Z", "updatedAt": "2026-08-30T10:41:02.000Z"}Defina publish: true num script de implementação. Sem isso, obtém a versão 1 como rascunho, o que está certo quando uma pessoa vai ler o texto primeiro e errado em qualquer processo automatizado.
Um nome duplicado dá template_name_taken e um slug duplicado dá template_slug_taken, ambos 409 ao nível da ligação e não da conta.
Uma ligação comporta 200 modelos. O 201.º dá template_limit_reached, uma proteção contra um script descontrolado, não um limite do plano.