Create and Manage Templates

Use this endpoint to create a new WhatsApp message template on the platform. Templates must follow Meta’s WhatsApp Business Policy. Each template includes a name, language code, category, and components such as header, body, footer, and buttons.

Templates are made up of four primary components which you define when you create a template: header, body, footer, and buttons. The components you choose for each of your templates should be based on your business needs. The only required component is the body component.

The message template name field is limited to 512 characters. A template can only be edited when it is in a state of Approved, Rejected, or Paused. A template can be edited once per day, up to 10 times per month.

Endpoint

Headers

  • Name
    contentType
    Type
    string
    Description

    This should be set to application/json.

  • Name
    apikey
    Type
    string
    Description

    Find your API key under your login account.


Generate Header Handle

The header is an optional component of a WhatsApp template that appears at the top of the message. It can be plain text or a media element (image, video, or document). When you use a media header, the WhatsApp Business Platform requires you to provide a header handle.

A header handle is the unique ID returned by Meta after uploading media (image, video, or document) to the WhatsApp Cloud API.

Required attributes

  • Name
    file
    Type
    file
    Description

    The media file to be uploaded.

    • Supported formats: JPEG, PNG, PDF, MP4 (depending on template type).
    • Maximum file size: 5 MB for images, 16 MB for video, 100 MB for documents.
    • This file will be uploaded to Meta’s servers and return a unique media handle , which is later referenced as the header handle in a template payload.
    • Example use case: If your template header requires an image, upload the image here and use the returned media_id as the header handle.

Request

POST
   curl -P - /v1/whatsapp/generateHeaderHandle
  -H 'apikey':'string'
  -H "Content-Type: application/json" \
  -F 'file=@"postman-cloud:///1efea93e-ccdb-4110-9827-71529281e28b"'

How to create a template

Templates allow you to send pre-approved messages such as OTPs, alerts, reminders, and promotions through WhatsApp. Each template must be created, submitted, and approved before it can be used in production.

Steps to Create a Template

  1. Choose a Template Name
  • Use only lowercase letters, numbers, and underscores.
  • Example: order_update, otp_login.
  1. Select a Language
  • Templates are tied to a specific language (e.g., en_US, hi_IN).
  • You must create separate templates for each language you want to support.
  1. Pick a Category
    Categories define the type of message:
  • UTILITY – Order confirmations, shipping updates, etc.
  • MARKETING – Offers, promotions, re-engagement.
  • AUTHENTICATION – OTP, login codes, password reset.
  1. Define Components
    Templates are built using components:
  • Header (optional) – Text or media (image, video, document).
  • Body (required) – Main message text, can include placeholders ({{1}}, {{2}}).
  • Footer (optional) – Short additional note (e.g., “Thank you for shopping with us.”).
  • Buttons (optional) – Quick replies or call-to-action (URL, phone, copy code).
  1. Submit the Template via API
  • Send a POST /whatsapp/createWaTemplate request with the payload that defines your template.

Request

POST
   curl -P - /v1/whatsapp/createWaTemplate\
  -H 'apikey':'string'
  -H "Content-Type: application/json" \
  -d '{
        "name": "welcome_template",
        "category": "marketing",
        "language": "en_US",
        "wabaId": "245XXXXXXXXXXXX",
        "components": [
            {
                "type": "HEADER",
                "format": "TEXT",
                "text": "Welcome to our service"
            },

            {   
                "type" : "BODY"
                "text": "Hello {{1}}, your code is {{2}}.",
                "body_params": ["John", "123456"]
            },
            {   
                "type : "FOOTER"
                "text": "Thank you for choosing us"
            },
            {
                "type": "BUTTONS",
                "buttons": [
                {
                    "type": "PHONE_NUMBER",
                    "text": "Call",
                    "phone_number": "91XXXXXXXXXX"
                },
                {
                    "type": "URL",
                    "text": "Contact Support",
                    "url": "https://www.xyz.com/support"
                }
                ]
            }
          ]
        }'

Authentication Templates

