{ "id": "template_01k8ap1btqf5r9fq2c8ax5fhc9", "type": "transactional", "name": "Acme Receipts", "status": "draft", "channels": [ "sms" ], "variables": [ "name", "order_id" ], "variants": [ { "locale": "en", "text": "Hi {{name}}, your order {{order_id}} shipped.", "rich": { "cards": [ { "media": { "type": "image", "url": "{{image_url}}" }, "title": "Your order has shipped", "body": "Order {{order_id}} is on its way.", "footer": "Dunder Mifflin Paper Company", "buttons": [ { "type": "url", "label": "Track", "url": "https://acme.com/t/{{order_id}}" } ] } ] }, "whatsapp": { "status": "not_submitted", "category": "utility", "rejection_reason": "invalid_format", "rejection_detail": "Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them.", "rejection_recommendation": "Separate parameters with descriptive text and ensure each parameter is clearly contextualized.", "error": "<string>" } } ], "default_locale": "en", "countries": [ { "country": "ES", "monthly_volume": 5000 } ], "region_statuses": {}, "created_at": "2024-01-01T12:00:00Z"}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
Create a message template. Only name is required, and the template always lands in draft: nothing is sent with it and no registration is opened until you submit it for review.The variables of the template are read from the {{placeholder}} names in your variants, so you never set them yourself. The same goes for status and region_statuses, which follow the review and the per-country registrations. While the template is a draft, every country in region_statuses reads draft.
When channels include whatsapp, set variable_examples with one sample value per variable: WhatsApp needs them to review the template. Once we approve the template, every variant is sent to your WhatsApp Business Account for review, and the whatsapp object of each variant shows how far it is.A transactional template is submitted to WhatsApp as utility. WhatsApp can approve it as marketing instead when it finds promotional content in it, which changes its price. The whatsapp.category of each variant shows the category WhatsApp holds.
One sample value per {{variable}} of the variants. WhatsApp requires a sample for every variable to review the template, so set them on a template whose channels include whatsapp. Every key must be a variable used in the variants.
{ "id": "template_01k8ap1btqf5r9fq2c8ax5fhc9", "type": "transactional", "name": "Acme Receipts", "status": "draft", "channels": [ "sms" ], "variables": [ "name", "order_id" ], "variants": [ { "locale": "en", "text": "Hi {{name}}, your order {{order_id}} shipped.", "rich": { "cards": [ { "media": { "type": "image", "url": "{{image_url}}" }, "title": "Your order has shipped", "body": "Order {{order_id}} is on its way.", "footer": "Dunder Mifflin Paper Company", "buttons": [ { "type": "url", "label": "Track", "url": "https://acme.com/t/{{order_id}}" } ] } ] }, "whatsapp": { "status": "not_submitted", "category": "utility", "rejection_reason": "invalid_format", "rejection_detail": "Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them.", "rejection_recommendation": "Separate parameters with descriptive text and ensure each parameter is clearly contextualized.", "error": "<string>" } } ], "default_locale": "en", "countries": [ { "country": "ES", "monthly_volume": 5000 } ], "region_statuses": {}, "created_at": "2024-01-01T12:00:00Z"}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
{
"code": "invalid_phone_number",
"message": "The provided phone number is invalid. Provide a valid E.164 phone number.",
"type": "bad_request",
"request_id": "3d19215e-2991-4a05-a41a-527314e6ff6a",
"param": "phone_number"
}
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Prelude Docs","colors":{"primary":"#3D16FF","light":"#83dd05","dark":"#3a5ccc"},"logo":{"light":"https://mintcdn.com/ding/Oh9xTmLZLfeVDwbL/images/logo/light.svg?fit=max\u0026auto=format\u0026n=Oh9xTmLZLfeVDwbL\u0026q=85\u0026s=592853f53e252f58d8ca969053ecde2c","dark":"https://mintcdn.com/ding/Oh9xTmLZLfeVDwbL/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=Oh9xTmLZLfeVDwbL\u0026q=85\u0026s=b353ee028ccba0ef11d98646ada1d585"},"favicon":"https://mintcdn.com/ding/mO4m5aLNuvukvWgO/favicon.png?fit=max\u0026auto=format\u0026n=mO4m5aLNuvukvWgO\u0026q=85\u0026s=31138ef6929c5da3b6fbe480c91d653f","appearance":{"default":"system","strict":false},"background":{"decoration":"gradient","color":{"light":"#fff","dark":"#060A06"}},"navbar":{"links":[{"href":"https://prelude.so/contact","label":"Book a demo"}],"primary":{"type":"button","label":"Get started","href":"https://app.prelude.so"}},"footer":{"socials":{"x":"https://x.com/@UsePrelude","github":"https://github.com/prelude-so","linkedin":"https://www.linkedin.com/company/prelude-so"},"links":[{"header":"Pricing","items":[{"label":"Check all prices","href":"https://prelude.so/countries"},{"label":"US Prices","href":"https://prelude.so/countries/us"},{"label":"France Prices","href":"https://prelude.so/countries/fr"},{"label":"UK Prices","href":"https://prelude.so/countries/gb"},{"label":"Germany Prices","href":"https://prelude.so/countries/de"}]},{"header":"About Us","items":[{"label":"Blog","href":"https://prelude.so/blog"},{"label":"Customer Story","href":"https://prelude.so/customer-stories"},{"label":"Careers","href":"https://jobs.ashbyhq.com/Prelude"}]},{"header":"Resources","items":[{"label":"Status Page","href":"https://status.prelude.so"},{"label":"Trust Center","href":"https://trust.prelude.so/"}]}]},"seo":{"indexing":"all"},"fonts":{"family":"Inter"},"integrations":{"ga4":{"measurementId":"G-CQ4YD24X1M"},"cookies":{"key":"mint_prldc","value":"true"}},"contextual":{"options":["copy","cursor","chatgpt","claude","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ding","hasAudioNarration":false,"actualSubdomain":"ding","customDomains":["docs.prelude.so"],"gitSource":{"type":"github","owner":"ding-live","repo":"monorepo","deployBranch":"master","contentDirectory":"doc","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecac8237327199c83cf845","collectionId":"232de4d0-b1ef-4fe2-9a06-38a3fd8112aa","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecac8237327199c83cf845"},"feedback":{"thumbs":false,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aecac8237327199c83cf845","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Auth","count":185},{"language":"default","tag":"API Reference","count":152},{"language":"default","tag":"Management","count":105},{"language":"default","tag":"Documentation","count":101},{"language":"default","tag":"Frontend","count":38},{"language":"default","tag":"Verify","count":33},{"language":"default","tag":"Integration Guide","count":26},{"language":"default","tag":"Notify","count":24},{"language":"default","tag":"Watch","count":24},{"language":"default","tag":"Frontend SDKs","count":19}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@prelude.so","showHelpButton":true}},"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".update-container ul{list-style:none!important;padding-left:0!important}.update-container ul li::marker{content:none}"}],"page":{"pagePath":"notify/v2/api-reference/management/templates/create-template","slug":"/notify/v2/api-reference/management/templates/create-template","pageMetadata":{"openapi":"post /v2/notify/management/templates","title":"Create a message template","description":"Create a message template. It always lands in `draft`: nothing is sent with it and no registration is opened until you submit it for review.\n\nIn order to get access to this endpoint, contact our support team.\n","href":"/notify/v2/api-reference/management/templates/create-template"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Create a message template. It always lands in \", _jsx(_components.code, {\n children: \"draft\"\n }), \": nothing is sent with it and no registration is opened until you submit it for review.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"In order to get access to this endpoint, contact our support team.\"\n })]\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Create a message template. Only `,_jsx(_components.code,{children:`name`}),` is required, and the template always lands in `,_jsx(_components.code,{children:`draft`}),`: nothing is sent with it and no registration is opened until you `,_jsx(_components.a,{href:`/notify/v2/api-reference/management/templates/submit-template`,children:`submit it for review`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`variables`}),` of the template are read from the `,_jsx(_components.code,{children:`{{placeholder}}`}),` names in your variants, so you never set them yourself. The same goes for `,_jsx(_components.code,{children:`status`}),` and `,_jsx(_components.code,{children:`region_statuses`}),`, which follow the review and the per-country registrations. While the template is a draft, every country in `,_jsx(_components.code,{children:`region_statuses`}),` reads `,_jsx(_components.code,{children:`draft`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`whatsapp`,children:`WhatsApp`}),`\n`,_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`channels`}),` include `,_jsx(_components.code,{children:`whatsapp`}),`, set `,_jsx(_components.code,{children:`variable_examples`}),` with one sample value per variable: WhatsApp needs them to review the template. Once we approve the template, every variant is sent to your WhatsApp Business Account for review, and the `,_jsx(_components.code,{children:`whatsapp`}),` object of each variant shows how far it is.`]}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`transactional`}),` template is submitted to WhatsApp as `,_jsx(_components.code,{children:`utility`}),`. WhatsApp can approve it as `,_jsx(_components.code,{children:`marketing`}),` instead when it finds promotional content in it, which changes its price. The `,_jsx(_components.code,{children:`whatsapp.category`}),` of each variant shows the category WhatsApp holds.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v2/notify/management/templates","title":"Create a message template","description":"Create a message template. It always lands in `draft`: nothing is sent with it and no registration is opened until you submit it for review.\n\nIn order to get access to this endpoint, contact our support team.\n","href":"/notify/v2/api-reference/management/templates/create-template"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"WhatsApp","slug":"whatsapp","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Notify"],"summary":"Create a message template","description":"Create a message template. It always lands in `draft`: nothing is sent with it and no registration is opened until you submit it for review.\n\nIn order to get access to this endpoint, contact our support team.\n","operationId":"createNotifyTemplate","requestBody":"598121ac-f26e-4006-bfdd-91ea8d00a064","responses":{"201":"2011e68d-798e-4ae6-8ebd-24770ede612a","400":"7a65749f-19b5-43f1-9c29-7b7884bb00ab","403":"dbf774d8-9244-40ca-b75b-44a5ea9b6666","429":"10ce1964-2372-4e45-84dd-1c6d98b56aea"},"method":"post","type":"path","servers":["33e6bed8-2f39-470a-8eed-ee741d0b2e8f"],"security":["63baf9fa-f05d-4783-8bac-a6bf6ec7c6ec"],"path":"/v2/notify/management/templates","baseUrlOptions":["https://api.prelude.dev"],"title":"Create a message template","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The name of the template.","examples":["Acme Receipts"],"isRequired":true,"uniqueKey":"name","typeLabel":"string"},"type":{"type":"string","description":"What the template is used for. Defaults to `transactional`.","enum":["transactional","marketing"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"channels":{"type":"array","description":"The channels the template should be delivered over.","items":{"type":"string","enum":["sms","rcs","whatsapp","viber","zalo","telegram"],"uniqueKey":"channels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"channels","typeLabel":"enum\u003cstring>[]"},"variants":{"type":"array","description":"The wording of the message, one entry per locale.","items":{"type":"object","required":["locale","text"],"properties":{"locale":{"type":"string","description":"The BCP-47 locale this wording is written in.","examples":["en"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].locale","typeLabel":"string"},"text":{"type":"string","description":"The message body, with `{{variable}}` placeholders for the values you pass when sending.","examples":["Hi {{name}}, your order {{order_id}} shipped."],"isRequired":true,"uniqueKey":"variants.items.[INDEX].text","typeLabel":"string"},"rich":{"oneOf":[{"type":"object","description":"A card that RCS and WhatsApp show in place of the `text`. Other channels send the `text`. The template needs the `rcs` or `whatsapp` channel.\n\nOmit `rich` to keep the stored block; send `null` to remove it.\n","required":["cards"],"properties":{"cards":{"type":"array","description":"The cards of the message. One card sends a card; 2 to 10 cards send a carousel the user swipes through. On WhatsApp, a carousel needs a `marketing` template, and the variant `text` shows above the cards. Every card has an image or a video, of the same type on all cards, and the same buttons in the same order, 2 at most. Every card has a title or a body, or none does, 160 characters at most together. A card in a WhatsApp carousel has no footer.","minItems":1,"maxItems":10,"items":{"type":"object","description":"An image or a video, a title, a body, a footer and buttons. Each field is optional, but a card needs at least one.","properties":{"media":{"type":"object","required":["type","url"],"properties":{"type":{"type":"string","enum":["image","video"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"An https link to the image or video, or a link that starts with a `{{variable}}` you fill with an https link when sending.","examples":["{{image_url}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media.url","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media","typeLabel":"object"},"title":{"type":"string","description":"The bold line above the body. On WhatsApp, a card without media shows its title as the header, 60 characters at most and one `{{variable}}` at most; with an image or a video, the title is the first line of the body. 200 characters at most on RCS.","examples":["Your order has shipped"],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].title","typeLabel":"string"},"body":{"type":"string","description":"The text of the card. A card without a body shows the variant `text`. On WhatsApp, 1,024 characters at most, with the title when the card has an image or a video, and each `{{variable}}` once. On RCS, 2,000 characters at most, with the footer.","examples":["Order {{order_id}} is on its way."],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].body","typeLabel":"string"},"footer":{"type":"string","description":"A short line under the body, without `{{variables}}`. 60 characters at most on WhatsApp.","examples":["Dunder Mifflin Paper Company"],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].footer","typeLabel":"string"},"buttons":{"type":"array","description":"Up to 4 buttons, with at most 2 `url` buttons and 1 `call` button. `reply` buttons stay together, before or after the others.","items":{"oneOf":[{"type":"object","title":"URL button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","url"],"properties":{"type":{"type":"string","enum":["url"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Track"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.label","typeLabel":"string"},"url":{"type":"string","description":"An https link or a link that starts with a `{{variable}}`. On WhatsApp, an https link that may end with one `{{variable}}`.","examples":["https://acme.com/t/{{order_id}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.url","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0","typeLabel":"URL button · object"},{"type":"object","title":"Call button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","phone"],"properties":{"type":{"type":"string","enum":["call"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Call us"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.label","typeLabel":"string"},"phone":{"type":"string","description":"A phone number in E.164 format.","examples":["+33612345678"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.phone","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1","typeLabel":"Call button · object"},{"type":"object","title":"Reply button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","payload"],"properties":{"type":{"type":"string","enum":["reply"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Yes, it arrived"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.label","typeLabel":"string"},"payload":{"type":"string","description":"The value sent back to you when the user taps the button, 256 characters at most. It may hold `{{variables}}`. The user does not see it.","examples":["arrived:{{order_id}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.payload","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2","typeLabel":"Reply button · object"}],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX]","typeLabel":"URL button · object | Call button · object | Reply button · object"},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons","typeLabel":"(URL button · object | Call button · object | Reply button · object)[]"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards","typeLabel":"object[]"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0","typeLabel":"object"},{"type":"null","description":"A card that RCS and WhatsApp show in place of the `text`. Other channels send the `text`. The template needs the `rcs` or `whatsapp` channel.\n\nOmit `rich` to keep the stored block; send `null` to remove it.\n","uniqueKey":"variants.items.[INDEX].rich.oneOf.1","typeLabel":"null"}],"uniqueKey":"variants.items.[INDEX].rich","typeLabel":"object | null"}},"uniqueKey":"variants.items.[INDEX]","typeLabel":"object"},"uniqueKey":"variants","typeLabel":"object[]"},"default_locale":{"type":"string","description":"The locale used when the recipient's own locale has no variant. Defaults to `en`.","examples":["en"],"uniqueKey":"default_locale","typeLabel":"string"},"countries":{"type":"array","description":"The countries the template should work in.","items":{"type":"object","required":["country"],"properties":{"country":{"type":"string","description":"An ISO 3166-1 alpha-2 country code the template should work in.","examples":["ES"],"isRequired":true,"uniqueKey":"countries.items.[INDEX].country","typeLabel":"string"},"monthly_volume":{"type":"integer","description":"The number of messages you expect to send to this country each month. Required, and at least 1000, for a country that needs a sender registration.","examples":[5000],"uniqueKey":"countries.items.[INDEX].monthly_volume","typeLabel":"integer"}},"uniqueKey":"countries.items.[INDEX]","typeLabel":"object"},"uniqueKey":"countries","typeLabel":"object[]"},"variable_examples":{"type":"object","description":"One sample value per `{{variable}}` of the variants. WhatsApp requires a sample for every variable to review the template, so set them on a template whose `channels` include `whatsapp`. Every key must be a variable used in the variants.\n","additionalProperties":{"type":"string","uniqueKey":"variable_examples.additionalProperties","typeLabel":"string"},"examples":[{"name":"Ana","order_id":"A-1042"}],"uniqueKey":"variable_examples","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"Acme Receipts","channels":[],"variants":[{"locale":"en","text":"Hi {{name}}, your order {{order_id}} shipped.","rich":{"cards":[{"title":"Your order has shipped","body":"Order {{order_id}} is on its way.","footer":"Dunder Mifflin Paper Company","buttons":[{"type":"url","label":"Track","url":"https://acme.com/t/{{order_id}}"}]}]}}],"default_locale":"en","countries":[{"country":"ES","monthly_volume":5000}],"variable_examples":{"name":"Ana","order_id":"A-1042"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"2011e68d-798e-4ae6-8ebd-24770ede612a":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["id","type","name","status","channels","variables","variants","default_locale","countries","region_statuses","created_at"],"properties":{"id":{"type":"string","description":"The identifier of the template, to pass as `template_id` when sending a message.","examples":["template_01k8ap1btqf5r9fq2c8ax5fhc9"],"isRequired":true,"uniqueKey":"id","typeLabel":"string"},"type":{"type":"string","description":"What the template is used for. Possible values are:\n * `transactional` - A message triggered by an action of the recipient.\n * `marketing` - A promotional message, subject to marketing rules.\n","enum":["transactional","marketing"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"The name of the template.","examples":["Acme Receipts"],"isRequired":true,"uniqueKey":"name","typeLabel":"string"},"status":{"type":"string","description":"Where the template stands in the approval flow. Possible values are:\n * `draft` - Yours to edit. Nothing is sent with it yet.\n * `pending` - Submitted, and waiting on our review and on the per-country registrations.\n * `ready` - Approved and usable in every country you asked for.\n * `rejected` - Refused. Contact support for the reason.\n","enum":["draft","pending","ready","rejected"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"channels":{"type":"array","description":"The channels the template can be delivered over.","items":{"type":"string","enum":["sms","rcs","whatsapp","viber","zalo","telegram"],"uniqueKey":"channels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"channels","typeLabel":"enum\u003cstring>[]"},"variables":{"type":"array","description":"The placeholder names found in the variants, to fill in when sending.","items":{"type":"string","uniqueKey":"variables.items.[INDEX]","typeLabel":"string"},"examples":[["name","order_id"]],"isRequired":true,"uniqueKey":"variables","typeLabel":"string[]"},"variants":{"type":"array","description":"The wording of the message, one entry per locale.","items":{"type":"object","required":["locale","text"],"properties":{"locale":{"type":"string","description":"The BCP-47 locale this wording is written in.","examples":["en"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].locale","typeLabel":"string"},"text":{"type":"string","description":"The message body, with `{{variable}}` placeholders for the values you pass when sending.","examples":["Hi {{name}}, your order {{order_id}} shipped."],"isRequired":true,"uniqueKey":"variants.items.[INDEX].text","typeLabel":"string"},"rich":{"oneOf":[{"type":"object","description":"A card that RCS and WhatsApp show in place of the `text`. Other channels send the `text`. The template needs the `rcs` or `whatsapp` channel.\n\nOmit `rich` to keep the stored block; send `null` to remove it.\n","required":["cards"],"properties":{"cards":{"type":"array","description":"The cards of the message. One card sends a card; 2 to 10 cards send a carousel the user swipes through. On WhatsApp, a carousel needs a `marketing` template, and the variant `text` shows above the cards. Every card has an image or a video, of the same type on all cards, and the same buttons in the same order, 2 at most. Every card has a title or a body, or none does, 160 characters at most together. A card in a WhatsApp carousel has no footer.","minItems":1,"maxItems":10,"items":{"type":"object","description":"An image or a video, a title, a body, a footer and buttons. Each field is optional, but a card needs at least one.","properties":{"media":{"type":"object","required":["type","url"],"properties":{"type":{"type":"string","enum":["image","video"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"An https link to the image or video, or a link that starts with a `{{variable}}` you fill with an https link when sending.","examples":["{{image_url}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media.url","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].media","typeLabel":"object"},"title":{"type":"string","description":"The bold line above the body. On WhatsApp, a card without media shows its title as the header, 60 characters at most and one `{{variable}}` at most; with an image or a video, the title is the first line of the body. 200 characters at most on RCS.","examples":["Your order has shipped"],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].title","typeLabel":"string"},"body":{"type":"string","description":"The text of the card. A card without a body shows the variant `text`. On WhatsApp, 1,024 characters at most, with the title when the card has an image or a video, and each `{{variable}}` once. On RCS, 2,000 characters at most, with the footer.","examples":["Order {{order_id}} is on its way."],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].body","typeLabel":"string"},"footer":{"type":"string","description":"A short line under the body, without `{{variables}}`. 60 characters at most on WhatsApp.","examples":["Dunder Mifflin Paper Company"],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].footer","typeLabel":"string"},"buttons":{"type":"array","description":"Up to 4 buttons, with at most 2 `url` buttons and 1 `call` button. `reply` buttons stay together, before or after the others.","items":{"oneOf":[{"type":"object","title":"URL button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","url"],"properties":{"type":{"type":"string","enum":["url"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Track"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.label","typeLabel":"string"},"url":{"type":"string","description":"An https link or a link that starts with a `{{variable}}`. On WhatsApp, an https link that may end with one `{{variable}}`.","examples":["https://acme.com/t/{{order_id}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0.url","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.0","typeLabel":"URL button · object"},{"type":"object","title":"Call button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","phone"],"properties":{"type":{"type":"string","enum":["call"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Call us"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.label","typeLabel":"string"},"phone":{"type":"string","description":"A phone number in E.164 format.","examples":["+33612345678"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1.phone","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.1","typeLabel":"Call button · object"},{"type":"object","title":"Reply button","description":"A button of the card. Its `type` names the one target it holds; a field of another type is refused.","required":["type","label","payload"],"properties":{"type":{"type":"string","enum":["reply"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"The text on the button, 25 characters at most, without `{{variables}}`.","examples":["Yes, it arrived"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.label","typeLabel":"string"},"payload":{"type":"string","description":"The value sent back to you when the user taps the button, 256 characters at most. It may hold `{{variables}}`. The user does not see it.","examples":["arrived:{{order_id}}"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2.payload","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX].oneOf.2","typeLabel":"Reply button · object"}],"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons.items.[INDEX]","typeLabel":"URL button · object | Call button · object | Reply button · object"},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX].buttons","typeLabel":"(URL button · object | Call button · object | Reply button · object)[]"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"variants.items.[INDEX].rich.oneOf.0.cards","typeLabel":"object[]"}},"uniqueKey":"variants.items.[INDEX].rich.oneOf.0","typeLabel":"object"},{"type":"null","description":"A card that RCS and WhatsApp show in place of the `text`. Other channels send the `text`. The template needs the `rcs` or `whatsapp` channel.\n\nOmit `rich` to keep the stored block; send `null` to remove it.\n","uniqueKey":"variants.items.[INDEX].rich.oneOf.1","typeLabel":"null"}],"uniqueKey":"variants.items.[INDEX].rich","typeLabel":"object | null"},"whatsapp":{"type":"object","description":"Where this language stands on WhatsApp. Present only on a template whose `channels` include `whatsapp`.\n\nOnce we approve the template, each language is sent to WhatsApp for review. WhatsApp reviews every language on its own, usually within minutes and sometimes up to a few days.\n","required":["status"],"properties":{"status":{"type":"string","description":"Possible values are:\n * `not_submitted` - Not sent to WhatsApp yet. A template is sent once we approve it.\n * `pending` - WhatsApp is reviewing this language.\n * `approved` - WhatsApp approved this language. Messages can be sent with it.\n * `rejected` - WhatsApp rejected this language. See `rejection_reason`. Fix the `text` or `rich` of this variant with an update, and it is sent back for review.\n * `paused` - WhatsApp paused this language after poor recipient feedback.\n * `disabled` - WhatsApp no longer sends this language.\n * `sync_failed` - The language could not be sent to WhatsApp. See `error`.\n","enum":["not_submitted","pending","approved","rejected","paused","disabled","sync_failed"],"isRequired":true,"uniqueKey":"variants.items.[INDEX].whatsapp.status","typeLabel":"enum\u003cstring>"},"category":{"type":"string","description":"The category WhatsApp holds for this language, which sets its price. A `transactional` template is submitted as `utility`, but WhatsApp approves it as `marketing` when it finds promotional content in it.\n","enum":["utility","marketing","authentication"],"uniqueKey":"variants.items.[INDEX].whatsapp.category","typeLabel":"enum\u003cstring>"},"rejection_reason":{"type":"string","description":"WhatsApp's reason for a rejection, such as `invalid_format`, `incorrect_category`, `promotional` or `abusive_content`. Set only with the `rejected` status.","examples":["invalid_format"],"uniqueKey":"variants.items.[INDEX].whatsapp.rejection_reason","typeLabel":"string"},"rejection_detail":{"type":"string","description":"WhatsApp's explanation of the rejection. WhatsApp sends one for `invalid_format` only.","examples":["Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them."],"uniqueKey":"variants.items.[INDEX].whatsapp.rejection_detail","typeLabel":"string"},"rejection_recommendation":{"type":"string","description":"WhatsApp's advice to fix the rejection. WhatsApp sends one for `invalid_format` only.","examples":["Separate parameters with descriptive text and ensure each parameter is clearly contextualized."],"uniqueKey":"variants.items.[INDEX].whatsapp.rejection_recommendation","typeLabel":"string"},"error":{"type":"string","description":"Why the language could not be sent to WhatsApp. Set only with the `sync_failed` status.","uniqueKey":"variants.items.[INDEX].whatsapp.error","typeLabel":"string"}},"uniqueKey":"variants.items.[INDEX].whatsapp","typeLabel":"object"}},"uniqueKey":"variants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"variants","typeLabel":"object[]"},"default_locale":{"type":"string","description":"The locale used when the recipient's own locale has no variant.","examples":["en"],"isRequired":true,"uniqueKey":"default_locale","typeLabel":"string"},"countries":{"type":"array","description":"The countries the template works in, with the monthly volume recorded for each.","items":{"type":"object","required":["country"],"properties":{"country":{"type":"string","description":"An ISO 3166-1 alpha-2 country code the template should work in.","examples":["ES"],"isRequired":true,"uniqueKey":"countries.items.[INDEX].country","typeLabel":"string"},"monthly_volume":{"type":"integer","description":"The number of messages you expect to send to this country each month. Required, and at least 1000, for a country that needs a sender registration.","examples":[5000],"uniqueKey":"countries.items.[INDEX].monthly_volume","typeLabel":"integer"}},"uniqueKey":"countries.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"countries","typeLabel":"object[]"},"region_statuses":{"type":"object","description":"The readiness of the template per country, keyed by ISO 3166-1 alpha-2 country code.","additionalProperties":{"type":"object","required":["status","requires_registration"],"properties":{"status":{"type":"string","description":"How far this country is from being usable with the template. Possible values are:\n * `draft` - The template is still a draft, so nothing is sent with it in this country yet.\n * `pending` - Registration is needed in this country and is not ready yet.\n * `in_review` - The template was submitted and is being reviewed, along with the registration this country needs.\n * `ready` - The template can be used in this country.\n * `rejected` - The template was refused. Contact support for the reason.\n","enum":["draft","pending","in_review","ready","rejected"],"isRequired":true,"uniqueKey":"region_statuses.additionalProperties.status","typeLabel":"enum\u003cstring>"},"requires_registration":{"type":"boolean","description":"Whether this country needs a sender registration before the template can be used there.","examples":[true],"isRequired":true,"uniqueKey":"region_statuses.additionalProperties.requires_registration","typeLabel":"boolean"}},"uniqueKey":"region_statuses.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"region_statuses","typeLabel":"object"},"created_at":{"type":"string","format":"date-time","description":"The date and time when the template was created.","examples":["2024-01-01T12:00:00Z"],"isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"template_01k8ap1btqf5r9fq2c8ax5fhc9","type":"transactional","name":"Acme Receipts","status":"draft","channels":["sms"],"variables":["name","order_id"],"variants":[{"locale":"en","text":"Hi {{name}}, your order {{order_id}} shipped.","rich":{"cards":[{"media":{"type":"image","url":"{{image_url}}"},"title":"Your order has shipped","body":"Order {{order_id}} is on its way.","footer":"Dunder Mifflin Paper Company","buttons":[{"type":"url","label":"Track","url":"https://acme.com/t/{{order_id}}"}]}]},"whatsapp":{"status":"not_submitted","category":"utility","rejection_reason":"invalid_format","rejection_detail":"Your template has parameters placed next to each other (like {{1}}{{2}}) without text or punctuation between them.","rejection_recommendation":"Separate parameters with descriptive text and ensure each parameter is clearly contextualized.","error":"\u003cstring>"}}],"default_locale":"en","countries":[{"country":"ES","monthly_volume":5000}],"region_statuses":{},"created_at":"2024-01-01T12:00:00Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"7a65749f-19b5-43f1-9c29-7b7884bb00ab":{"description":"KO","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code.","examples":["invalid_phone_number"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","examples":["The provided phone number is invalid. Provide a valid E.164 phone number."],"description":"A human-readable message describing the error.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"type":{"type":"string","examples":["bad_request"],"description":"The error type.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"request_id":{"type":"string","examples":["3d19215e-2991-4a05-a41a-527314e6ff6a"],"description":"A string that identifies this specific request. Report it back to us to help us diagnose your issues.","uniqueKey":"request_id","typeLabel":"string"},"param":{"type":"string","examples":["phone_number"],"description":"The parameter the error refers to, when it applies to a single one.","uniqueKey":"param","typeLabel":"string"}},"required":["code","message","type"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_phone_number","message":"The provided phone number is invalid. Provide a valid E.164 phone number.","type":"bad_request","request_id":"3d19215e-2991-4a05-a41a-527314e6ff6a","param":"phone_number"}}},"exampleType":"generated"}},"exampleType":"generated"},"dbf774d8-9244-40ca-b75b-44a5ea9b6666":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code.","examples":["invalid_phone_number"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","examples":["The provided phone number is invalid. Provide a valid E.164 phone number."],"description":"A human-readable message describing the error.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"type":{"type":"string","examples":["bad_request"],"description":"The error type.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"request_id":{"type":"string","examples":["3d19215e-2991-4a05-a41a-527314e6ff6a"],"description":"A string that identifies this specific request. Report it back to us to help us diagnose your issues.","uniqueKey":"request_id","typeLabel":"string"},"param":{"type":"string","examples":["phone_number"],"description":"The parameter the error refers to, when it applies to a single one.","uniqueKey":"param","typeLabel":"string"}},"required":["code","message","type"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_phone_number","message":"The provided phone number is invalid. Provide a valid E.164 phone number.","type":"bad_request","request_id":"3d19215e-2991-4a05-a41a-527314e6ff6a","param":"phone_number"}}},"exampleType":"generated"}},"exampleType":"generated"},"10ce1964-2372-4e45-84dd-1c6d98b56aea":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code.","examples":["invalid_phone_number"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","examples":["The provided phone number is invalid. Provide a valid E.164 phone number."],"description":"A human-readable message describing the error.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"type":{"type":"string","examples":["bad_request"],"description":"The error type.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"request_id":{"type":"string","examples":["3d19215e-2991-4a05-a41a-527314e6ff6a"],"description":"A string that identifies this specific request. Report it back to us to help us diagnose your issues.","uniqueKey":"request_id","typeLabel":"string"},"param":{"type":"string","examples":["phone_number"],"description":"The parameter the error refers to, when it applies to a single one.","uniqueKey":"param","typeLabel":"string"}},"required":["code","message","type"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_phone_number","message":"The provided phone number is invalid. Provide a valid E.164 phone number.","type":"bad_request","request_id":"3d19215e-2991-4a05-a41a-527314e6ff6a","param":"phone_number"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"63baf9fa-f05d-4783-8bac-a6bf6ec7c6ec":{"apiToken":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"apiToken"}}},"servers":{"33e6bed8-2f39-470a-8eed-ee741d0b2e8f":{"url":"https://api.prelude.dev","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"apiToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiToken","name":"Authorization"}],"title":"apiToken"}]},"originalFileLocation":"api-reference/v2.yml"},"subdomain":"ding","siteName":"Prelude Docs","title":"Create a message template - Prelude Docs","navMaps":{"firstHrefInVersion":{"v2":{"href":"/notify/v2/api-reference/management/templates/create-template","matchLevel":0},"v1 (Legacy)":{"href":"/intel/v1/documentation/errors","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-09T15:35:45.155Z","originalFileLocation":"notify/v2/api-reference/management/templates/create-template.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=\"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=\"Create a message template. It always lands in draft: nothing is sent with it and no registration is opened until you submit it for review. In order to get access to this endpoint, contact our support team.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Prelude Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_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/ding/XcVFWlvRbYgvqL60/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a message template - Prelude Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a message template. It always lands in draft: nothing is sent with it and no registration is opened until you submit it for review. In order to get access to this endpoint, contact our support team.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Prelude Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ding.mintlify.site/_mintlify/api/og/v2?division=Templates\u0026amp;title=Create+a+message+template\u0026amp;description=Create+a+message+template.+It+always+lands+in+%60draft%60%3A+nothing+is+sent+with+it+and+no+registration+is+opened+until+you+submit+it+for+review.%0A%0AIn+order+to+get+ac\u0026amp;theme=6928357f80dea69981b41e48\u0026amp;signature=ec95607e3ced0ad4cf8df8abbbe5242c0145f3ce730f4b5266ec2f780e741b9a\">\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 message template - Prelude Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a message template. It always lands in draft: nothing is sent with it and no registration is opened until you submit it for review. In order to get access to this endpoint, contact our support team.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ding.mintlify.site/_mintlify/api/og/v2?division=Templates\u0026amp;title=Create+a+message+template\u0026amp;description=Create+a+message+template.+It+always+lands+in+%60draft%60%3A+nothing+is+sent+with+it+and+no+registration+is+opened+until+you+submit+it+for+review.%0A%0AIn+order+to+get+ac\u0026amp;theme=6928357f80dea69981b41e48\u0026amp;signature=ec95607e3ced0ad4cf8df8abbbe5242c0145f3ce730f4b5266ec2f780e741b9a\">\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/ding/XcVFWlvRbYgvqL60/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Prelude Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3D16FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/notify/v2/api-reference/management/templates/create-template.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.prelude.so/#organization\",\"name\":\"Prelude Docs\",\"url\":\"https://docs.prelude.so\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ding/Oh9xTmLZLfeVDwbL/images/logo/light.svg?fit=max\u0026auto=format\u0026n=Oh9xTmLZLfeVDwbL\u0026q=85\u0026s=592853f53e252f58d8ca969053ecde2c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.prelude.so#website\",\"name\":\"Prelude Docs\",\"url\":\"https://docs.prelude.so\",\"publisher\":{\"@id\":\"https://docs.prelude.so/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template#webpage\",\"url\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template\",\"name\":\"Create a message template\",\"description\":\"Create a message template. It always lands in draft: nothing is sent with it and no registration is opened until you submit it for review. In order to get access to this endpoint, contact our support team.\",\"dateModified\":\"2026-10-09T15:35:45.155Z\",\"isPartOf\":{\"@id\":\"https://docs.prelude.so#website\"},\"breadcrumb\":{\"@id\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.prelude.so/notify/v2/api-reference/send-a-message\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Management\",\"item\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/list-templates\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Templates\",\"item\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/list-templates\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create a message template\",\"item\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template#apireference\",\"headline\":\"Create a message template\",\"name\":\"Create a message template\",\"description\":\"Create a message template. It always lands in draft: nothing is sent with it and no registration is opened until you submit it for review. In order to get access to this endpoint, contact our support team.\",\"url\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template\",\"mainEntityOfPage\":{\"@id\":\"https://docs.prelude.so/notify/v2/api-reference/management/templates/create-template#webpage\"},\"dateModified\":\"2026-10-09T15:35:45.155Z\",\"publisher\":{\"@id\":\"https://docs.prelude.so/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.prelude.so#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Prelude Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Prelude Docs","nav":{"global":null,"anchors":[{"anchor":"Overview","pages":[{"title":"Overview","href":"/introduction/welcome-to-prelude"}]},{"anchor":"Verify","icon":"fingerprint","versions":[{"version":"v2","pages":[{"group":"Documentation","pages":[{"title":"Introduction to Verify","sidebarTitle":"Introduction","icon":"fingerprint","href":"/verify/v2/documentation/introduction"},{"title":"Quickstart","icon":"circle-bolt","href":"/verify/v2/documentation/quickstart"},{"title":"Verification Lifecycle","icon":"arrow-progress","sidebarTitle":"Verification Lifecycle","href":"/verify/v2/documentation/lifecycle"},{"title":"Prevent Fraud","icon":"binoculars","href":"/verify/v2/documentation/prevent-fraud"},{"title":"Fraud Protection Settings","icon":"sliders","href":"/verify/v2/documentation/fraud-protection-settings"},{"title":"Message Content","sidebarTitle":"Message Content","icon":"message-pen","href":"/verify/v2/documentation/content"},{"title":"Custom Sender IDs","sidebarTitle":"Custom Sender IDs","icon":"message-smile","href":"/verify/v2/documentation/sender-id"},{"title":"Connect your WhatsApp Business Account to Prelude","sidebarTitle":"WhatsApp BSP","icon":"whatsapp","href":"/verify/v2/documentation/whatsapp"},{"title":"Webhook for the Verify API","sidebarTitle":"Webhook","icon":"webhook","href":"/verify/v2/documentation/webhook"},{"title":"Test Numbers","sidebarTitle":"Test Numbers","icon":"vial-circle-check","href":"/verify/v2/documentation/testing"},{"title":"Silent Verification","sidebarTitle":"Silent Verification","icon":"message-slash","href":"/verify/v2/documentation/silent-verification"},{"title":"Email Verification","sidebarTitle":"Email Verification","icon":"envelope","href":"/verify/v2/documentation/email-verification"},{"group":"Integrations","icon":"pipe-circle-check","pages":[{"title":"Prelude API v2 and Firebase Auth integration","sidebarTitle":"Firebase","icon":"dot","href":"/verify/v2/documentation/integrations/firebase"},{"title":"Integrate Prelude with Supabase phone authentication","sidebarTitle":"Supabase","icon":"dot","href":"/verify/v2/documentation/integrations/supabase"},{"title":"Integrate Prelude with Auth0 for phone verification","sidebarTitle":"Auth0","icon":"dot","href":"/verify/v2/documentation/integrations/auth0"}]}]},{"group":"API Reference","pages":[{"openapi":"post /v2/verification","title":"Create or retry a verification","href":"/verify/v2/api-reference/create-or-retry-a-verification"},{"openapi":"post /v2/verification/check","title":"Check a code","href":"/verify/v2/api-reference/check-a-code"},{"group":"History","icon":"table-list","pages":[{"openapi":"get /v2/verification/phone/history","title":"List phone verifications","href":"/verify/v2/api-reference/history/list-phone-verifications"},{"openapi":"get /v2/verification/phone/history/{id}","title":"Get a phone verification","href":"/verify/v2/api-reference/history/get-a-phone-verification"}]},{"group":"Management","icon":"wrench","pages":[{"title":"Overview","sidebarTitle":"Overview","icon":"wrench","href":"/verify/v2/api-reference/management/overview"},{"group":"Sender ID","pages":[{"openapi":"get /v2/verification/management/sender-id","title":"List available Sender IDs","href":"/verify/v2/api-reference/management/sender-id/list-sender-ids"},{"openapi":"post /v2/verification/management/sender-id","title":"Submit a sender ID","href":"/verify/v2/api-reference/management/sender-id/submit-sender-id"}]},{"group":"Phone Number","pages":[{"openapi":"get /v2/verification/management/phone-numbers/{action}","title":"Get phone numbers allow or block list","href":"/verify/v2/api-reference/management/phone-numbers/get-phone-numbers"},{"openapi":"post /v2/verification/management/phone-numbers/{action}","title":"Add phone number to allow or block list","href":"/verify/v2/api-reference/management/phone-numbers/add-phone-number"},{"openapi":"delete /v2/verification/management/phone-numbers/{action}","title":"Delete phone number from allow or block list","href":"/verify/v2/api-reference/management/phone-numbers/delete-phone-number"}]},{"group":"Templates","pages":[{"openapi":"get /v2/verification/management/templates","title":"List OTP templates","href":"/verify/v2/api-reference/management/templates/list-templates"},{"openapi":"post /v2/verification/management/templates","title":"Create an OTP template","href":"/verify/v2/api-reference/management/templates/create-template"},{"openapi":"get /v2/verification/management/templates/{template_id}","title":"Retrieve an OTP template","href":"/verify/v2/api-reference/management/templates/get-template"},{"openapi":"patch /v2/verification/management/templates/{template_id}","title":"Update an OTP template","href":"/verify/v2/api-reference/management/templates/update-template"},{"openapi":"delete /v2/verification/management/templates/{template_id}","title":"Delete an OTP template","href":"/verify/v2/api-reference/management/templates/delete-template"}]},{"group":"Sandboxed Numbers","pages":[{"openapi":"get /v2/verification/management/phone-numbers/sandbox","title":"Get sandbox phone numbers","href":"/verify/v2/api-reference/management/phone-numbers/sandbox/get-sandbox-phone-numbers"},{"openapi":"put /v2/verification/management/phone-numbers/sandbox","title":"Add a sandbox phone number","href":"/verify/v2/api-reference/management/phone-numbers/sandbox/add-sandbox-phone-number"},{"openapi":"delete /v2/verification/management/phone-numbers/sandbox/{phone_number}","title":"Delete a sandbox phone number","href":"/verify/v2/api-reference/management/phone-numbers/sandbox/delete-sandbox-phone-number"}]}]}]}]}]},{"anchor":"Auth","icon":"tickets","pages":[{"title":"Auth","href":"/auth/documentation/introduction"}]},{"anchor":"Watch","icon":"radar","versions":[{"version":"v2","pages":[{"group":"Documentation","pages":[{"title":"Introduction to Watch","sidebarTitle":"Introduction","icon":"radar","href":"/watch/v2/documentation/introduction"},{"title":"Rules, recipes, and flows","sidebarTitle":"Rules, recipes \u0026 flows","icon":"sliders","tag":"BETA","href":"/watch/v2/documentation/rules-recipes-flows"}]},{"group":"API Reference","pages":[{"openapi":"post /v2/watch/predict","title":"Predict the outcome of a verification","sidebarTitle":"Predict outcome","href":"/watch/v2/api-reference/predict-outcome"},{"openapi":"post /v2/watch/eval","title":"Evaluate a flow against your rules","sidebarTitle":"Evaluate a flow","tag":"BETA","href":"/watch/v2/api-reference/evaluate-flow"},{"openapi":"post /v2/watch/feedback","title":"Send feedbacks about verifications","sidebarTitle":"Send feedbacks","href":"/watch/v2/api-reference/send-feedbacks"},{"openapi":"post /v2/watch/event","title":"Dispatch real-time events","sidebarTitle":"Dispatch events","href":"/watch/v2/api-reference/dispatch-events"}]},{"group":"Management API","pages":[{"group":"Rules","pages":[{"openapi":"get /v2/watch/management/rules","title":"List the rules you authored","sidebarTitle":"List rules","tag":"BETA","href":"/watch/v2/api-reference/management/rules/list-rules"},{"openapi":"post /v2/watch/management/rules","title":"Author a rule","sidebarTitle":"Create rule","tag":"BETA","href":"/watch/v2/api-reference/management/rules/create-rule"},{"openapi":"get /v2/watch/management/rules/{rule_id}","title":"Get one of your rules","sidebarTitle":"Get rule","tag":"BETA","href":"/watch/v2/api-reference/management/rules/get-rule"},{"openapi":"put /v2/watch/management/rules/{rule_id}","title":"Update a rule","sidebarTitle":"Update rule","tag":"BETA","href":"/watch/v2/api-reference/management/rules/update-rule"},{"openapi":"delete /v2/watch/management/rules/{rule_id}","title":"Delete a rule","sidebarTitle":"Delete rule","tag":"BETA","href":"/watch/v2/api-reference/management/rules/delete-rule"},{"openapi":"get /v2/watch/management/rules/managed","title":"List the rules Prelude maintains","sidebarTitle":"List managed rules","tag":"BETA","href":"/watch/v2/api-reference/management/rules/list-managed-rules"},{"openapi":"get /v2/watch/management/rules/catalog","title":"List the signals a rule can read","sidebarTitle":"List signals","tag":"BETA","href":"/watch/v2/api-reference/management/rules/list-signals"}]},{"group":"Recipes","pages":[{"openapi":"get /v2/watch/management/recipes","title":"List your recipes","sidebarTitle":"List recipes","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/list-recipes"},{"openapi":"get /v2/watch/management/recipes/managed","title":"List the recipes Prelude maintains","sidebarTitle":"List managed recipes","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/list-managed-recipes"},{"openapi":"post /v2/watch/management/recipes","title":"Assemble rules into a scored decision","sidebarTitle":"Create recipe","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/create-recipe"},{"openapi":"get /v2/watch/management/recipes/{recipe_id}","title":"Get a recipe","sidebarTitle":"Get recipe","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/get-recipe"},{"openapi":"put /v2/watch/management/recipes/{recipe_id}","title":"Update a recipe","sidebarTitle":"Update recipe","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/update-recipe"},{"openapi":"delete /v2/watch/management/recipes/{recipe_id}","title":"Delete a recipe","sidebarTitle":"Delete recipe","tag":"BETA","href":"/watch/v2/api-reference/management/recipes/delete-recipe"}]},{"group":"Flows","pages":[{"openapi":"get /v2/watch/management/flows","title":"List your flows","sidebarTitle":"List flows","tag":"BETA","href":"/watch/v2/api-reference/management/flows/list-flows"},{"openapi":"post /v2/watch/management/flows","title":"Define a moment to guard","sidebarTitle":"Create flow","tag":"BETA","href":"/watch/v2/api-reference/management/flows/create-flow"},{"openapi":"get /v2/watch/management/flows/{flow_id}","title":"Get a flow","sidebarTitle":"Get flow","tag":"BETA","href":"/watch/v2/api-reference/management/flows/get-flow"},{"openapi":"put /v2/watch/management/flows/{flow_id}","title":"Update a flow","sidebarTitle":"Update flow","tag":"BETA","href":"/watch/v2/api-reference/management/flows/update-flow"},{"openapi":"delete /v2/watch/management/flows/{flow_id}","title":"Delete a flow","sidebarTitle":"Delete flow","tag":"BETA","href":"/watch/v2/api-reference/management/flows/delete-flow"}]}]}]}]},{"anchor":"Intel","icon":"telescope","versions":[{"version":"v2","pages":[{"group":"Documentation","pages":[{"title":"Introduction to Intel","sidebarTitle":"Introduction","icon":"telescope","href":"/intel/v2/documentation/introduction"}]},{"group":"API Reference","pages":[{"openapi":"get /v2/lookup/{phone_number}","title":"Lookup a phone number","sidebarTitle":"Lookup a number","href":"/intel/v2/api-reference/lookup-a-number"},{"openapi":"post /v2/intel/kyc/match/{phone}","title":"KYC Match","sidebarTitle":"KYC Match","href":"/intel/v2/api-reference/kyc-match"}]}]},{"version":"v1 (Legacy)","pages":[{"title":"v1 (Legacy)","href":"/intel/v1/documentation/errors"}]}]},{"anchor":"Notify","icon":"comment-dots","versions":[{"version":"v2","pages":[{"group":"Documentation","pages":[{"title":"Introduction to Notify","sidebarTitle":"Introduction","icon":"comment-dots","href":"/notify/v2/documentation/introduction"},{"title":"2-Way Messaging with WhatsApp","sidebarTitle":"WhatsApp 2-Way","icon":"whatsapp","href":"/notify/v2/documentation/whatsapp"},{"title":"Send images, videos, and documents on WhatsApp","sidebarTitle":"WhatsApp Media","icon":"whatsapp","href":"/notify/v2/documentation/whatsapp-media"},{"title":"2-Way Messaging with RCS","sidebarTitle":"RCS 2-Way","icon":"comments","href":"/notify/v2/documentation/rcs"},{"title":"Webhook for the Notify API","sidebarTitle":"Webhook","icon":"webhook","href":"/notify/v2/documentation/webhook"},{"title":"Marketing Compliance Rules","sidebarTitle":"Marketing Compliance","icon":"shield-check","href":"/notify/v2/documentation/marketing-compliance"},{"title":"SMS Opt-in for the US and Canada","sidebarTitle":"US \u0026 Canada Opt-in","icon":"square-check","href":"/notify/v2/documentation/us-canada-opt-in"},{"title":"Subscription Management","sidebarTitle":"Subscription Management","icon":"user-group","href":"/notify/v2/documentation/subscription-management"},{"title":"Message Scheduling","sidebarTitle":"Scheduling","icon":"clock","href":"/notify/v2/documentation/scheduling"},{"title":"Supported Locales","sidebarTitle":"Supported Locales","icon":"language","href":"/notify/v2/documentation/supported-locales"}]},{"group":"API Reference","pages":[{"openapi":"post /v2/notify","title":"Send a message","href":"/notify/v2/api-reference/send-a-message"},{"openapi":"post /v2/notify/batch","title":"Send bulk messages","href":"/notify/v2/api-reference/send-bulk-messages"},{"openapi":"post /v2/notify/reply","title":"Reply to an inbound message","href":"/notify/v2/api-reference/send-a-reply"},{"openapi":"get /v2/notify/inbound/{message_id}/media","title":"Download an inbound file","href":"/notify/v2/api-reference/download-inbound-media"},{"group":"Management","icon":"wrench","pages":[{"group":"Templates","pages":[{"openapi":"get /v2/notify/management/templates","title":"List message templates","description":"Retrieve the message templates registered on your account, with their approval status and their per-country readiness.\n\nResults are paginated: pass `next_cursor` back as `cursor` to get the following page.\n\nIn order to get access to this endpoint, contact our support team.\n","href":"/notify/v2/api-reference/management/templates/list-templates"},{"openapi":"post /v2/notify/management/templates","title":"Create a message template","href":"/notify/v2/api-reference/management/templates/create-template"},{"openapi":"get /v2/notify/management/templates/{template_id}","title":"Retrieve a message template","description":"Retrieve a single message template, with its approval status and its per-country readiness.\n\nIn order to get access to this endpoint, contact our support team.\n","href":"/notify/v2/api-reference/management/templates/get-template"},{"openapi":"patch /v2/notify/management/templates/{template_id}","title":"Update a message template","href":"/notify/v2/api-reference/management/templates/update-template"},{"openapi":"delete /v2/notify/management/templates/{template_id}","title":"Delete a message template","href":"/notify/v2/api-reference/management/templates/delete-template"},{"openapi":"post /v2/notify/management/templates/{template_id}/submit","title":"Submit a message template for review","href":"/notify/v2/api-reference/management/templates/submit-template"}]},{"group":"Subscriptions","pages":[{"openapi":"get /v2/notify/management/subscriptions","title":"List subscription configurations","href":"/notify/v2/api-reference/management/subscriptions/list-subscription-configs"},{"openapi":"get /v2/notify/management/subscriptions/{config_id}/phone_numbers","title":"List subscription phone numbers","href":"/notify/v2/api-reference/management/subscriptions/list-subscription-phone-numbers"},{"openapi":"get /v2/notify/management/subscriptions/{config_id}/phone_numbers/{phone_number}","title":"Get subscription phone number status","href":"/notify/v2/api-reference/management/subscriptions/get-subscription-phone-number"},{"openapi":"get /v2/notify/management/subscriptions/{config_id}/phone_numbers/{phone_number}/events","title":"List subscription phone number events","href":"/notify/v2/api-reference/management/subscriptions/list-subscription-phone-number-events"}]}]}]}]}]}]},"basePath":"","title":"Create a message template - Prelude Docs","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CxAy5y67.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}