Pular para o conteúdo principal
POST
Esta chamada salva um app como template privado com uma primeira versão e responde 201 com o template. Os valores das variáveis nunca são copiados, a menos que você escolha keep para uma variável que não parece uma credencial. Chame primeiro Revisar rascunho do template para ver o que a plataforma propõe. Precisa do escopo templates:write quando chamado com uma chave de API. Valem as mesmas regras de plano, limite de 5 templates e workspace de Criar template privado, e o template não é verificado pela Vertra Cloud. Um app que veio de um link de compartilhamento não pode ser salvo (TEMPLATE_SAVE_NOT_ALLOWED), nem um app de um template fechado (TEMPLATE_CLOSED). Um app que executa uma imagem da plataforma também não pode ser salvo.
string
obrigatório
O ID do app.
string
Se o app pertencer a um workspace, o ID do workspace.
string
obrigatório
O slug do template, com letras minúsculas, números e hífens.
object
obrigatório
O nome por idioma: pt-br (obrigatório), en e es, de até 50 caracteres cada.
object
obrigatório
A descrição por idioma, no mesmo formato de name, de até 128 caracteres cada.
string
obrigatório
automation, ai-agents, bots, apis, cms, monitoring, starters, databases ou other.
string[]
Até 10 tags.
string
A primeira versão, como versão semântica. Padrão 1.0.0.
object
O que os usuários do template podem fazer, como nas permissões do manifesto. Campos ausentes assumem o padrão.
object
obrigatório
O que salvar do app.
string
O workspace que será dono do template. Sem ele, o template é seu.

Resposta

O mesmo objeto de template retornado por Criar template privado, com 201 Created: id, slug, origin (private), name, description, category, tags, current_version, services, inputs, permissions, outputs e os outros campos listados lá.

Respostas de erro

string
O código de erro que indica o motivo da falha. Valores possíveis:
  • API_KEY_SCOPE_DENIED: A chave de API não tem o escopo templates:write (403).
  • APP_NOT_FOUND: O app não existe ou não é seu.
  • TEMPLATE_SAVE_NOT_ALLOWED: O app veio de um link de compartilhamento, ou executa uma imagem da plataforma (403).
  • TEMPLATE_CLOSED: O app vem de um template fechado (403).
  • TEMPLATE_MANIFEST_INVALID: O resultado não é um manifesto válido, ou uma variável keep tem algo que parece uma credencial; details.issues lista os achados.
  • TEMPLATE_SECRET_IN_SOURCE: Um arquivo selecionado de /app tem um segredo; details.files lista os caminhos (400).
  • TEMPLATE_SLUG_TAKEN: O slug já está em uso entre os seus templates ou é reservado.
  • TEMPLATE_PRIVATE_LIMIT_REACHED: A conta já tem 5 templates privados.
  • PLAN_DOES_NOT_SUPPORT_CUSTOM_IMAGES: O plano não pode criar templates.
  • WORKSPACE_OWNER_ONLY: Só o dono do workspace salva templates nele.
Última modificação em 28 de outubro de 2026