Authentication templates are a special type of WhatsApp message template designed for OTP (One-Time Password) and login verification flows.

They allow you to send time-sensitive passcodes securely.
Authentication templates consist of:

  • Fixed preset text: <VERIFICATION_CODE> is your verification code.
  • Optional security disclaimer: For your security, do not share this code.
  • Optional expiration warning: This code expires in <NUM_MINUTES> minutes.
  • Button options: Either a one-tap autofill button, a copy code button, or no button at all if using zero-tap.


POST

Copy Code Authentication Templates

Copy code authentication templates allow you to send a one-time password or code along with a copy code button to your users.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

  • Name
    code_expiration_minutes
    Type
    integer
    Description
    • Integer value: Set to an integer if you want the code expiration footer string included in the response.
    • Optional: If omitted, the code expiration footer string will not be included.
    • Meaning: Value indicates number of minutes until code expires.
    • Range: Minimum 1, maximum 90.

Request

POST
   curl -P - /v1/whatsapp/createWaTemplate\
  -H 'apikey':'string'
  -H "Content-Type: application/json" \
  -d '{
        "name": "copy_code_auth",
        "category": "AUTHENTICATION",
        "language": "en_US",
        "wabaId": "245XXXXXXXXXXXX",
        "components": [
            {
            "type": "BODY",
            "text": "Your security code is {{1}}. Please enter it in your app to proceed.",
            "example": {
                "body_text": [["123456"]]
            }
            },
            {
            "type": "BUTTONS",
            "buttons": [
                {
                "type": "OTP",
                "otp_type": "COPY_CODE"
                }
           ]
            }
          ]
        }'

POST

Autofill Authentication Templates

This Authentication templates include a one-tap autofill button. When a WhatsApp user taps the autofill button, the WhatsApp client triggers an activity which opens your app and delivers it the password or code.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

  • Name
    code_expiration_minutes
    Type
    integer
    Description
    • Integer value: Set to an integer if you want the code expiration footer string included in the response.
    • Optional: If omitted, the code expiration footer string will not be included.
    • Meaning: Value indicates number of minutes until code expires.
    • Range: Minimum 1, maximum 90.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "auto_fill_auth",
        "category": "AUTHENTICATION",
        "language": "en_US",
        "wabaId": "245XXXXXXXXXXXX",                
        "components": [
            {
            "type": "BODY",
            "text": "Enter the auto-filled code {{1}} to verify your login.",
            "example": {
                "body_text": [["654321"]]
            }
            },
            {
            "type": "BUTTONS",
            "buttons": [
                {
                "type": "OTP",
                "otp_type": "AUTO_FILL"
                }
           ]
            }
          ]
    }'

POST

Zero-Tap Authentication Templates

Zero-tap authentication templates allow your users to receive one-time passwords or codes via WhatsApp without having to leave your app.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

  • Name
    code_expiration_minutes
    Type
    integer
    Description
    • Integer value: Set to an integer if you want the code expiration footer string included in the response.
    • Optional: If omitted, the code expiration footer string will not be included.
    • Meaning: Value indicates number of minutes until code expires.
    • Range: Minimum 1, maximum 90.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "zero_tap_auth",
        "category": "AUTHENTICATION",
        "language": "en_US",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
            "type": "BODY",
            "text": "For your security, tap to approve the login. Your device will be automatically verified.",
            "example": {
                "body_text": [[""]]
            }
            },
            {
            "type": "BUTTONS",
            "buttons": [
                {
                "type": "OTP",
                "otp_type": "ZERO_TAP"
                }
           ]
            }
          ]
        }'

Marketing Templates

Marketing templates are designed for promotional and re-engagement messages such as offers, discounts, reminders, and announcements. Unlike transactional or authentication templates, these are intended to drive customer engagement and must follow Meta’s strict compliance policies.

  • Purpose: Announce sales, share offers, send re-engagement reminders.

  • Structure:

    • Header (optional): Can be text or media (image, video, document). Often used for promotional banners.
    • Body (required): The main promotional message. Supports placeholders ({{1}}, {{2}}).
    • Footer (optional): Extra note such as terms & conditions.
    • Buttons (optional): Call-to-action (CTA) buttons such as Visit Website, Shop Now, or Call Us.
  • Compliance: Must clearly describe the offer and not be misleading.



