v77

latestOpenAPI 3.1.0MITraw.githubusercontent.com2026-08-012528701.8 MB
WhatsApp Templates

Create a message template

Creates a message template and submits it to Meta for review. Approval typically takes from a few minutes to a few hours; poll the template's template_status until it becomes approved.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Numbers.

Learn more about API scopes.

post/api/messaging/whatsapp/templates

Request body

whatsapp_business_idstring uuid required

Universal Unique Identifier.

namestring required

The template name. Maximum 512 characters; lowercase letters, numbers, and underscores only.

languagestring required

The template language code.

category'utility' | 'marketing' | 'authentication' required

The category of a WhatsApp message template.

parameter_format'named' | 'positional' required

How a template's variable placeholders are referenced.

Example request

{
  "name": "order_update",
  "language": "en_US",
  "components": [
    {
      "type": "HEADER",
      "format": "TEXT",
      "text": "Order Update for {{1}}",
      "example": {
        "header_text": [
          "Jane Smith"
        ]
      }
    },
    {
      "type": "BODY",
      "text": "Your order {{1}} is currently {{2}}.",
      "example": {
        "body_text": [
          [
            "ORD-9821",
            "out for delivery"
          ]
        ]
      }
    },
    {
      "type": "FOOTER",
      "text": "Thank you for shopping with us."
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "QUICK_REPLY",
          "text": "Track Order"
        },
        {
          "type": "URL",
          "text": "Contact Support",
          "url": "https://example.com/support"
        }
      ]
    }
  ]
}

Response

Response returned when a template is successfully created and submitted to Meta.

idstring uuid required

Universal Unique Identifier.

namestring required

The template name. Lowercase letters, numbers, and underscores only.

category'utility' | 'marketing' | 'authentication' required

The category of a WhatsApp message template.

languagestring required

The template language code.

parameter_format'named' | 'positional' required

How a template's variable placeholders are referenced.

template_idstring required

Meta's identifier for the template.

template_status'approved' | 'archived' | 'deleted' | 'disabled' | 'flagged' | 'in_appeal' | 'limit_exceeded' | 'locked' | 'paused' | 'pending' | 'reinstated' | 'pending_deletion' | 'rejected' required

The Meta approval status of a template. A template must be approved before it can be used to send messages.

whatsapp_business_idstring uuid required

Universal Unique Identifier.

created_atstring required

The date and time when the template was created.

updated_atstring required

The date and time when the template was last updated.

discarded_atstring

The date and time when the template was discarded, if applicable.

Example response

{
  "name": "order_update",
  "components": [
    {
      "type": "BODY"
    }
  ],
  "language": "en_US",
  "template_id": "1164792772433648",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "discarded_at": "2024-01-15T10:30:00Z"
}