---
agentTools:
  projectIndex: https://sendinblue.readme.io/llms.txt
---

# Create and Send a WhatsApp campaign

> 📘
>
> This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
>
> [Get all the Lists](https://developers.sendinblue.com/reference/getlists-1)
>
> [Get all the Segments](https://developers.sendinblue.com/reference/getsegments)

<br />

> 📘
>
> You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
>
> [Activating WhatsApp in your account](https://developers.brevo.com/docs/whatsapp-campaigns-1)

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "email": "contact@brevo.com",
      "name": "Brevo Support",
      "url": "https://account.brevo.com/support"
    },
    "description": "Brevo provide a RESTFul API that can be used with any languages. With this API, you will be able to :\n  - Manage your campaigns and get the statistics\n  - Manage your contacts\n  - Send transactional Emails and SMS\n  - and much more...\n\nYou can download our wrappers at https://github.com/orgs/brevo\n**Possible responses**\n  | Code | Message |\n  | :-------------: | ------------- |\n  | 200  | OK. Successful Request  |\n  | 201  | OK. Successful Creation |\n  | 202  | OK. Request accepted |\n  | 204  | OK. Successful Update/Deletion  |\n  | 400  | Error. Bad Request  |\n  | 401  | Error. Authentication Needed  |\n  | 402  | Error. Not enough credit, plan upgrade needed  |\n  | 403  | Error. Permission denied  |\n  | 404  | Error. Object does not exist |\n  | 405  | Error. Method not allowed  |\n  | 406  | Error. Not Acceptable  |\n  | 422  | Error. Unprocessable Entity |\n",
    "license": {
      "name": "MIT",
      "url": "http://opensource.org/licenses/MIT"
    },
    "title": "Brevo API",
    "version": "3.0.0"
  },
  "servers": [
    {
      "url": "https://api.brevo.com/v3"
    }
  ],
  "security": [
    {
      "api-key": []
    },
    {
      "partner-key": []
    }
  ],
  "paths": {
    "/whatsappCampaigns": {
      "post": {
        "operationId": "createWhatsAppCampaign",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "description": "Name of the WhatsApp campaign creation",
                    "example": "Test Campaign",
                    "type": "string"
                  },
                  "recipients": {
                    "description": "Segment ids and List ids to include/exclude from campaign",
                    "properties": {
                      "excludedListIds": {
                        "description": "List ids to exclude from the campaign",
                        "items": {
                          "example": 8,
                          "format": "int64",
                          "type": "integer"
                        },
                        "type": "array"
                      },
                      "listIds": {
                        "description": "**Mandatory if scheduledAt is not empty**. List Ids to send the campaign to\n",
                        "items": {
                          "example": 32,
                          "format": "int64",
                          "type": "integer"
                        },
                        "type": "array"
                      },
                      "segments": {
                        "description": "**Mandatory if listIds are not used**. Segment ids to send the campaign to.\n",
                        "items": {
                          "example": 23,
                          "format": "int64",
                          "type": "integer"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "scheduledAt": {
                    "description": "Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.For example: **2017-06-01T12:30:00+02:00**\n",
                    "example": "2017-06-01T12:30:00+02:00",
                    "type": "string"
                  },
                  "templateId": {
                    "description": "Id of the WhatsApp template in **approved** state",
                    "example": 19,
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "templateId",
                  "scheduledAt",
                  "recipients"
                ],
                "type": "object"
              }
            }
          },
          "description": "Values to create a WhatsApp Campaign",
          "required": true
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/createModel"
          },
          "400": {
            "$ref": "#/components/responses/errorModel"
          }
        },
        "summary": "Create and Send a WhatsApp campaign",
        "tags": [
          "WhatsApp Campaigns"
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "api-key": {
        "description": "The API key should be passed in the request headers as `api-key` for authentication.",
        "in": "header",
        "name": "api-key",
        "type": "apiKey"
      },
      "partner-key": {
        "description": "The partner key should be passed in the request headers as `partner-key` along with `api-key` pair for successful authentication of partner (Optional).",
        "in": "header",
        "name": "partner-key",
        "type": "apiKey"
      }
    },
    "responses": {
      "errorModel": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "code": {
                  "description": "Error code displayed in case of a failure",
                  "enum": [
                    "invalid_parameter",
                    "missing_parameter",
                    "out_of_range",
                    "campaign_processing",
                    "campaign_sent",
                    "document_not_found",
                    "not_enough_credits",
                    "permission_denied",
                    "duplicate_parameter",
                    "duplicate_request",
                    "method_not_allowed",
                    "unauthorized",
                    "account_under_validation",
                    "not_acceptable",
                    "bad_request",
                    "unprocessable_entity",
                    "Domain does not exist",
                    "Contact email not found",
                    "Attribute not found",
                    "Category id not found",
                    "Invalid parameters passed",
                    "Record(s) for identifier not found",
                    "Returned when query params are invalid",
                    "Returned when invalid data posted",
                    "Feed not found",
                    "Campaign ID not found",
                    "api-key not found",
                    "DMARC policy requires domain authentication",
                    "DNS records not properly configured",
                    "Invalid OTP code provided",
                    "OTP code has expired",
                    "Domain already exists in your account",
                    "The sum of all IP weights must equal 100",
                    "Authentication failed",
                    "Insufficient credits",
                    "Request already processed"
                  ],
                  "example": "method_not_allowed",
                  "type": "string"
                },
                "message": {
                  "description": "Readable message associated to the failure",
                  "example": "POST Method is not allowed on this path",
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ],
              "type": "object"
            }
          }
        },
        "description": "bad request"
      },
      "createModel": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "id": {
                  "description": "ID of the object created",
                  "example": 5,
                  "format": "int64",
                  "type": "integer"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            }
          }
        },
        "description": "successfully created"
      }
    }
  },
  "x-samples-languages": [
    "curl"
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "_id": {
    "buffer": {
      "0": 91,
      "1": 104,
      "2": 180,
      "3": 205,
      "4": 240,
      "5": 82,
      "6": 207,
      "7": 0,
      "8": 3,
      "9": 36,
      "10": 63,
      "11": 142
    }
  }
}
```