POST

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
    "name": "summer_sale",
    "language": "en_US",
    "category": "MARKETING",
    "wabaId": "245XXXXXXXXXXXX", 
    "components": [
        {
        "type": "BODY",
        "text": "Hi {{1}}, enjoy our Summer Sale! Get up to 30% off on selected items. Shop now before {{2}}."
        }
    ]
}'

POST

Marketing Templates (Media Header + Button)

Media headers can be an image, video, or a document such as a PDF. To generate a header_handle , use our API mentioned above. The syntax for defining a media header is the same for all media types.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "new_arrivals",
        "language": "en_US",
        "category": "MARKETING",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
                "type": "HEADER",
                "format": "IMAGE",
                "example":
                    {
                        "header_handle": [
                            "4::aW1hZ2UvanBlZw==:ARYWyx-JubBUv29GVnouxxjmUVgurgt_SKTmGUyNKsCUFYJcLucJxyYNqy2Ad8YZpsCHe5OjSGzqHeZDTLDP4OAS-L_TLZUZenFVUVDA6nlXWw:e:1754639219:537247695236252:100092330856670:ARbenaiQ6LI3Bcawtt8"
                        ]
                    }
            },
            {
            "type": "BODY",
            "text": "Exciting news, {{1}}! Our new arrivals are here. Tap below to explore."
            },
            {
            "type": "BUTTONS",
            "buttons": [
                {
                "type": "URL",
                "text": "Shop Now",
                "url": "https://example.com/new-arrivals"
                }
            ]
            }
        ]
     }'

POST

Catalog Template

A Catalog Template is designed to promote products or services listed in your WhatsApp Business Catalog. It enables businesses to showcase items directly within a conversation, making it easier for customers to explore and engage with your offerings.

Purpose: Used mainly for marketing and promotion of catalog items.

Supported Components:

HEADER (optional): Can contain text or media to highlight the campaign.
BODY (required): Contains the main message and placeholders for personalization.
FOOTER (optional): Often used for branding or additional notes.

BUTTONS:

  • CATALOG: Opens the full catalog.
  • CATALOG_ITEM: Opens a specific product.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "catalog_promo_template",
        "category": "marketing",
        "allow_category_change": true,
        "language": "en",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
                "type": "HEADER",
                "format": "TEXT",
                "text": "✨ New Collection Alert!"
            },
            {
                "type": "BODY",
                "text": "Hi , check out our latest arrivals in the catalog and grab exclusive discounts.",
            },
            {
                "type": "FOOTER",
                "text": "Powered by xyz"
            },
            {
                "type": "BUTTONS",
                "buttons": [
                    { "type": "CATALOG", "text": "View Catalog" }
                ]
            }
        ]
    }'

POST

A Carousel Template allows businesses to display multiple items in a horizontal, scrollable card layout within WhatsApp. Each card can contain an image, title, description, and interactive buttons — giving users a visually rich experience to browse multiple products or services without leaving the chat.

Purpose: Best for product showcases, service comparisons, promotions, and offers.

Supported Components per Card:

  • HEADER: Usually an image or text (e.g., product photo, logo, or promo banner).
  • BODY: Product/service description (supports placeholders like {{1}}).
  • FOOTER (optional): Can contain pricing, brand tag, or additional info.
  • BUTTONS: Up to 2 buttons per card (e.g., “Buy Now”, “View Details”).

