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

# Creates an SMS campaign

# 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": {
    "/smsCampaigns": {
      "post": {
        "operationId": "createSmsCampaign",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "content": {
                    "description": "Content of the message. The **maximum characters used per SMS is 160**, if used more than that, it will be counted as more than one SMS.\n",
                    "example": "Get a discount by visiting our NY store and saying : Happy Spring!",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name of the campaign",
                    "example": "Spring Promo Code",
                    "type": "string"
                  },
                  "organisationPrefix": {
                    "description": "A recognizable prefix will ensure your audience knows who you are. Recommended by U.S. carriers. This will be added as your Brand Name before the message content. **Prefer verifying maximum length of 160 characters including this prefix in message content to avoid multiple sending of same sms.**",
                    "example": "MyCompany",
                    "type": "string"
                  },
                  "recipients": {
                    "properties": {
                      "exclusionListIds": {
                        "description": "List ids which have to be excluded from a campaign",
                        "items": {
                          "description": "List Id to exclude from the campaign",
                          "example": 15,
                          "format": "int64",
                          "type": "integer"
                        },
                        "type": "array"
                      },
                      "listIds": {
                        "description": "Lists Ids to send the campaign to. **REQUIRED if scheduledAt is not empty**\n",
                        "items": {
                          "description": "List Id to send the campaign to",
                          "example": 54,
                          "format": "int64",
                          "type": "integer"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "listIds"
                    ],
                    "type": "object"
                  },
                  "scheduledAt": {
                    "description": "UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**\n",
                    "example": "2017-05-05T12:30:00+02:00",
                    "type": "string"
                  },
                  "sender": {
                    "description": "Name of the sender. **The number of characters is limited to 11 for alphanumeric characters and 15 for numeric characters**\n",
                    "example": "MyShop",
                    "maxLength": 15,
                    "type": "string"
                  },
                  "unicodeEnabled": {
                    "default": false,
                    "description": "Format of the message. It indicates whether the content should be treated as unicode or not.\n",
                    "example": true,
                    "type": "boolean"
                  },
                  "unsubscribeInstruction": {
                    "description": "Instructions to unsubscribe from future communications. Recommended by U.S. carriers. Must include **STOP** keyword. This will be added as instructions after the end of message content. **Prefer verifying maximum length of 160 characters including this instructions in message content to avoid multiple sending of same sms.**",
                    "example": "send Stop if you want to unsubscribe.",
                    "type": "string"
                  }
                },
                "required": [
                  "content",
                  "name",
                  "sender"
                ],
                "type": "object"
              }
            }
          },
          "description": "Values to create an SMS Campaign",
          "required": true
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/createModel"
          },
          "400": {
            "$ref": "#/components/responses/errorModel"
          }
        },
        "summary": "Creates an SMS campaign",
        "tags": [
          "SMS 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
    }
  }
}
```