{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}
{
"error": {
"type": "validation_error",
"message": "The campaign has 1 problem; fix all of them and retry:\n- template.variables: The body has 2 variables but template.variables has 1 entry. Give exactly one per {{n}}, in order.",
"param": "template.variables",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}
Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.
{
"error": {
"type": "permission_denied",
"message": "This API key does not have the required \"write\" scope.",
"param": "scope",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}
{
"error": {
"type": "validation_error",
"message": "The campaign has 1 problem; fix all of them and retry:\n- template.variables: The body has 2 variables but template.variables has 1 entry. Give exactly one per {{n}}, in order.",
"param": "template.variables",
"request_id": "req_07f6cdc3c20249d6afcd90b4"
}
}
WhatsApp number that sends the campaign. Needed only when the store has several numbers and none is the default; in that case, the error lists the options.
Link to the campaign in Bevits, where a person picks the audience and sends it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Bevits","colors":{"primary":"#F97316","light":"#FB923C","dark":"#EA580C"},"logo":{"light":"https://mintcdn.com/bevits/1nYG20dqbMUuey8F/logo/light.svg?fit=max\u0026auto=format\u0026n=1nYG20dqbMUuey8F\u0026q=85\u0026s=e3888ae21616d4de0a83364106aade8c","dark":"https://mintcdn.com/bevits/1nYG20dqbMUuey8F/logo/dark.svg?fit=max\u0026auto=format\u0026n=1nYG20dqbMUuey8F\u0026q=85\u0026s=a4cb0c23c9b869db5134b256820f2dce"},"favicon":"https://mintcdn.com/bevits/1nYG20dqbMUuey8F/favicon.svg?fit=max\u0026auto=format\u0026n=1nYG20dqbMUuey8F\u0026q=85\u0026s=0860c45a6d0cf16a9e741cd3ef465c1b","styling":{"latex":false},"navigation":{"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Suporte"}],"primary":{"type":"button","label":"Painel","href":"https://app.bevits.com"}},"href":"pt-BR/overview"},{"language":"en","navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.bevits.com"}},"href":"en/overview"},{"language":"es","navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://app.bevits.com"}},"href":"es/overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bevits","hasAudioNarration":false,"actualSubdomain":"bevits","customDomains":["docs.bevits.com"],"gitSource":{"type":"github","owner":"zenvios","repo":"zenvios-monorepo","deployBranch":"main","contentDirectory":"bevits-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecccfa184351b562255aee","collectionId":"a27a9733-7478-45ae-ad9d-b3e443a26129","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecccfa184351b562255aee"},"entitlements":{},"buildId":"6aecdaf78075d6afe3b99a2a","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"en","tag":"API","count":31},{"language":"es","tag":"API","count":31},{"language":"pt-BR","tag":"API","count":31},{"language":"en","tag":"Reference","count":26},{"language":"es","tag":"Referencia","count":26},{"language":"pt-BR","tag":"Referência","count":26},{"language":"en","tag":"Documentation","count":17},{"language":"es","tag":"Documentación","count":17},{"language":"pt-BR","tag":"Documentação","count":17},{"language":"en","tag":"Features","count":8},{"language":"es","tag":"Funcionalidades","count":8},{"language":"pt-BR","tag":"Funcionalidades","count":8},{"language":"en","tag":"Sending methods","count":5},{"language":"es","tag":"Primeros pasos","count":5},{"language":"es","tag":"Métodos de envío","count":5},{"language":"pt-BR","tag":"Primeiros passos","count":5},{"language":"pt-BR","tag":"Métodos de envio","count":5},{"language":"en","tag":"Getting started","count":4},{"language":"en","tag":"Integrations","count":3},{"language":"es","tag":"Integraciones","count":3},{"language":"pt-BR","tag":"Integrações","count":3},{"language":"en","tag":"Fundamentals","count":1},{"language":"en","tag":"Changelog","count":1},{"language":"en","tag":"Updates","count":1},{"language":"es","tag":"Fundamentos","count":1},{"language":"es","tag":"Changelog","count":1},{"language":"es","tag":"Actualizaciones","count":1},{"language":"pt-BR","tag":"Fundamentos","count":1},{"language":"pt-BR","tag":"Changelog","count":1},{"language":"pt-BR","tag":"Atualizações","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"vite-origin","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":"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":[],"page":{"pagePath":"en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft","slug":"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft","pageMetadata":{"title":"Create a WhatsApp Official campaign as a draft","description":"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.","deprecated":null,"version":null,"openapi":"/openapi.en.json post /v1/whatsapp-campaigns","href":"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft","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: \"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\"\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":"Create a WhatsApp Official campaign as a draft","description":"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.","deprecated":null,"version":null,"openapi":"/openapi.en.json post /v1/whatsapp-campaigns","href":"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create a WhatsApp Official campaign as a draft","description":"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.","operationId":"createWhatsAppCampaign","tags":["Campaigns"],"parameters":["f0474ac0-84cf-486c-bfe2-54db95399679"],"requestBody":"718d38cd-e211-4790-a3cc-be2d7717ff69","responses":{"200":"01d26269-858a-415d-b5c0-e156686c0901","400":"e4556e9f-7266-477b-bbe6-befab88e5a94","401":"f05add6d-a351-436b-8848-72779305730e","403":"a71e5e8e-988c-45a0-bac7-6ca04e371fa9","409":"27560af1-8878-4d12-9ab8-463562127268","422":"bfbbf04f-d545-407d-8b2a-7522eaf9f585","429":"1c80cad1-c407-4bb7-a6d8-d0190cfaae5b","500":"a97516b0-f51c-4345-bd6c-26d25c41b39c"},"method":"post","type":"path","servers":["566fc4c6-52ba-4110-b57d-e713ffc70eea"],"security":["9b80000b-ca57-44ce-be64-36e5b2652454"],"path":"/v1/whatsapp-campaigns","baseUrlOptions":["https://api.bevits.com"],"title":"Create a WhatsApp Official campaign as a draft","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f0474ac0-84cf-486c-bfe2-54db95399679":{"name":"Idempotency-Key","in":"header","description":"Unique key for the operation. Repeating the same key with the same body returns the original response instead of running it again.","schema":{"type":"string","description":"Unique key for the operation. Repeating the same key with the same body returns the original response instead of running it again.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","template"],"properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Campaign name shown in Bevits; it also names the template.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"template":{"type":"object","required":["body"],"properties":{"body":{"type":"string","minLength":1,"maxLength":1024,"description":"Message text. WhatsApp formatting (*bold*, _italic_) and emoji are allowed. Variables are {{1}}, {{2}}… in order, never at the very start or end of the text.","isRequired":true,"uniqueKey":"template.body","typeLabel":"string"},"category":{"type":"string","enum":["marketing","utility"],"default":"marketing","description":"Promotions are marketing; Meta re-categorizes or rejects utility templates with promotional content.","uniqueKey":"template.category","typeLabel":"enum\u003cstring>"},"language":{"type":"string","enum":["pt_BR","en_US"],"default":"pt_BR","uniqueKey":"template.language","typeLabel":"enum\u003cstring>"},"header":{"oneOf":[{"type":"object","description":"Optional header: text or media.","required":["type","text"],"properties":{"type":{"type":"string","const":"text","isRequired":true,"uniqueKey":"template.header.oneOf.0.type","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":60,"description":"Plain text: no emoji, *formatting*, line breaks, or variables.","isRequired":true,"uniqueKey":"template.header.oneOf.0.text","typeLabel":"string"}},"uniqueKey":"template.header.oneOf.0","typeLabel":"object"},{"type":"object","description":"Optional header: text or media.","required":["type","url"],"properties":{"type":{"type":"string","enum":["image","video","document"],"isRequired":true,"uniqueKey":"template.header.oneOf.1.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","format":"uri","maxLength":512,"description":"Public HTTPS URL of the file (image: JPEG or PNG up to 5 MB; video: MP4 up to 16 MB; document: PDF up to 100 MB). It is sent to Meta as the review sample and used as the campaign media.","isRequired":true,"uniqueKey":"template.header.oneOf.1.url","typeLabel":"string\u003curi>"},"filename":{"type":"string","minLength":1,"maxLength":255,"description":"Document name customers see.","uniqueKey":"template.header.oneOf.1.filename","typeLabel":"string"}},"uniqueKey":"template.header.oneOf.1","typeLabel":"object"}],"uniqueKey":"template.header","typeLabel":"object"},"variables":{"type":"array","maxItems":20,"default":[],"description":"One entry per {{n}} in the text, in the same order.","items":{"type":"object","required":["example"],"properties":{"example":{"type":"string","minLength":1,"maxLength":200,"description":"Sample value Meta shows to its reviewers. Required for every {{n}}.","isRequired":true,"uniqueKey":"template.variables.items.[INDEX].example","typeLabel":"string"},"fill":{"oneOf":[{"type":"object","description":"What each customer receives: their first name, or the same text for everyone. Omit it to choose later in the campaign editor.","required":["type"],"properties":{"type":{"type":"string","const":"first_name","isRequired":true,"uniqueKey":"template.variables.items.[INDEX].fill.oneOf.0.type","typeLabel":"string"},"fallback":{"type":"string","minLength":1,"maxLength":60,"description":"Sent when the customer has no name, such as \"cliente\".","uniqueKey":"template.variables.items.[INDEX].fill.oneOf.0.fallback","typeLabel":"string"}},"uniqueKey":"template.variables.items.[INDEX].fill.oneOf.0","typeLabel":"object"},{"type":"object","description":"What each customer receives: their first name, or the same text for everyone. Omit it to choose later in the campaign editor.","required":["type","text"],"properties":{"type":{"type":"string","const":"fixed_text","isRequired":true,"uniqueKey":"template.variables.items.[INDEX].fill.oneOf.1.type","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"template.variables.items.[INDEX].fill.oneOf.1.text","typeLabel":"string"}},"uniqueKey":"template.variables.items.[INDEX].fill.oneOf.1","typeLabel":"object"}],"uniqueKey":"template.variables.items.[INDEX].fill","typeLabel":"object"}},"uniqueKey":"template.variables.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.variables","typeLabel":"object[]"},"footer":{"type":"string","minLength":1,"maxLength":60,"description":"Plain-text footer, without emoji, formatting, or variables.","uniqueKey":"template.footer","typeLabel":"string"},"buttons":{"type":"array","maxItems":10,"default":[],"description":"Up to 10 buttons, with at most 2 link buttons, 1 phone button, and 1 copy-code button.","items":{"oneOf":[{"type":"object","required":["type","text","url"],"properties":{"type":{"type":"string","const":"url","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.0.type","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":25,"isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.0.text","typeLabel":"string"},"url":{"type":"string","format":"uri","maxLength":2000,"description":"The button's real destination. Bevits sends Meta its click-tracking short link instead.","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.0.url","typeLabel":"string\u003curi>"}},"uniqueKey":"template.buttons.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","const":"quick_reply","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.1.type","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":25,"isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.1.text","typeLabel":"string"}},"uniqueKey":"template.buttons.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["type","text","phone_number"],"properties":{"type":{"type":"string","const":"phone_number","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.2.type","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":25,"isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.2.text","typeLabel":"string"},"phone_number":{"type":"string","pattern":"^\\+\\d{8,15}$","description":"Phone number in international format, such as +5511999999999.","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.2.phone_number","typeLabel":"string"}},"uniqueKey":"template.buttons.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["type","code"],"properties":{"type":{"type":"string","const":"copy_code","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.3.type","typeLabel":"string"},"code":{"type":"string","minLength":1,"maxLength":15,"description":"Coupon code the customer copies.","isRequired":true,"uniqueKey":"template.buttons.items.[INDEX].oneOf.3.code","typeLabel":"string"}},"uniqueKey":"template.buttons.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"template.buttons.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.buttons","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"template","typeLabel":"object"},"official_account_id":{"type":"string","pattern":"^waa_[A-Za-z0-9_-]+$","description":"WhatsApp number that sends the campaign. Needed only when the store has several numbers and none is the default; in that case, the error lists the options.","uniqueKey":"official_account_id","typeLabel":"string"},"validate_only":{"type":"boolean","default":false,"description":"When true, only validates the campaign and its template, saving nothing and without contacting Meta.","uniqueKey":"validate_only","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"name":"Black Friday VIP","template":{"category":"marketing","header":{"type":"image","url":"https://cdn.loja.com/bf.png"},"body":"Oi {{1}}! A Black Friday começou: {{2}} em toda a loja. Aproveite 👇","variables":[{"example":"Maria","fill":{"type":"first_name","fallback":"cliente"}},{"example":"30% off","fill":{"type":"fixed_text","text":"30% off"}}],"footer":"Responda SAIR para não receber","buttons":[{"type":"url","text":"Ver ofertas","url":"https://loja.com/black-friday"}]}},"examples":{"Example":{"title":"Example","value":{"name":"Black Friday VIP","template":{"category":"marketing","header":{"type":"image","url":"https://cdn.loja.com/bf.png"},"body":"Oi {{1}}! A Black Friday começou: {{2}} em toda a loja. Aproveite 👇","variables":[{"example":"Maria","fill":{"type":"first_name","fallback":"cliente"}},{"example":"30% off","fill":{"type":"fixed_text","text":"30% off"}}],"footer":"Responda SAIR para não receber","buttons":[{"type":"url","text":"Ver ofertas","url":"https://loja.com/black-friday"}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"01d26269-858a-415d-b5c0-e156686c0901":{"description":"Campaign validated or saved as a draft, with its template submitted to Meta for review.","content":{"application/json":{"schema":{"type":"object","required":["object","validate_only","name","status","template","pending","next_step"],"properties":{"object":{"type":"string","const":"whatsapp_campaign_draft","isRequired":true,"uniqueKey":"object","typeLabel":"string"},"validate_only":{"type":"boolean","description":"true when the campaign was only validated; nothing was saved or sent to Meta.","isRequired":true,"uniqueKey":"validate_only","typeLabel":"boolean"},"name":{"type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"status":{"type":"string","const":"draft","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"template":{"type":"object","required":["category","language","preview"],"properties":{"category":{"type":"string","enum":["marketing","utility"],"isRequired":true,"uniqueKey":"template.category","typeLabel":"enum\u003cstring>"},"language":{"type":"string","isRequired":true,"uniqueKey":"template.language","typeLabel":"string"},"preview":{"type":"string","description":"Text with the examples in place of each {{n}}, as Meta reviewers see it.","isRequired":true,"uniqueKey":"template.preview","typeLabel":"string"},"id":{"type":"string","pattern":"^wtp_[A-Za-z0-9_-]+$","uniqueKey":"template.id","typeLabel":"string"},"status":{"type":"string","description":"Meta review status: pending, approved, or rejected. Absent when the campaign was only validated.","uniqueKey":"template.status","typeLabel":"string"}},"isRequired":true,"uniqueKey":"template","typeLabel":"object"},"pending":{"type":"array","description":"What is still missing before sending, such as Meta's approval and choosing the audience.","items":{"type":"string","uniqueKey":"pending.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"pending","typeLabel":"string[]"},"next_step":{"type":"string","isRequired":true,"uniqueKey":"next_step","typeLabel":"string"},"id":{"type":"string","pattern":"^tcp_[A-Za-z0-9_-]+$","uniqueKey":"id","typeLabel":"string"},"html_url":{"type":"string","format":"uri","description":"Link to the campaign in Bevits, where a person picks the audience and sends it.","uniqueKey":"html_url","typeLabel":"string\u003curi>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"object":"whatsapp_campaign_draft","validate_only":true,"name":"\u003cstring>","status":"draft","template":{"category":"marketing","language":"\u003cstring>","preview":"\u003cstring>","id":"\u003cstring>","status":"\u003cstring>"},"pending":["\u003cstring>"],"next_step":"\u003cstring>","id":"\u003cstring>","html_url":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e4556e9f-7266-477b-bbe6-befab88e5a94":{"description":"Missing request body, a body that is not a JSON object, or an invalid route parameter.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","message":"\u003cstring>","request_id":"\u003cstring>","param":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"f05add6d-a351-436b-8848-72779305730e":{"description":"Missing, invalid, expired, or revoked API key.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"authentication_error","message":"Invalid API key.","request_id":"req_07f6cdc3c20249d6afcd90b4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","message":"Invalid API key.","request_id":"req_07f6cdc3c20249d6afcd90b4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"a71e5e8e-988c-45a0-bac7-6ca04e371fa9":{"description":"The API key does not have the write scope.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"permission_denied","message":"This API key does not have the required \"write\" scope.","param":"scope","request_id":"req_07f6cdc3c20249d6afcd90b4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"permission_denied","message":"This API key does not have the required \"write\" scope.","param":"scope","request_id":"req_07f6cdc3c20249d6afcd90b4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"27560af1-8878-4d12-9ab8-463562127268":{"description":"The Idempotency-Key was already used with a different request body.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","message":"\u003cstring>","request_id":"\u003cstring>","param":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"bfbbf04f-d545-407d-8b2a-7522eaf9f585":{"description":"The campaign can't be created. The message lists every problem, each with the field path, or gives Meta's rejection reason. When the store has several WhatsApp numbers and none is the default, the message lists the official_account_id options.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"validation_error","message":"The campaign has 1 problem; fix all of them and retry:\n- template.variables: The body has 2 variables but template.variables has 1 entry. Give exactly one per {{n}}, in order.","param":"template.variables","request_id":"req_07f6cdc3c20249d6afcd90b4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"validation_error","message":"The campaign has 1 problem; fix all of them and retry:\n- template.variables: The body has 2 variables but template.variables has 1 entry. Give exactly one per {{n}}, in order.","param":"template.variables","request_id":"req_07f6cdc3c20249d6afcd90b4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"1c80cad1-c407-4bb7-a6d8-d0190cfaae5b":{"description":"Request limit exceeded.","headers":{"Retry-After":{"description":"Seconds before retrying.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Limit":{"description":"Total limit for the current window.","schema":{"type":"integer","example":600}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer","example":599}},"X-RateLimit-Reset":{"description":"UTC instant when the current window ends.","schema":{"type":"string","format":"date-time"}}},"content":{"application/json":{"schema":{"type":"object","required":["retry_after","error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds before retrying.","isRequired":true,"uniqueKey":"retry_after","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","message":"\u003cstring>","request_id":"\u003cstring>","param":"\u003cstring>"},"retry_after":2}}},"exampleType":"generated"}},"exampleType":"generated"},"a97516b0-f51c-4345-bd6c-26d25c41b39c":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","message","request_id"],"properties":{"type":{"type":"string","enum":["authentication_error","conflict","internal_error","invalid_request","not_found","permission_denied","rate_limited","validation_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[a-f0-9]{24}$","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","message":"\u003cstring>","request_id":"\u003cstring>","param":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"9b80000b-ca57-44ce-be64-36e5b2652454":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"bvt_live_...","description":"API key created in the organization settings.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"566fc4c6-52ba-4110-b57d-e713ffc70eea":{"url":"https://api.bevits.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"bvt_live_...","description":"API key created in the organization settings.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key created in the organization settings.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.en.json"},"subdomain":"bevits","siteName":"Bevits","title":"Create a WhatsApp Official campaign as a draft - Bevits","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/pt-BR/overview","matchLevel":4},"en":{"href":"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft","matchLevel":0},"es":{"href":"/es/overview","matchLevel":4}}},"lastModified":"2026-11-05T18:37:52.848Z","originalFileLocation":"en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft.mdx","locale":"en"},"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=\"system\"}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=\"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bevits\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_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/bevits/rUFhj4NY5eY9LDUb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a WhatsApp Official campaign as a draft - Bevits\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bevits\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bevits.mintlify.app/_mintlify/api/og/v2?division=Reference\u0026amp;title=Create+a+WhatsApp+Official+campaign+as+a+draft\u0026amp;description=Creates+a+WhatsApp+Official+campaign+as+a+draft+with+a+new+template+and+submits+the+template+to+Meta+for+review.+No+message+is+sent%3A+after+approval%2C+a+person+pi\u0026amp;theme=450683dc407bc2b861cf68ca\u0026amp;signature=fbae1da364e4b0fb4d4c4580ae159add12808eeafe9ba1acc3de56b20605a3f3\">\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=\"Create a WhatsApp Official campaign as a draft - Bevits\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bevits.mintlify.app/_mintlify/api/og/v2?division=Reference\u0026amp;title=Create+a+WhatsApp+Official+campaign+as+a+draft\u0026amp;description=Creates+a+WhatsApp+Official+campaign+as+a+draft+with+a+new+template+and+submits+the+template+to+Meta+for+review.+No+message+is+sent%3A+after+approval%2C+a+person+pi\u0026amp;theme=450683dc407bc2b861cf68ca\u0026amp;signature=fbae1da364e4b0fb4d4c4580ae159add12808eeafe9ba1acc3de56b20605a3f3\">\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/bevits/rUFhj4NY5eY9LDUb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bevits\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F97316\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.bevits.com/#organization\",\"name\":\"Bevits\",\"url\":\"https://docs.bevits.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bevits/1nYG20dqbMUuey8F/logo/light.svg?fit=max\u0026auto=format\u0026n=1nYG20dqbMUuey8F\u0026q=85\u0026s=e3888ae21616d4de0a83364106aade8c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.bevits.com#website\",\"name\":\"Bevits\",\"url\":\"https://docs.bevits.com\",\"publisher\":{\"@id\":\"https://docs.bevits.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft#webpage\",\"url\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft\",\"name\":\"Create a WhatsApp Official campaign as a draft\",\"description\":\"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\",\"dateModified\":\"2026-11-05T18:37:52.848Z\",\"isPartOf\":{\"@id\":\"https://docs.bevits.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.bevits.com/en/api-reference/system/check-availability\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a WhatsApp Official campaign as a draft\",\"item\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft#apireference\",\"headline\":\"Create a WhatsApp Official campaign as a draft\",\"name\":\"Create a WhatsApp Official campaign as a draft\",\"description\":\"Creates a WhatsApp Official campaign as a draft with a new template and submits the template to Meta for review. No message is sent: after approval, a person picks the audience and sends the campaign in Bevits. With validate_only, it only validates the campaign, saving nothing and without contacting Meta. Each saved call submits one template to Meta; do not repeat a call that succeeded. Requires an API key with the write scope.\",\"url\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft\",\"mainEntityOfPage\":{\"@id\":\"https://docs.bevits.com/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft#webpage\"},\"dateModified\":\"2026-11-05T18:37:52.848Z\",\"publisher\":{\"@id\":\"https://docs.bevits.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.bevits.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bevits\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bevits","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Suporte"}],"primary":{"type":"button","label":"Painel","href":"https://app.bevits.com"}},"pages":[{"title":"pt-BR","href":"/pt-BR/overview"}]},{"language":"en","navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.bevits.com"}},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/en/overview"}]},{"tab":"API","groups":[{"group":"Getting started","pages":[{"title":"API overview","icon":"brackets-curly","href":"/en/api-reference/overview"},{"title":"Authentication","icon":"key","href":"/en/api-reference/authentication"},{"title":"MCP server","icon":"plug","href":"/en/api-reference/mcp"},{"title":"AI agents","icon":"sparkles","href":"/en/api-reference/ai-agents"}]},{"group":"Fundamentals","pages":[{"title":"Fundamentals","icon":"code","href":"/en/api-reference/fundamentals"}]},{"group":"Reference","pages":[{"title":"Check availability","deprecated":null,"version":null,"openapi":"/openapi.en.json get /health","href":"/en/api-reference/system/check-availability"},{"title":"Get identity","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/me","href":"/en/api-reference/identity/get-identity"},{"title":"List customers","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/customers","href":"/en/api-reference/customers/list-customers"},{"title":"Get customer","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/customers/{customer_id}","href":"/en/api-reference/customers/get-customer"},{"title":"List customer purchases","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/customers/{customer_id}/purchases","href":"/en/api-reference/customers/list-customer-purchases"},{"title":"List segments","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/segments","href":"/en/api-reference/segments/list-segments"},{"title":"Get segment","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/segments/{segment_id}","href":"/en/api-reference/segments/get-segment"},{"title":"List segment customers","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/segments/{segment_id}/customers","href":"/en/api-reference/segments/list-segment-customers"},{"title":"List purchases","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/purchases","href":"/en/api-reference/purchases/list-purchases"},{"title":"Aggregate purchases","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/purchases/stats","href":"/en/api-reference/purchases/aggregate-purchases"},{"title":"Get purchase","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/purchases/{purchase_id}","href":"/en/api-reference/purchases/get-purchase"},{"title":"List tags","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/tags","href":"/en/api-reference/crm-data/list-tags"},{"title":"Get tag","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/tags/{tag_id}","href":"/en/api-reference/crm-data/get-tag"},{"title":"List attributes","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/attributes","href":"/en/api-reference/crm-data/list-attributes"},{"title":"List flows","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/flows","href":"/en/api-reference/automations/list-flows"},{"title":"Get flow","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/flows/{flow_id}","href":"/en/api-reference/automations/get-flow"},{"title":"Get flow metrics","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/flows/{flow_id}/metrics","href":"/en/api-reference/automations/get-flow-metrics"},{"title":"Get flow builder catalog","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/flow-builder/catalog","href":"/en/api-reference/automations/get-flow-builder-catalog"},{"title":"List message templates","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/message-templates","href":"/en/api-reference/automations/list-message-templates"},{"title":"Create flow as a draft","deprecated":null,"version":null,"openapi":"/openapi.en.json post /v1/flows","href":"/en/api-reference/automations/create-flow-as-a-draft"},{"title":"Activate flow","deprecated":null,"version":null,"openapi":"/openapi.en.json post /v1/flows/{flow_id}/activate","href":"/en/api-reference/automations/activate-flow"},{"title":"List email campaigns","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/email-campaigns","href":"/en/api-reference/campaigns/list-email-campaigns"},{"title":"Get email campaign","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/email-campaigns/{email_campaign_id}","href":"/en/api-reference/campaigns/get-email-campaign"},{"title":"List WhatsApp and SMS campaigns","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/template-campaigns","href":"/en/api-reference/campaigns/list-whatsapp-and-sms-campaigns"},{"title":"Get WhatsApp or SMS campaign","description":"Returns the campaign, the templates it used, and its delivery metrics: recipients, sent, delivered, read, and failed.","deprecated":null,"version":null,"openapi":"/openapi.en.json get /v1/template-campaigns/{template_campaign_id}","href":"/en/api-reference/campaigns/get-whatsapp-or-sms-campaign"},{"title":"Create a WhatsApp Official campaign as a draft","deprecated":null,"version":null,"openapi":"/openapi.en.json post /v1/whatsapp-campaigns","href":"/en/api-reference/campaigns/create-a-whatsapp-official-campaign-as-a-draft"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/en/changelog"}]}]},{"language":"es","navbar":{"links":[{"href":"mailto:hey@bevits.com","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://app.bevits.com"}},"pages":[{"title":"es","href":"/es/overview"}]}]},"basePath":"","title":"Create a WhatsApp Official campaign as a draft - Bevits","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}