Max Cards per Carousel: 10

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "promo_carousel_template",
        "category": "marketing",
        "language": "en",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
                "type": "BODY",
                "text": "Check out our latest offers."
            },
            {
            "type": "CAROUSEL",
            "cards": [
                {
                "header": {
                    "type": "IMAGE",
                    "image_url": "https://example.com/product1.jpg"
                },
                "body": "Wireless Earbuds - High Quality Sound",
                "footer": "₹1999 only",
                "buttons": [
                    {
                        "type": "URL",
                        "text": "Buy Now",
                        "url": "https://shop.com/earbuds"
                    },
                    {
                        "type": "URL",
                        "text": "View Details",
                        "url": "https://shop.com/earbuds-info"
                    }
                ]
                },
                {
                "header": {
                    "type": "IMAGE",
                    "image_url": "https://example.com/product2.jpg"
                },
                "body": "Smart Watch - Track Fitness & Health",
                "footer": "₹4999 only",
                "buttons": [
                    {
                        "type": "URL",
                        "text": "Buy Now",
                        "url": "https://shop.com/watch"
                    },
                    {
                        "type": "URL",
                        "text": "View Details",
                        "url": "https://shop.com/watch-info"
                    }
                ]
               }
             ]
           }
        ]
    }'

POST

Flow Template

A Flow Template is designed for interactive, step-by-step user journeys inside WhatsApp. Unlike simple text or media templates, a Flow Template allows customers to complete structured processes (like filling forms, booking services, or providing feedback) directly in the chat.

Purpose: Best suited for collecting inputs, confirmations, or multi-step actions.
Supported Components:

  • HEADER (optional): Can include text to define the flow.
  • BODY (required): Introduces the flow and explains its purpose.
  • FOOTER (optional): For additional branding or disclaimers.
  • BUTTONS (required): Usually a FLOW button that launches the interactive experience.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "customer_feedback_flow",
        "category": "utility",
        "language": "en",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
                "type": "HEADER",
                "format": "TEXT",
                "text": "We value your feedback!"
            },
            {
                "type": "BODY",
                "text": "Hello , please take a moment to share your feedback using the flow form below.",
            },
            {
                "type": "FOOTER",
                "text": "Thank you for your time 🙏"
            },
            {
            "type": "BUTTONS",
            "buttons": [
                {
                    "type": "FLOW",
                    "text": "Give Feedback",
                    "flow_id": "feedback_form_001"
                }
            ]
            }
        ]
    }'

Utility Templates

Utility templates are designed for important, non-promotional customer communications.
They are primarily used to deliver transactional updates that help customers complete a process or stay informed.

  • Purpose: Provide information such as account updates, reminders, confirmations, or post-purchase notifications.

  • Allowed Content:

    • Order confirmations
    • Shipping/delivery updates
    • Appointment reminders
    • Payment receipts
  • Not Allowed: Promotional or upselling content (these belong in Marketing Templates).

  • Structure:

    • Header (optional): Text or media (e.g., logo, document like invoice).
    • Body (required): Main informational message (supports placeholders).
    • Footer (optional): Extra context or instructions.
    • Buttons (optional): Call-to-actions like Track Order, Call Support, or Pay Now.


POST

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
"name": "payment_receipt",
"language": "en_US",
"category": "UTILITY",
"wabaId": "245XXXXXXXXXXXX", 
    "components": [
        {
        "type": "BODY",
        "text": "Hi {{1}}, we have received your payment of ${{2}}. Your transaction ID is {{3}}."
        }
    ]
}'

POST

Utility Media Template (Media Header + Button)

Media headers can be an image, video, or a document such as a PDF. To generate a header_handle , use our API mentioned above. The syntax for defining a media header is the same for all media types.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
    "name": "invoice_with_button",
    "language": "en_US",
    "category": "UTILITY",
    "wabaId": "245XXXXXXXXXXXX", 
    "components": [
        {
        "type": "HEADER",
        "format": "DOCUMENT",
            "example": {
                "header_handle": [
                "4::aW1hZ2UvanBlZw==:ARYWyx-JubBUv29GVnouxxjmUVgurgt_SKTmGUyNKsCUFYJcLucJxyYNqy2Ad8YZpsCHe5OjSGzqHeZDTLDP4OAS-L_TLZUZenFVUVDA6nlXWw:e:1754639219:537247695236252:100092330856670:ARbenaiQ6LI3Bcawtt8"
                ]
            }
        }
        {
            "type": "BODY",
            "text": "Hi {{1}}, your invoice for order {{2}} is attached. Total amount: ${{3}}."
        },
        {
            "type": "FOOTER",
            "text": "Tap below to view your invoice."
        },
        {
        "type": "BUTTONS",
            "buttons": [
                {
                "type": "URL",
                "text": "View Invoice",
                "url": "https://example.com/invoices/{{2}}"
                }
            ]
        }
    ]
    }'

