DOM360
Templates

Lançar um template para um cliente

POST
/templates/{template_id}/releases

Lança um template global para um cliente, clonando-o com os segredos removidos. Idempotente por (origem, cliente): 201 quando cria o clone, 200 quando só avança o registro. Origem não global responde 422; cliente inexistente ou fora do alcance, 404 TENANT_NOT_FOUND. Aceita Idempotency-Key (opcional).

Autorização

bearer templates:write
AutorizaçãoBearer <token>

Credencial da v3: o JWT da sessão (o mesmo da v2) ou um token pessoal dom_pat_…. A lista de escopos de cada operação diz o que ela exige: uma capacidade (agents:read), authenticated ou session-only. Segredo de máquina (X-Agent-Secret, X-API-Token, sdk_…) não é aceito.

Em: header

Escopo: templates:write

Parâmetros de caminho

template_id*string

Id do template de origem

Parâmetros de cabeçalho

Idempotency-Key?|

Chave opcional de 1 a 255 caracteres ASCII visíveis; quando enviada, vale o mesmo contrato da §8.

Corpo da requisição

application/json

Definições TypeScript

Use o tipo request body no TypeScript.

O corpo de POST /templates/{id}/releases.

Corpo da resposta

application/json

application/json

application/json

curl -X POST "https://example.com/templates/string/releases" \  -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \  -H "Content-Type: application/json" \  -d '{    "tenant_id": 0  }'
{  "clone": {    "agent_instructions": "string",    "agent_mode": "simple",    "agent_type": "sdr",    "apply_policy": null,    "config": null,    "created_at": "string",    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",    "description": "string",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "is_default": true,    "name": "string",    "origin_template_id": "059a4309-9d59-48c5-b0fa-7a904a9be6f8",    "output_contract": "string",    "owner_tenant_id": 0,    "promptforge_recipe": null,    "setup_mode": "direct",    "status": "active",    "template_version": 0,    "type": "text",    "updated_at": "string",    "wizard_schema": null  },  "newly_released": true}