brevo WhatsApp Templates API

Create and manage WhatsApp message templates that require Meta approval before use.

Operations 3

POST /whatsappCampaigns/template Create a WhatsApp template #
GET /whatsappCampaigns/template-list Return all WhatsApp templates #
POST /whatsappCampaigns/template/approval/{templateId} Send a WhatsApp template for approval #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/brevo-whatsapp-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

brevo-whatsapp-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brevo Contacts Agent Status WhatsApp Templates API
  description: The Brevo Contacts API provides programmatic access to contact management features including creating, updating, and deleting contacts. Developers can organize contacts into lists, apply attributes and tags, import contacts in bulk, and build audience segments for targeted campaigns. The API also supports managing folders, contact attributes, and custom fields to structure contact data according to business needs.
  version: '3.0'
  contact:
    name: Brevo Support
    url: https://help.brevo.com
  termsOfService: https://www.brevo.com/legal/termsofuse/
servers:
- url: https://api.brevo.com/v3
  description: Brevo Production API Server
security:
- apiKeyAuth: []
tags:
- name: WhatsApp Templates
  description: Create and manage WhatsApp message templates that require Meta approval before use.
paths:
  /whatsappCampaigns/template:
    post:
      operationId: createWhatsAppTemplate
      summary: Create a WhatsApp template
      description: Creates a new WhatsApp message template. Templates must be approved by Meta before they can be used for sending messages.
      tags:
      - WhatsApp Templates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWhatsAppTemplate'
      responses:
        '201':
          description: Template created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    format: int64
                    description: Unique identifier of the newly created template.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /whatsappCampaigns/template-list:
    get:
      operationId: listWhatsAppTemplates
      summary: Return all WhatsApp templates
      description: Retrieves all WhatsApp message templates created in the account including their approval status and content.
      tags:
      - WhatsApp Templates
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: Templates retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppTemplateList'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /whatsappCampaigns/template/approval/{templateId}:
    post:
      operationId: sendWhatsAppTemplateForApproval
      summary: Send a WhatsApp template for approval
      description: Submits a WhatsApp message template to Meta for review and approval. Templates must be approved before they can be used for sending messages to recipients.
      tags:
      - WhatsApp Templates
      parameters:
      - name: templateId
        in: path
        required: true
        description: Unique identifier of the template to submit for approval.
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: Template submitted for approval successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code identifying the type of error.
        message:
          type: string
          description: Human-readable description of the error.
    WhatsAppTemplateList:
      type: object
      properties:
        count:
          type: integer
          format: int64
          description: Total number of WhatsApp templates.
        templates:
          type: array
          description: List of WhatsApp template summaries.
          items:
            type: object
            properties:
              id:
                type: integer
                format: int64
                description: Unique identifier of the template.
              name:
                type: string
                description: Name of the template.
              status:
                type: string
                description: Approval status of the template.
                enum:
                - approved
                - pending
                - rejected
              language:
                type: string
                description: Language code of the template.
              category:
                type: string
                description: Category of the template.
              createdAt:
                type: string
                format: date-time
                description: UTC date-time when the template was created.
              modifiedAt:
                type: string
                format: date-time
                description: UTC date-time when the template was last modified.
    CreateWhatsAppTemplate:
      type: object
      required:
      - name
      - language
      - category
      - bodyText
      properties:
        name:
          type: string
          description: Name for the template.
        language:
          type: string
          description: Language code for the template such as en for English.
        category:
          type: string
          description: Template category required by Meta for approval.
          enum:
          - MARKETING
          - UTILITY
        headerText:
          type: string
          description: Header text content for the template.
        bodyText:
          type: string
          description: Body text content for the template with parameter placeholders.
        footerText:
          type: string
          description: Footer text content for the template.
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of results to return per request.
      schema:
        type: integer
        format: int64
        default: 50
    offsetParam:
      name: offset
      in: query
      description: Number of results to skip for pagination.
      schema:
        type: integer
        format: int64
        default: 0
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: api-key
      description: Brevo API key passed in the api-key request header for authentication.
externalDocs:
  description: Brevo Contacts Documentation
  url: https://developers.brevo.com/docs/how-it-works