POST

Utility Template (Order Details)

Header (TEXT): Fixed text “Order Details”.

Body (TEXT with placeholders):

  • {{1}} → Customer Name
  • {{2}} → Order ID
  • {{3}} → Item List (dynamic text, e.g., "1x T-shirt, 2x Jeans")
  • {{4}} → Total Amount
  • {{5}} → Expected Delivery Date

Footer: Short thank-you message.

Buttons:

  • Type: ORDER_DETAILS : Special Meta button for showing order-related actions.
  • Text: Review and Pay (PHONE_NUMBER): The label displayed on the button.

Required attributes

  • Name
    name
    Type
    string
    Description

    Template name. Maximum 512 characters.

  • Name
    category
    Type
    string
    Description

    Template category.

  • Name
    wabaId
    Type
    number
    Description

    WABA ID (WhatsApp Business Account ID) is a unique identifier assigned by Meta to a WhatsApp Business Account, used to manage phone numbers, templates, and messaging activities through the API.

  • Name
    components
    Type
    Array of objects
    Description

    Components that make up the template. Templates are composed of various text, media, and interactive components, based on your business needs.

Optional attributes

  • Name
    language
    Type
    Comma-separated list
    Description

    Comma-separated list of language and locale codes of language versions you want returned.

Request

POST
curl -P - /v1/whatsapp/createWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json" \
-d '{
        "name": "order_detail_template",
        "language": "en_US",
        "category": "UTILITY",
        "wabaId": "245XXXXXXXXXXXX", 
        "components": [
            {
                "type": "HEADER",
                "format": "TEXT",
                "text": "Order Details"
            },
            {
                "type": "BODY",
                "text": "Hi {{1}}, your order {{2}} has been confirmed.\n\nItems:\n{{3}}\n\nTotal: ${{4}}.\nExpected delivery: {{5}}."
            },
            {
                "type": "FOOTER",
                "text": "Thank you for shopping with us!"
            },
            {
                "type": "BUTTONS",
                "buttons": [
                    { 
                        "type": "ORDER_DETAILS",
                         "text": "Review and Pay"
                    }
                ]
            }
        ]
    }'

POST

Get Template List

This endpoint allows you to retrieve a list of pre-approved WhatsApp message templates associated with your WhatsApp Business Account (WABA).
You can use this endpoint to fetch available templates, including those related to order details, so they can be reused when sending transactional or utility messages.

Templates typically include predefined structures like headers, bodies, footers, and buttons.
By calling this endpoint, you get visibility into all available templates under your WABA, along with their status, category, and language.

🔹 Key Use Cases

  • Validate template approval: Ensure you are using an approved template before sending a message.
  • UI integration: Display template options in your UI for selection before sending.

Request

POST
curl -P - /v1/whatsapp/waTemplateList\
-H 'apikey':'string'
-H "Content-Type: application/json"\


POST

Get Whatsapp Template By Id

This endpoint allows you to retrieve the details of a single WhatsApp template by passing its unique ID.
It is useful when you want to fetch complete information about a specific template, such as its name, category, language, components (header, body, footer, buttons), and status.

Common Use Cases

  • Preview a template before sending messages.
  • Confirm template status (approved and active).
  • Fetch exact structure (placeholders, media types, buttons) of a template for message composition.

Required attributes

  • Name
    id
    Type
    string
    Description

    The unique identifier of the template you want to fetch.

Request

POST
curl -P - /v1/whatsapp/getWaTemplate\
-H 'apikey':'string'
-H "Content-Type: application/json"\
-d '{
    "id": "1459497515392771"
}'

Was this page helpful?