Sua credencial de API no cabeçalho Authorization: Bearer sk_live_.... Crie e revogue credenciais no painel, em Conta → API Keys. O segredo aparece uma única vez, na criação.
A credencial identifica a organização: organization_id não é aceito em nenhuma requisição.
Body
application/json
language_code e template_category_type são definidos pelo servidor. Enviá-los é recusado com 400 TEMPLATE_CONSTANT_FORBIDDEN.
Um nome repetido não é recusado: o Pombo acrescenta -2, -3 e cria um modelo novo. Ele aparece na listagem, mas encontrá-lo não o desfaz, porque a API não apaga modelos e em whatsapp ele já foi para aprovação da Meta.
Idempotency-Key não vale nesta chamada. Liste antes em vez de repetir às cegas.
O corpo da mensagem, com uma regra de conteúdo por canal.
Em whatsapp: texto puro, a Meta não aceita marcação, e o tamanho é validado na criação contando o exemplo de cada variável.
Em email: aceita HTML, e o tamanho não é limitado.
Nos dois canais, os marcadores são numerados e sequenciais: {{1}}, {{2}}, {{3}}. Um marcador com texto, como {{nome}}, é recusado com 400 Formato inválido (placeholder com texto).
Example:
"Prezado(a) {{1}}, consta débito de R$ {{2}} com vencimento em {{3}}."
O tipo de cabeçalho, e é ele que decide se a mensagem leva um arquivo.
TEXT: só texto. É o caso normal e o único aceito em envio em massa.
DOCUMENT: a mensagem leva um documento.
IMAGE: a mensagem leva uma imagem.
Obrigatório em whatsapp, que é o canal padrão. Em email o Pombo assume TEXT e só TEXT é aceito: outro valor é recusado com 400 Invalid request: template_type inválido para email. Valor aceito: TEXT.
No envio o par é obrigatório nos dois sentidos: um modelo DOCUMENT ou IMAGE enviado como application/json, sem arquivo, é recusado com 400, e um modelo TEXT enviado como multipart/form-data, com arquivo, também. A Meta aprova o tipo de cabeçalho junto com o modelo, então mudá-lo depois exige uma nova aprovação.
O body com cada marcador substituído pelo variable_example da variável, entre colchetes. Montado pelo Pombo, serve para pré-visualizar o texto sem preencher nada.
Só um modelo APPROVED pode ser usado em um envio de WhatsApp. A aprovação é da Meta, não do Pombo.
Um modelo de whatsapp nasce PENDING: consulte GET /templates/{id} até chegar a APPROVED, e crie os seus modelos com antecedência, porque um envio com modelo não aprovado é recusado com 422.
Um modelo de email nasce APPROVED e serve para enviar na mesma hora.
SYSTEM são modelos do catálogo do Pombo; ORG, os da sua organização.
Na listagem, os seus aparecem em qualquer template_status, inclusive PENDING e REJECTED; os do catálogo aparecem só quando já estão APPROVED. Rascunhos e modelos apagados ficam de fora.
As variáveis do modelo. Estas chaves são as de parameters no envio.
Os marcadores do rodapé do remetente estão deliberadamente ausentes daqui, embora apareçam no body: é o Pombo que os preenche, a partir do sender do envio. Um marcador do body sem entrada em variables é isso, e não um erro.
Campo histórico, sem efeito: não é o assunto que o destinatário recebe. O assunto de um e-mail é montado no momento do envio a partir do nome da organização.
Sempre null em um modelo criado pela API, nos dois canais: o campo não é gravado na criação. Só traz conteúdo em modelos antigos.
Por que a Meta recusou o modelo, quando template_status é REJECTED ou FAILED. null enquanto não houve recusa.
ABUSIVE_CONTENT e SCAM exigem reescrever o texto. INVALID_FORMAT, TAG_CONTENT_MISMATCH e INCORRECT_CATEGORY são erros de forma. REVIEW_TIMEOUT é falha da própria revisão e um modelo novo com o mesmo texto pode passar.
A última alteração do registro. Muda sem você fazer nada: a Meta atualiza o status e a categoria por webhook, e cada atualização mexe neste campo.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Pombo.Digital","description":"Documentação do Pombo.Digital: notificações extrajudiciais com validade jurídica por e-mail e WhatsApp.","colors":{"primary":"#1F5EF4","light":"#89D4F7","dark":"#1A3A9E"},"logo":{"light":"https://mintcdn.com/pombo-digital/6JDRLMzfLY2oWrjf/logo/light.png?fit=max\u0026auto=format\u0026n=6JDRLMzfLY2oWrjf\u0026q=85\u0026s=4dc120cc1feb87982d48a6449f85555e","dark":"https://mintcdn.com/pombo-digital/6JDRLMzfLY2oWrjf/logo/dark.png?fit=max\u0026auto=format\u0026n=6JDRLMzfLY2oWrjf\u0026q=85\u0026s=0883618911d3fedf824aa4b0ef774080","href":"https://pombo.digital"},"favicon":"https://mintcdn.com/pombo-digital/6JDRLMzfLY2oWrjf/favicon.svg?fit=max\u0026auto=format\u0026n=6JDRLMzfLY2oWrjf\u0026q=85\u0026s=b32aadd6375191ac6e71e5746164403a","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["python","curl","javascript"],"prefill":true}},"appearance":{"default":"light","strict":false},"navbar":{"links":[{"href":"https://pombo.digital/acesso/entrar","label":"Entrar"}],"primary":{"type":"button","label":"Criar conta grátis","href":"https://pombo.digital/acesso/criar-conta?utm_source=docs"}},"footer":{"socials":{"website":"https://pombo.digital"}},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","assistant","cursor","vscode"],"display":"header"},"markdown":{"schema":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pombo-digital","hasAudioNarration":false,"actualSubdomain":"pombo-digital","customDomains":["docs.pombo.digital"],"gitSource":{"type":"github","owner":"avi-2-avi","repo":"docs-pombodigital","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6accf4aeb63dd02de24efa9f","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Guias","count":30},{"language":"default","tag":"API","count":13},{"language":"default","tag":"Começar","count":6},{"language":"default","tag":"Envios","count":6},{"language":"default","tag":"Modelos","count":6},{"language":"default","tag":"Referência da API","count":5},{"language":"default","tag":"Laudo e validade jurídica","count":5},{"language":"default","tag":"Conta","count":4},{"language":"default","tag":"Notificações","count":4},{"language":"default","tag":"Ajuda","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area a.link{color:inherit;border-bottom-color:rgb(var(--primary));border-bottom-width:1.5px}#content-area a.link:hover{color:rgb(var(--primary));border-bottom-color:currentColor}.dark #content-area a.link{border-bottom-color:rgb(var(--primary-light))}.dark #content-area a.link:hover{color:rgb(var(--primary-light));border-bottom-color:currentColor}.pombo-hero{position:relative;overflow:hidden;margin:1.5rem 0 2rem;padding:2rem 1.75rem;border-radius:1.25rem;background:linear-gradient(135deg, rgb(var(--primary) / 0.08), rgb(var(--primary-light) / 0.14));border:1px solid rgb(var(--primary) / 0.14)}.dark .pombo-hero{background:linear-gradient(135deg, rgb(var(--primary) / 0.22), rgb(var(--primary-dark) / 0.3));border-color:rgb(var(--primary-light) / 0.18)}.pombo-hero-inner{display:flex;gap:1.25rem;align-items:center;justify-content:space-between}.pombo-hero-copy{min-width:0}.pombo-eyebrow{margin:0 0 0.5rem;font-size:0.8125rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:rgb(var(--primary))}.dark .pombo-eyebrow{color:rgb(var(--primary-light))}.pombo-hero h2{margin:0 0 0.5rem;font-size:2rem;line-height:1.1;font-weight:700;letter-spacing:-0.02em}.pombo-hero p{margin:0 0 1.5rem;font-size:1.0625rem;opacity:0.8}.pombo-actions{display:flex;flex-wrap:wrap;gap:0.75rem}.pombo-btn,.pombo-btn-ghost{display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.15rem;border-radius:0.65rem;font-weight:600;font-size:0.9375rem;text-decoration:none;border:1px solid transparent;transition:transform 0.12s ease, background 0.12s ease}.pombo-btn{background:rgb(var(--primary));color:#fff!important}.pombo-btn:hover{background:rgb(var(--primary-dark));transform:translateY(-1px)}.pombo-btn-ghost{background:rgb(255 255 255 / 0.75);color:rgb(var(--primary))!important;border-color:rgb(var(--primary) / 0.25)}.pombo-btn-ghost:hover{background:#fff;transform:translateY(-1px)}.dark .pombo-btn-ghost{background:rgb(255 255 255 / 0.06);color:rgb(var(--primary-light))!important;border-color:rgb(var(--primary-light) / 0.3)}.pombo-hero-art{flex:0 0 46%;min-width:0;max-width:330px}.pombo-hero-art img{display:block;width:100%;border-radius:0.5rem;border:1px solid rgb(var(--primary) / 0.18);box-shadow:0 8px 24px rgb(15 23 42 / 0.1)}.dark .pombo-hero-art img{border-color:rgb(var(--primary-light) / 0.22);box-shadow:0 8px 24px rgb(0 0 0 / 0.35)}@media (max-width: 860px){.pombo-hero{padding:2rem 1.5rem}.pombo-hero h2{font-size:1.75rem}.pombo-hero-inner{flex-direction:column;align-items:stretch}.pombo-hero-art{flex:1 1 auto;max-width:none}}.pombo-strip{display:flex;gap:1.5rem;align-items:center;margin:1.5rem 0 2rem;padding:1.25rem;border-radius:1rem;border:1px solid rgb(var(--default-border-color))}.pombo-strip-body{flex:1 1 auto;min-width:0}.pombo-strip-body h3{margin:0 0 0.4rem;font-size:1.125rem;font-weight:700}.pombo-strip-body p{margin:0 0 1rem;opacity:0.8}@media (max-width: 860px){.pombo-strip{flex-direction:column;align-items:stretch}}.pombo-strip-doc{flex:0 0 34%;max-width:260px}.pombo-strip-doc img{display:block;width:100%;border-radius:0.4rem;border:1px solid rgb(var(--default-border-color))}#body-template-type [data-component-part=\"field-meta\"]{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:0.5rem}#body-template-type [data-component-part=\"field-meta\"]>div{margin-right:0!important;order:1}#body-template-type [data-component-part=\"field-meta\"]::before{padding:0.125rem 0.5rem;border-radius:0.375rem;font-size:inherit;font-weight:500;line-height:1.25rem;white-space:nowrap}#body-template-type [data-component-part=\"field-meta\"]::before{content:\"só WhatsApp\";order:2;background:rgb(22 163 74 / 0.1);color:#15803d}.dark #body-template-type [data-component-part=\"field-meta\"]::before{background:rgb(74 222 128 / 0.12);color:#4ade80}#body-recipient-phone [data-component-part=\"field-meta\"],#body-recipient-email [data-component-part=\"field-meta\"]{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:0.5rem}#body-recipient-phone [data-component-part=\"field-meta\"]>div,#body-recipient-email [data-component-part=\"field-meta\"]>div{margin-right:0!important;order:1}#body-recipient-phone [data-component-part=\"field-meta\"]::before,#body-recipient-email [data-component-part=\"field-meta\"]::before,#body-recipient-phone [data-component-part=\"field-meta\"]::after,#body-recipient-email [data-component-part=\"field-meta\"]::after{padding:0.125rem 0.5rem;border-radius:0.375rem;font-size:inherit;font-weight:500;line-height:1.25rem;white-space:nowrap}#body-recipient-phone [data-component-part=\"field-meta\"]::before{content:\"só WhatsApp\";order:2;background:rgb(22 163 74 / 0.1);color:#15803d}#body-recipient-email [data-component-part=\"field-meta\"]::before{content:\"só e-mail\";order:2;background:rgb(37 99 235 / 0.1);color:#1d4ed8}#body-recipient-phone [data-component-part=\"field-meta\"]::after,#body-recipient-email [data-component-part=\"field-meta\"]::after{content:\"required\";order:3;background:rgb(254 226 226 / 0.5);color:#dc2626}.dark #body-recipient-phone [data-component-part=\"field-meta\"]::before{background:rgb(74 222 128 / 0.12);color:#4ade80}.dark #body-recipient-email [data-component-part=\"field-meta\"]::before{background:rgb(96 165 250 / 0.12);color:#60a5fa}.dark #body-recipient-phone [data-component-part=\"field-meta\"]::after,.dark #body-recipient-email [data-component-part=\"field-meta\"]::after{background:rgb(239 68 68 / 0.15);color:#f87171}"}],"page":{"pagePath":"api-reference/modelos/criar-um-modelo","slug":"/api-reference/modelos/criar-um-modelo","pageMetadata":{"title":"Criar um modelo","description":"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /templates","href":"/api-reference/modelos/criar-um-modelo","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Criar um modelo","description":"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /templates","href":"/api-reference/modelos/criar-um-modelo","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createTemplate","tags":["Modelos"],"summary":"Criar um modelo","description":"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\n","requestBody":"ba0bd7d6-6966-4565-bff2-90d214ddf313","responses":{"201":"3b7960ea-551f-46ea-b683-23f5f737f226","400":"b90224af-9075-4b89-afd7-7f2eaad8e3d2","401":"199d537a-175b-4d91-b551-c494c2907e1b","409":"5782c6f1-05f3-4543-a824-79d7f8182b16","422":"62e2eda9-1c72-484e-a33c-494796bf6cdc","429":"dd4c9f2a-7672-4796-a479-4c32e73248bc","500":"61d9fe7e-42c9-447a-a231-822ca9799ce2"},"method":"post","type":"path","servers":["08d165bc-8615-4cf3-87a1-64e91eaf7bd4"],"security":["f5b17345-c161-456e-92b9-13801984e98a"],"path":"/templates","baseUrlOptions":["https://pombo.digital/api/integrations/v1"],"title":"Criar um modelo","codeSamples":[],"requestExampleLanguages":["python","bash","javascript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.name":"cobranca_vencida","body.body":"Prezado(a) {{1}}, consta débito de R$ {{2}} com vencimento em {{3}}.","body.template_type":"TEXT","body.variables.{{1}}.variable_name":"nome","body.variables.{{1}}.variable_example":"Maria Silva","body.variables.{{2}}.variable_name":"valor","body.variables.{{2}}.variable_example":"1.250,00","body.variables.{{3}}.variable_name":"vencimento","body.variables.{{3}}.variable_example":"10/09/2026","body.channel":"whatsapp"},{"body.name":"cobranca_vencida_email","body.body":"\u003cp>Prezado(a) {{1}}, consta débito de R$ {{2}}.\u003c/p>","body.template_type":"TEXT","body.variables.{{1}}.variable_name":"nome","body.variables.{{1}}.variable_example":"João Souza","body.variables.{{2}}.variable_name":"valor","body.variables.{{2}}.variable_example":"3.400,00","body.channel":"email"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"`language_code` e `template_category_type` são definidos pelo servidor. Enviá-los é recusado com `400 TEMPLATE_CONSTANT_FORBIDDEN`.\n","required":["name","body","template_type","variables"],"properties":{"name":{"type":"string","minLength":1,"description":"Nome do modelo, único na organização.\n\nUm nome repetido não é recusado: o Pombo acrescenta `-2`, `-3` e cria um modelo novo. Ele aparece na listagem, mas encontrá-lo não o desfaz, porque a API não apaga modelos e em `whatsapp` ele já foi para aprovação da Meta.\n\n`Idempotency-Key` não vale nesta chamada. Liste antes em vez de repetir às cegas.\n","examples":["cobranca_vencida"],"isRequired":true,"uniqueKey":"name","typeLabel":"string"},"body":{"type":"string","description":"O corpo da mensagem, com uma regra de conteúdo por canal.\n\nEm `whatsapp`: **texto puro**, a Meta não aceita marcação, e o tamanho é validado na criação contando o exemplo de cada variável.\n\nEm `email`: **aceita HTML**, e o tamanho não é limitado.\n\nNos dois canais, **os marcadores são numerados e sequenciais**: `{{1}}`, `{{2}}`, `{{3}}`. Um marcador com texto, como `{{nome}}`, é recusado com `400 Formato inválido (placeholder com texto)`.\n","examples":["Prezado(a) {{1}}, consta débito de R$ {{2}} com vencimento em {{3}}."],"isRequired":true,"uniqueKey":"body","typeLabel":"string"},"template_type":{"type":"string","enum":["TEXT","DOCUMENT","IMAGE"],"description":"O tipo de cabeçalho, e **é ele que decide se a mensagem leva um arquivo**.\n\n- `TEXT`: só texto. É o caso normal e o único aceito em envio em massa.\n- `DOCUMENT`: a mensagem leva um documento.\n- `IMAGE`: a mensagem leva uma imagem.\n\n**Obrigatório em `whatsapp`**, que é o canal padrão. Em `email` o Pombo assume `TEXT` e só `TEXT` é aceito: outro valor é recusado com `400 Invalid request: template_type inválido para email. Valor aceito: TEXT`.\n\nNo envio o par é obrigatório nos dois sentidos: um modelo `DOCUMENT` ou `IMAGE` enviado como `application/json`, sem arquivo, é recusado com `400`, e um modelo `TEXT` enviado como `multipart/form-data`, com arquivo, também. A Meta aprova o tipo de cabeçalho junto com o modelo, então mudá-lo depois exige uma nova aprovação.\n","examples":["TEXT"],"isRequired":true,"uniqueKey":"template_type","typeLabel":"enum\u003cstring>"},"variables":{"type":"object","additionalProperties":{"type":"object","required":["variable_name","variable_example"],"properties":{"variable_name":{"type":"string","description":"Um rótulo seu, para se orientar. Não é a chave.","examples":["nome"],"isRequired":true,"uniqueKey":"variables.additionalProperties.variable_name","typeLabel":"string"},"variable_example":{"type":"string","description":"Um valor de exemplo. Em `whatsapp` a Meta o usa para aprovar o modelo.\n\n**Em `email` a marcação é removida antes de armazenar**, então um exemplo com HTML volta sem ele em `GET /templates/{id}`.\n","examples":["Maria Silva"],"isRequired":true,"uniqueKey":"variables.additionalProperties.variable_example","typeLabel":"string"}},"uniqueKey":"variables.additionalProperties","typeLabel":"object"},"propertyNames":{"pattern":"^\\{\\{[0-9]+\\}\\}$"},"description":"As variáveis do corpo, uma entrada por marcador. Exemplo:\n\n```json\n\"variables\": {\n \"{{1}}\": { \"variable_name\": \"nome\", \"variable_example\": \"Maria Silva\" },\n \"{{2}}\": { \"variable_name\": \"valor\", \"variable_example\": \"1.250,00\" },\n \"{{3}}\": { \"variable_name\": \"vencimento\", \"variable_example\": \"10/09/2026\" }\n}\n```\n\n**A chave é o marcador literal**, entre chaves duplas: `\"{{1}}\"`. Não é o índice `1` nem o `variable_name`. Envie `{}` se o corpo não tiver marcadores.\n\nAs chaves precisam ser **consecutivas a partir de `{{1}}`**. Um vão, como `{{1}}` e `{{3}}` sem `{{2}}`, é recusado com `400`.\n","isRequired":true,"uniqueKey":"variables","typeLabel":"object"},"channel":{"type":"string","enum":["whatsapp","email"],"description":"**Em minúsculas** aqui, diferente de `channel` no envio, que é em maiúsculas.\n\nOpcional: omitido, **vale `whatsapp`**, e com ele vêm a exigência de `template_type` e a aprovação da Meta. Para e-mail, informe `email` explicitamente.\n","examples":["whatsapp"],"uniqueKey":"channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"WhatsApp":{"title":"WhatsApp","value":{"name":"cobranca_vencida","channel":"whatsapp","body":"Prezado(a) {{1}}, consta débito de R$ {{2}} com vencimento em {{3}}.","template_type":"TEXT","variables":{"{{1}}":{"variable_name":"nome","variable_example":"Maria Silva"},"{{2}}":{"variable_name":"valor","variable_example":"1.250,00"},"{{3}}":{"variable_name":"vencimento","variable_example":"10/09/2026"}}}},"E-mail":{"title":"E-mail","value":{"name":"cobranca_vencida_email","channel":"email","body":"\u003cp>Prezado(a) {{1}}, consta débito de R$ {{2}}.\u003c/p>","template_type":"TEXT","variables":{"{{1}}":{"variable_name":"nome","variable_example":"João Souza"},"{{2}}":{"variable_name":"valor","variable_example":"3.400,00"}}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"3b7960ea-551f-46ea-b683-23f5f737f226":{"description":"Modelo criado. Guarde o `template_id`: a listagem também o devolve, mas guardar poupa uma chamada.\n","content":{"application/json":{"schema":{"type":"object","properties":{"template_id":{"type":"string","uniqueKey":"template_id","typeLabel":"string"},"organization_id":{"oneOf":[{"type":"string","uniqueKey":"organization_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"organization_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"organization_id","typeLabel":"string | null"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"channel":{"type":"string","enum":["whatsapp","email"],"uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"body":{"type":"string","uniqueKey":"body","typeLabel":"string"},"body_example":{"type":"string","description":"O `body` com cada marcador substituído pelo `variable_example` da variável, entre colchetes. Montado pelo Pombo, serve para pré-visualizar o texto sem preencher nada.\n","uniqueKey":"body_example","typeLabel":"string"},"template_type":{"type":"string","enum":["DOCUMENT","IMAGE","LOCATION","TEXT","VIDEO"],"description":"O tipo de cabeçalho. `DOCUMENT` e `IMAGE` são os que levam arquivo; `TEXT` é só texto.\n\n`VIDEO` e `LOCATION` podem aparecer em modelos antigos e não são aceitos ao criar um modelo novo. Um envio com eles não leva arquivo.\n","uniqueKey":"template_type","typeLabel":"enum\u003cstring>"},"language_code":{"type":"string","enum":["pt_BR","en_US","es_ES"],"uniqueKey":"language_code","typeLabel":"enum\u003cstring>"},"template_status":{"type":"string","enum":["PENDING","APPROVED","REJECTED","PAUSED","DISABLED","DELETED","IN_APPEAL","FLAGGED","FAILED"],"description":"Só um modelo `APPROVED` pode ser usado em um envio de WhatsApp. A aprovação é da Meta, não do Pombo.\n\nUm modelo de `whatsapp` nasce `PENDING`: consulte `GET /templates/{id}` até chegar a `APPROVED`, e crie os seus modelos com antecedência, porque um envio com modelo não aprovado é recusado com `422`.\n\nUm modelo de `email` nasce `APPROVED` e serve para enviar na mesma hora.\n","uniqueKey":"template_status","typeLabel":"enum\u003cstring>"},"template_origin":{"type":"string","enum":["SYSTEM","ORG"],"description":"`SYSTEM` são modelos do catálogo do Pombo; `ORG`, os da sua organização.\n\nNa listagem, os seus aparecem em qualquer `template_status`, inclusive `PENDING` e `REJECTED`; os do catálogo aparecem só quando já estão `APPROVED`. Rascunhos e modelos apagados ficam de fora.\n","uniqueKey":"template_origin","typeLabel":"enum\u003cstring>"},"requires_attachment":{"oneOf":[{"type":"boolean","description":"Anotação de quem criou o modelo, **sem efeito nenhum**: nada no envio a consulta, e enviar sem arquivo não é recusado por causa dela. Não a envie.\n\nUm modelo de `whatsapp` devolve **sempre `null`**, tenha você enviado o campo ou não; só um modelo de `email` devolve o valor como chegou.\n\nPara um modelo que leve arquivo, o campo que importa é `template_type`, com `DOCUMENT` ou `IMAGE`.\n","uniqueKey":"requires_attachment.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Anotação de quem criou o modelo, **sem efeito nenhum**: nada no envio a consulta, e enviar sem arquivo não é recusado por causa dela. Não a envie.\n\nUm modelo de `whatsapp` devolve **sempre `null`**, tenha você enviado o campo ou não; só um modelo de `email` devolve o valor como chegou.\n\nPara um modelo que leve arquivo, o campo que importa é `template_type`, com `DOCUMENT` ou `IMAGE`.\n","uniqueKey":"requires_attachment.oneOf.1","typeLabel":"null"}],"uniqueKey":"requires_attachment","typeLabel":"boolean | null"},"variables":{"type":"object","additionalProperties":{"type":"object","required":["variable_name","variable_example"],"properties":{"variable_name":{"type":"string","description":"Um rótulo seu, para se orientar. Não é a chave.","examples":["nome"],"isRequired":true,"uniqueKey":"variables.additionalProperties.variable_name","typeLabel":"string"},"variable_example":{"type":"string","description":"Um valor de exemplo. Em `whatsapp` a Meta o usa para aprovar o modelo.\n\n**Em `email` a marcação é removida antes de armazenar**, então um exemplo com HTML volta sem ele em `GET /templates/{id}`.\n","examples":["Maria Silva"],"isRequired":true,"uniqueKey":"variables.additionalProperties.variable_example","typeLabel":"string"}},"uniqueKey":"variables.additionalProperties","typeLabel":"object"},"description":"As variáveis do modelo. **Estas chaves são as de `parameters` no envio.**\n\nOs marcadores do rodapé do remetente estão deliberadamente ausentes daqui, embora apareçam no `body`: é o Pombo que os preenche, a partir do `sender` do envio. Um marcador do `body` sem entrada em `variables` é isso, e não um erro.\n","uniqueKey":"variables","typeLabel":"object"},"subject":{"oneOf":[{"type":"string","description":"Campo histórico, **sem efeito**: não é o assunto que o destinatário recebe. O assunto de um e-mail é montado no momento do envio a partir do nome da organização.\n\n**Sempre `null` em um modelo criado pela API**, nos dois canais: o campo não é gravado na criação. Só traz conteúdo em modelos antigos.\n","uniqueKey":"subject.oneOf.0","typeLabel":"string"},{"type":"null","description":"Campo histórico, **sem efeito**: não é o assunto que o destinatário recebe. O assunto de um e-mail é montado no momento do envio a partir do nome da organização.\n\n**Sempre `null` em um modelo criado pela API**, nos dois canais: o campo não é gravado na criação. Só traz conteúdo em modelos antigos.\n","uniqueKey":"subject.oneOf.1","typeLabel":"null"}],"uniqueKey":"subject","typeLabel":"string | null"},"declined_reason":{"oneOf":[{"type":"string","enum":["ABUSIVE_CONTENT","SCAM","INVALID_FORMAT","TAG_CONTENT_MISMATCH","INCORRECT_CATEGORY","REVIEW_TIMEOUT","UNKNOWN",null],"description":"Por que a Meta recusou o modelo, quando `template_status` é `REJECTED` ou `FAILED`. `null` enquanto não houve recusa.\n\n`ABUSIVE_CONTENT` e `SCAM` exigem reescrever o texto. `INVALID_FORMAT`, `TAG_CONTENT_MISMATCH` e `INCORRECT_CATEGORY` são erros de forma. `REVIEW_TIMEOUT` é falha da própria revisão e um modelo novo com o mesmo texto pode passar.\n","uniqueKey":"declined_reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ABUSIVE_CONTENT","SCAM","INVALID_FORMAT","TAG_CONTENT_MISMATCH","INCORRECT_CATEGORY","REVIEW_TIMEOUT","UNKNOWN",null],"description":"Por que a Meta recusou o modelo, quando `template_status` é `REJECTED` ou `FAILED`. `null` enquanto não houve recusa.\n\n`ABUSIVE_CONTENT` e `SCAM` exigem reescrever o texto. `INVALID_FORMAT`, `TAG_CONTENT_MISMATCH` e `INCORRECT_CATEGORY` são erros de forma. `REVIEW_TIMEOUT` é falha da própria revisão e um modelo novo com o mesmo texto pode passar.\n","uniqueKey":"declined_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"declined_reason","typeLabel":"enum\u003cstring> | null"},"rejected_reason":{"oneOf":[{"type":"string","description":"O motivo em texto livre, como o provedor o enviou. **Não é estável e não deve ser comparado em código:** para ramificar, use `declined_reason`.\n","uniqueKey":"rejected_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"O motivo em texto livre, como o provedor o enviou. **Não é estável e não deve ser comparado em código:** para ramificar, use `declined_reason`.\n","uniqueKey":"rejected_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"rejected_reason","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"A última alteração do registro. **Muda sem você fazer nada:** a Meta atualiza o status e a categoria por webhook, e cada atualização mexe neste campo.\n","uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"pendente":{"title":"pendente","value":{"template_id":"PBD_TPL_01J9Z2Q8XK3M7WPTV6RB4CYH0N","organization_id":"PBD_ORG_01J8A1B2C3D4E5F6G7H8J9K0LM","name":"cobranca_vencida","channel":"whatsapp","body":"Prezado(a) {{1}}, consta débito de R$ {{2}} com vencimento em {{3}}.","template_type":"TEXT","language_code":"pt_BR","template_status":"PENDING","template_origin":"ORG","declined_reason":null,"rejected_reason":null,"updated_at":"2026-08-27T14:03:11.482Z","variables":{"{{1}}":{"variable_name":"nome","variable_example":"Maria Silva"}},"created_at":"2026-08-27T14:03:11.482Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"b90224af-9075-4b89-afd7-7f2eaad8e3d2":{"description":"Requisição inválida. Repetir sem alterar nada devolve o mesmo erro.\n\nUm corpo JSON mal formado cai aqui, com `400`, e não em `500`. Nada é enviado e nada é cobrado.\n","content":{"application/json":{"schema":{"type":"object","description":"O envelope de erro, com quatro campos.\n\n**Ramifique pelo status HTTP e por `error_code`. Nunca por `code`.** O `code` vale `10000 + http_code` em um caminho e uma string arbitrária em outro, então não acrescenta nada ao status e muda de tipo entre operações vizinhas.\n","required":["message"],"properties":{"message":{"type":"string","description":"Descrição da falha, para diagnóstico. Em inglês ou em português. Não é estável.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"oneOf":[{"type":"integer","title":"Número, na validação genérica","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":10400,"uniqueKey":"code.oneOf.0","typeLabel":"integer"},{"type":"string","title":"Texto, nos erros específicos","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":"IDEMPOTENCY_KEY_REUSED","uniqueKey":"code.oneOf.1","typeLabel":"string"}],"uniqueKey":"code","typeLabel":"integer | string"},"http_code":{"type":"integer","description":"**Opcional.** O status HTTP repetido no corpo. Presente quando o erro é devolvido diretamente, ausente quando é lançado e tratado pelo tratador geral. Nunca exija este campo no cliente.\n","uniqueKey":"http_code","typeLabel":"integer"},"error_code":{"type":"string","enum":["MISSING_REQUIRED_FIELD","INVALID_SENDER","ORGANIZATION_ID_FORBIDDEN","INVALID_RECIPIENT","TEMPLATE_CONSTANT_FORBIDDEN","FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE","IDEMPOTENCY_KEY_REUSED"],"description":"O campo a usar para ramificar. **Opcional na prática:** alguns `400` igualmente específicos não o trazem, como o de `recipient_tax_id_type` fora do enum e o de `Idempotency-Key` mal formado. Quando estiver ausente, use o status HTTP.\n","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"json_malformado":{"title":"json_malformado","value":{"code":10400,"http_code":400,"message":"Invalid request: malformed JSON"}},"canal_invalido":{"title":"canal_invalido","value":{"code":10400,"http_code":400,"message":"Invalid request: channel must be WHATSAPP or EMAIL"}},"campo_faltando":{"title":"campo_faltando","value":{"code":10400,"http_code":400,"message":"Invalid request: Missing required fields: template_id","error_code":"MISSING_REQUIRED_FIELD"}},"organization_id_proibido":{"title":"organization_id_proibido","value":{"code":10400,"http_code":400,"message":"Invalid request: organization_id is not accepted on this endpoint: the API key decides the organization","error_code":"ORGANIZATION_ID_FORBIDDEN"}},"anexo_por_id":{"title":"anexo_por_id","description":"O primeiro erro de quem vem do fluxo antigo de duas chamadas. Nesta API o arquivo viaja na própria requisição, como a parte `file` de um `multipart/form-data`.\n","value":{"code":10400,"http_code":400,"message":"Invalid request: attachment_id is not available on the integrations lane; use multipart/form-data with a file part"}},"transferencia_de_arquivo":{"title":"transferencia_de_arquivo","value":{"code":10400,"http_code":400,"message":"Invalid request: file_transfer_id is not available on the integrations lane","error_code":"FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE"}},"constante_de_modelo":{"title":"constante_de_modelo","value":{"code":10400,"http_code":400,"message":"Invalid request: language_code must not be sent: it is set by the server","error_code":"TEMPLATE_CONSTANT_FORBIDDEN"}},"remetente_invalido":{"title":"remetente_invalido","value":{"code":10400,"http_code":400,"message":"Invalid request: sender is required and must be an object","error_code":"INVALID_SENDER"}},"destinatario_invalido":{"title":"destinatario_invalido","value":{"code":10400,"http_code":400,"message":"Invalid request: recipient_phone is required for this channel","error_code":"INVALID_RECIPIENT"}},"telefone_invalido":{"title":"telefone_invalido","value":{"code":10400,"http_code":400,"message":"Invalid request: recipient_phone must start with '+' (e.g., +5511999998888)"}},"tipo_de_documento_invalido":{"title":"tipo_de_documento_invalido","value":{"code":10400,"http_code":400,"message":"Invalid request: recipient_tax_id_type must be CPF or CNPJ"}},"chave_de_idempotencia_invalida":{"title":"chave_de_idempotencia_invalida","value":{"code":10400,"http_code":400,"message":"Invalid request: Idempotency-Key may only contain letters, digits, underscores and hyphens"}},"arquivo_grande_demais":{"title":"arquivo_grande_demais","description":"O anexo grande demais é `400`, **não `413`**. Os limites vêm do tipo do arquivo: 20 MB para PDF, 5 MB para imagem.\n","value":{"code":10400,"http_code":400,"message":"Invalid request: File size exceeds maximum allowed (20MB)"}},"partes_fora_de_ordem":{"title":"partes_fora_de_ordem","description":"A parte `notification` é validada enquanto o arquivo ainda sobe, então precisa vir **antes** da parte `file`.\n","value":{"code":10400,"http_code":400,"message":"Invalid request: The notification part is required and must come before the file part"}},"partes_demais":{"title":"partes_demais","value":{"code":10400,"http_code":400,"message":"Invalid request: multipart/form-data accepts exactly one notification part and one file part"}},"variaveis_invalidas":{"title":"variaveis_invalidas","value":{"code":"INVALID_PARAMETERS","http_code":400,"message":"Missing required parameter: {{1}}"}}},"exampleType":"examples"}},"exampleType":"examples"},"199d537a-175b-4d91-b551-c494c2907e1b":{"description":"Credencial ausente, inválida ou revogada. A resposta é **idêntica** nos três casos: o Pombo não informa qual deles ocorreu, para que não se possa descobrir por tentativa quais credenciais já existiram.\n","content":{"application/json":{"schema":{"type":"object","description":"O envelope de erro, com quatro campos.\n\n**Ramifique pelo status HTTP e por `error_code`. Nunca por `code`.** O `code` vale `10000 + http_code` em um caminho e uma string arbitrária em outro, então não acrescenta nada ao status e muda de tipo entre operações vizinhas.\n","required":["message"],"properties":{"message":{"type":"string","description":"Descrição da falha, para diagnóstico. Em inglês ou em português. Não é estável.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"oneOf":[{"type":"integer","title":"Número, na validação genérica","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":10400,"uniqueKey":"code.oneOf.0","typeLabel":"integer"},{"type":"string","title":"Texto, nos erros específicos","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":"IDEMPOTENCY_KEY_REUSED","uniqueKey":"code.oneOf.1","typeLabel":"string"}],"uniqueKey":"code","typeLabel":"integer | string"},"http_code":{"type":"integer","description":"**Opcional.** O status HTTP repetido no corpo. Presente quando o erro é devolvido diretamente, ausente quando é lançado e tratado pelo tratador geral. Nunca exija este campo no cliente.\n","uniqueKey":"http_code","typeLabel":"integer"},"error_code":{"type":"string","enum":["MISSING_REQUIRED_FIELD","INVALID_SENDER","ORGANIZATION_ID_FORBIDDEN","INVALID_RECIPIENT","TEMPLATE_CONSTANT_FORBIDDEN","FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE","IDEMPOTENCY_KEY_REUSED"],"description":"O campo a usar para ramificar. **Opcional na prática:** alguns `400` igualmente específicos não o trazem, como o de `recipient_tax_id_type` fora do enum e o de `Idempotency-Key` mal formado. Quando estiver ausente, use o status HTTP.\n","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalida":{"title":"invalida","value":{"code":10401,"http_code":401,"message":"Invalid API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"5782c6f1-05f3-4543-a824-79d7f8182b16":{"description":"Já existe um modelo com este nome na organização. **Raro:** o caminho normal não é este: o Pombo renomeia o nome repetido sozinho, acrescentando `-2`, `-3`, e devolve `201` com um modelo novo. Veja a descrição da operação.\n","content":{"application/json":{"schema":{"type":"object","description":"O envelope de erro, com quatro campos.\n\n**Ramifique pelo status HTTP e por `error_code`. Nunca por `code`.** O `code` vale `10000 + http_code` em um caminho e uma string arbitrária em outro, então não acrescenta nada ao status e muda de tipo entre operações vizinhas.\n","required":["message"],"properties":{"message":{"type":"string","description":"Descrição da falha, para diagnóstico. Em inglês ou em português. Não é estável.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"oneOf":[{"type":"integer","title":"Número, na validação genérica","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":10400,"uniqueKey":"code.oneOf.0","typeLabel":"integer"},{"type":"string","title":"Texto, nos erros específicos","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":"IDEMPOTENCY_KEY_REUSED","uniqueKey":"code.oneOf.1","typeLabel":"string"}],"uniqueKey":"code","typeLabel":"integer | string"},"http_code":{"type":"integer","description":"**Opcional.** O status HTTP repetido no corpo. Presente quando o erro é devolvido diretamente, ausente quando é lançado e tratado pelo tratador geral. Nunca exija este campo no cliente.\n","uniqueKey":"http_code","typeLabel":"integer"},"error_code":{"type":"string","enum":["MISSING_REQUIRED_FIELD","INVALID_SENDER","ORGANIZATION_ID_FORBIDDEN","INVALID_RECIPIENT","TEMPLATE_CONSTANT_FORBIDDEN","FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE","IDEMPOTENCY_KEY_REUSED"],"description":"O campo a usar para ramificar. **Opcional na prática:** alguns `400` igualmente específicos não o trazem, como o de `recipient_tax_id_type` fora do enum e o de `Idempotency-Key` mal formado. Quando estiver ausente, use o status HTTP.\n","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"nome_repetido":{"title":"nome_repetido","value":{"code":10409,"http_code":409,"message":"Conflict: Já existe um modelo com este nome nesta organização."}}},"exampleType":"examples"}},"exampleType":"examples"},"62e2eda9-1c72-484e-a33c-494796bf6cdc":{"description":"Recusado por regra de negócio. O `code` diz qual. Em `POST /templates` o único caso é `10422`, conteúdo recusado pela política; os demais são do envio.\n\n`SENDER_CHOICE_REQUIRED` significa que a organização tem mais de um endereço de envio utilizável. O Pombo não escolhe entre eles, porque o endereço de origem é certificado no laudo.\n\nA contagem é dos endereços dedicados **verificados** da organização, mais o endereço compartilhado do Pombo. Com exatamente um utilizável, é ele que envia; com mais de um, o envio é recusado.\n\nNa prática: uma organização **sem** endereço dedicado verificado envia pelo endereço compartilhado do Pombo, e esse é o caso comum. Uma organização que verificou **um** endereço próprio passa a ter dois utilizáveis e recebe o `422`.\n\n**A saída é falar com o suporte do Pombo**, que ajusta quais endereços ficam utilizáveis para a organização. Nenhuma chamada desta API resolve isso.\n","content":{"application/json":{"schema":{"type":"object","description":"O envelope de erro, com quatro campos.\n\n**Ramifique pelo status HTTP e por `error_code`. Nunca por `code`.** O `code` vale `10000 + http_code` em um caminho e uma string arbitrária em outro, então não acrescenta nada ao status e muda de tipo entre operações vizinhas.\n","required":["message"],"properties":{"message":{"type":"string","description":"Descrição da falha, para diagnóstico. Em inglês ou em português. Não é estável.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"oneOf":[{"type":"integer","title":"Número, na validação genérica","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":10400,"uniqueKey":"code.oneOf.0","typeLabel":"integer"},{"type":"string","title":"Texto, nos erros específicos","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":"IDEMPOTENCY_KEY_REUSED","uniqueKey":"code.oneOf.1","typeLabel":"string"}],"uniqueKey":"code","typeLabel":"integer | string"},"http_code":{"type":"integer","description":"**Opcional.** O status HTTP repetido no corpo. Presente quando o erro é devolvido diretamente, ausente quando é lançado e tratado pelo tratador geral. Nunca exija este campo no cliente.\n","uniqueKey":"http_code","typeLabel":"integer"},"error_code":{"type":"string","enum":["MISSING_REQUIRED_FIELD","INVALID_SENDER","ORGANIZATION_ID_FORBIDDEN","INVALID_RECIPIENT","TEMPLATE_CONSTANT_FORBIDDEN","FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE","IDEMPOTENCY_KEY_REUSED"],"description":"O campo a usar para ramificar. **Opcional na prática:** alguns `400` igualmente específicos não o trazem, como o de `recipient_tax_id_type` fora do enum e o de `Idempotency-Key` mal formado. Quando estiver ausente, use o status HTTP.\n","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"modelo_nao_aprovado":{"title":"modelo_nao_aprovado","value":{"code":"TEMPLATE_NOT_APPROVED","http_code":422,"message":"Template PBD_TPL_01J9Z2Q8XK3M7WPTV6RB4CYH0N is not approved (current status: PENDING)"}},"escolha_de_remetente":{"title":"escolha_de_remetente","value":{"code":"SENDER_CHOICE_REQUIRED","http_code":422,"message":"Escolha o endereço de envio desta notificação."}},"politica_de_conteudo":{"title":"politica_de_conteudo","description":"Só em `POST /templates`, na criação do modelo. O corpo não diz qual regra falhou: reveja o texto.\n","value":{"code":10422,"http_code":422,"message":"Content policy violation detected"}}},"exampleType":"examples"}},"exampleType":"examples"},"dd4c9f2a-7672-4796-a479-4c32e73248bc":{"description":"Limite de requisições excedido. São três contagens independentes, em janelas de um minuto: 50 por credencial, 200 por organização, 300 por IP.\n\n**Espere o que o `Retry-After` manda esperar**, em segundos. Os cabeçalhos `RateLimit-Limit`, `RateLimit-Remaining` e `RateLimit-Reset` vêm em toda resposta, não só no `429`.\n","headers":{"Retry-After":{"description":"Quantos segundos esperar antes de repetir.","schema":{"type":"integer","examples":[43]}},"RateLimit-Limit":{"description":"O teto da janela.","schema":{"type":"integer","examples":[200]}},"RateLimit-Remaining":{"description":"Quantas requisições ainda cabem na janela.","schema":{"type":"integer","examples":[0]}},"RateLimit-Reset":{"description":"Quantos segundos faltam para a janela virar.","schema":{"type":"integer","examples":[43]}}},"content":{"application/json":{"schema":{"type":"object","description":"O envelope de erro, com quatro campos.\n\n**Ramifique pelo status HTTP e por `error_code`. Nunca por `code`.** O `code` vale `10000 + http_code` em um caminho e uma string arbitrária em outro, então não acrescenta nada ao status e muda de tipo entre operações vizinhas.\n","required":["message"],"properties":{"message":{"type":"string","description":"Descrição da falha, para diagnóstico. Em inglês ou em português. Não é estável.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"oneOf":[{"type":"integer","title":"Número, na validação genérica","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":10400,"uniqueKey":"code.oneOf.0","typeLabel":"integer"},{"type":"string","title":"Texto, nos erros específicos","description":"**Não ramifique por este campo.** O tipo muda entre operações vizinhas: um `404` de modelo traz `10404` e um `404` de notificação traz `\"NOT_FOUND\"`. Para tratar erros em código, use o status HTTP.\n","example":"IDEMPOTENCY_KEY_REUSED","uniqueKey":"code.oneOf.1","typeLabel":"string"}],"uniqueKey":"code","typeLabel":"integer | string"},"http_code":{"type":"integer","description":"**Opcional.** O status HTTP repetido no corpo. Presente quando o erro é devolvido diretamente, ausente quando é lançado e tratado pelo tratador geral. Nunca exija este campo no cliente.\n","uniqueKey":"http_code","typeLabel":"integer"},"error_code":{"type":"string","enum":["MISSING_REQUIRED_FIELD","INVALID_SENDER","ORGANIZATION_ID_FORBIDDEN","INVALID_RECIPIENT","TEMPLATE_CONSTANT_FORBIDDEN","FILE_TRANSFER_NOT_AVAILABLE_ON_THIS_LANE","IDEMPOTENCY_KEY_REUSED"],"description":"O campo a usar para ramificar. **Opcional na prática:** alguns `400` igualmente específicos não o trazem, como o de `recipient_tax_id_type` fora do enum e o de `Idempotency-Key` mal formado. Quando estiver ausente, use o status HTTP.\n","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"limite":{"title":"limite","value":{"code":"RATE_LIMIT_EXCEEDED","http_code":429,"message":"Too many requests. Please try again later."}}},"exampleType":"examples"}},"exampleType":"examples"},"61d9fe7e-42c9-447a-a231-822ca9799ce2":{"description":"Erro interno. Em `POST /notifications`, um `500` **não garante que nada foi enviado**: consulte antes de repetir.\n","content":{"application/json":{"schema":{"type":"object","description":"O corpo do `500` é reduzido e **não** traz `http_code`.","properties":{"code":{"type":"string","examples":["INTERNAL_ERROR"],"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","examples":["Internal Server Error"],"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"O mesmo valor do cabeçalho `x-request-id`. **Registre-o:** é por ele que o suporte encontra a requisição exata.\n","examples":["req_01M1C5ZKGBGRNW6QHXTP2EM7Y7"],"uniqueKey":"request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"interno":{"title":"interno","value":{"code":"INTERNAL_ERROR","message":"Internal Server Error","request_id":"req_01M1C5ZKGBGRNW6QHXTP2EM7Y7"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"f5b17345-c161-456e-92b9-13801984e98a":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Sua credencial de API no cabeçalho `Authorization: Bearer sk_live_...`. Crie e revogue credenciais no painel, em Conta → API Keys. O segredo aparece uma única vez, na criação.\n\nA credencial identifica a organização: `organization_id` não é aceito em nenhuma requisição.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"08d165bc-8615-4cf3-87a1-64e91eaf7bd4":{"url":"https://pombo.digital/api/integrations/v1","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Sua credencial de API no cabeçalho `Authorization: Bearer sk_live_...`. Crie e revogue credenciais no painel, em Conta → API Keys. O segredo aparece uma única vez, na criação.\n\nA credencial identifica a organização: `organization_id` não é aceito em nenhuma requisição.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Sua credencial de API no cabeçalho `Authorization: Bearer sk_live_...`. Crie e revogue credenciais no painel, em Conta → API Keys. O segredo aparece uma única vez, na criação.\n\nA credencial identifica a organização: `organization_id` não é aceito em nenhuma requisição.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"pombo-digital","siteName":"Pombo.Digital","title":"Criar um modelo - Pombo.Digital","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T14:54:49.698Z","originalFileLocation":"api-reference/modelos/criar-um-modelo.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pombo.Digital\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar um modelo - Pombo.Digital\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pombo.Digital\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pombo-digital.mintlify.site/_mintlify/api/og/v2?division=Modelos\u0026amp;title=Criar+um+modelo\u0026amp;description=Cria+um+modelo+de+mensagem%2C+o+texto+reutiliz%C3%A1vel+que+toda+notifica%C3%A7%C3%A3o+usa.%0A\u0026amp;theme=0a0c86c88ccc26bfbb751982\u0026amp;signature=7619d1e21ec80ce8b2453c545d80aa1c1ff34ec47b1b5dd602c9792aa9a718f5\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Criar um modelo - Pombo.Digital\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pombo-digital.mintlify.site/_mintlify/api/og/v2?division=Modelos\u0026amp;title=Criar+um+modelo\u0026amp;description=Cria+um+modelo+de+mensagem%2C+o+texto+reutiliz%C3%A1vel+que+toda+notifica%C3%A7%C3%A3o+usa.%0A\u0026amp;theme=0a0c86c88ccc26bfbb751982\u0026amp;signature=7619d1e21ec80ce8b2453c545d80aa1c1ff34ec47b1b5dd602c9792aa9a718f5\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pombo-digital/UMb0_KyuiIqUp_kU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pombo.Digital\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F5EF4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/modelos/criar-um-modelo.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pombo.digital/#organization\",\"name\":\"Pombo.Digital\",\"url\":\"https://docs.pombo.digital\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pombo-digital/6JDRLMzfLY2oWrjf/logo/light.png?fit=max\u0026auto=format\u0026n=6JDRLMzfLY2oWrjf\u0026q=85\u0026s=4dc120cc1feb87982d48a6449f85555e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pombo.digital#website\",\"name\":\"Pombo.Digital\",\"url\":\"https://docs.pombo.digital\",\"publisher\":{\"@id\":\"https://docs.pombo.digital/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo#webpage\",\"url\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo\",\"name\":\"Criar um modelo\",\"description\":\"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\",\"dateModified\":\"2026-10-12T14:54:49.698Z\",\"isPartOf\":{\"@id\":\"https://docs.pombo.digital#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Pombo.Digital\",\"item\":\"https://docs.pombo.digital\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criar um modelo\",\"item\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo#apireference\",\"headline\":\"Criar um modelo\",\"name\":\"Criar um modelo\",\"description\":\"Cria um modelo de mensagem, o texto reutilizável que toda notificação usa.\",\"url\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pombo.digital/api-reference/modelos/criar-um-modelo#webpage\"},\"dateModified\":\"2026-10-12T14:54:49.698Z\",\"publisher\":{\"@id\":\"https://docs.pombo.digital/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pombo.digital#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pombo.Digital\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Pombo.Digital\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/modelos/criar-um-modelo.md","siteName":"Pombo.Digital","nav":{"global":null,"tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":""}]},{"tab":"API","groups":[{"group":"Referência da API","pages":[{"title":"Introdução","href":"/api/introducao"},{"title":"Quickstart","href":"/api/quickstart"},{"title":"Idempotência","href":"/api/idempotencia"},{"title":"Erros","href":"/api/erros"},{"title":"Limites de uso","description":"Os três limites de requisição da API do Pombo, por credencial, por organização e por IP, e como reagir a um 429.","href":"/api/limites-de-uso"}]},{"group":"Modelos","pages":[{"title":"Criar um modelo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /templates","href":"/api-reference/modelos/criar-um-modelo"},{"title":"Listar modelos","description":"Lista os modelos que a sua credencial pode consultar, os seus e os pré-aprovados do Pombo.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /templates","href":"/api-reference/modelos/listar-modelos"},{"title":"Consultar um modelo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /templates/{id}","href":"/api-reference/modelos/consultar-um-modelo"}]},{"group":"Notificações","pages":[{"title":"Enviar uma notificação","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /notifications","href":"/api-reference/notificações/enviar-uma-notificação"},{"title":"Listar notificações","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /notifications","href":"/api-reference/notificações/listar-notificações"},{"title":"Consultar uma notificação","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /notifications/{id}","href":"/api-reference/notificações/consultar-uma-notificação"},{"title":"Baixar o laudo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /notifications/{id}/report/download","href":"/api-reference/notificações/baixar-o-laudo"}]},{"group":"Saldo","pages":[{"title":"Consultar o saldo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /usage","href":"/api-reference/saldo/consultar-o-saldo"}]}]},{"tab":"Novidades","pages":[{"title":"Novidades","href":"/novidades"}]}]},"basePath":"","title":"Criar um modelo - Pombo.Digital","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}