For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Create a new email campaign. The campaign requires at minimum a name and sender details, and is created in draft status by default. You must provide email content via one of three mutually exclusive options: htmlContent (inline HTML), htmlUrl (remote URL), or templateId (existing template); additionally, A/B testing can be enabled by setting abTesting to true with subjectA and subjectB, but this is incompatible with sendAtBestTime.
Authentication
api-keystring
The API key should be passed in the request headers as api-key for authentication.
Request
Values to create a campaign
namestringRequired
Name of the campaign
senderobjectRequired
Sender details including id or email and name (optional). Only one of either Sender’s email or Sender’s ID shall be passed in one request at a time. Passing both `email` and `id` will result in an error. For example: **{"name":"xyz", "email":"example@abc.com"}** or **{"name":"xyz", "id":123}**
abTestingbooleanOptionalDefaults to false
Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. **subjectA, subjectB, splitRule, winnerCriteria & winnerDelay** will be considered when abTesting is set to true. subjectA & subjectB are mandatory together & subject if passed is ignored. **Can be set to true only if sendAtBestTime is false**. You will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B
attachmentUrlstringOptionalformat: "url"
Absolute url of the attachment (no local file). Extension allowed: #### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps
emailExpirationDateobjectOptional
To reduce your carbon footprint, set an expiration date for your email. If supported, it will be automatically deleted from the recipient’s inbox, saving storage space and energy. Learn more about setting an email expiration date. For reference , ``https://help.brevo.com/hc/en-us/articles/4413566705298-Create-an-email-campaign``
headerstringOptional
Header of the email campaign
htmlContentstringOptional
Mandatory if htmlUrl and templateId are empty. Body of the message (HTML). Must have more than 10 characters and be less than 1MB in size. Cannot be used together with htmlUrl or templateId.
htmlUrlstringOptionalformat: "url"
**Mandatory if htmlContent and templateId are empty.** URL to the message (HTML). Cannot be used together with `htmlContent` or `templateId`. For example: **https://html.domain.com**
increaseRatelongOptional0-100
Mandatory if ipWarmupEnable is set to true. Set a percentage increase rate for warming up your ip. We recommend you set the increase rate to 30% per day. If you want to send the same number of emails every day, set the daily increase value to 0%.
initialQuotalongOptional
Mandatory if ipWarmupEnable is set to true. Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.
inlineImageActivationbooleanOptionalDefaults to false
Use true to embedded the images in your email. Final size of the email should be less than 4MB. Campaigns with embedded images can not be sent to more than 5000 contacts
ipWarmupEnablebooleanOptionalDefaults to false
Available for dedicated ip clients. Set this to true if you wish to warm up your ip.
mirrorActivebooleanOptional
Use true to enable the mirror link
paramsmap from strings to anyOptional
Pass the set of attributes to customize the type classic campaign. For example: **{"FNAME":"Joe", "LNAME":"Doe"}**. Only available if **type** is **classic**. It's considered only if campaign is in _New Template Language format_. The New Template Language is dependent on the values of **subject, htmlContent/htmlUrl, sender.name & toField**
previewTextstringOptional
Preview text or preheader of the email campaign
recipientsobjectOptional
Segment ids and List ids to include/exclude from campaign
replyTostringOptionalformat: "email"
Email on which the campaign recipients will be able to reply to
scheduledAtstringOptional
Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result**. If sendAtBestTime is set to true, your campaign will be sent according to the date passed (ignoring the time part). For example: **2017-06-01T12:30:00+02:00**
sendAtBestTimebooleanOptionalDefaults to false
Set this to true if you want to send your campaign at best time.
splitRulelongOptional1-50
Add the size of your test groups. Mandatory if abTesting = true & ‘recipients’ is passed. We’ll send version A and B to a random sample of recipients, and then the winning version to everyone else
subjectstringOptional
Subject of the campaign. Mandatory if abTesting is false. Ignored if abTesting is true.
subjectAstringOptional
Subject A of the campaign. Mandatory if abTesting = true. subjectA & subjectB should have unique value
subjectBstringOptional
Subject B of the campaign. Mandatory if abTesting = true. subjectA & subjectB should have unique value
tagstringOptional
Tag of the campaign
templateIdlongOptional
**Mandatory if htmlContent and htmlUrl are empty.** Id of the transactional email template with status _active_. Used to copy only its content fetched from htmlContent/htmlUrl to an email campaign for RSS feature. Cannot be used together with `htmlContent` or `htmlUrl`.
toFieldstringOptional
To personalize the **To** Field. If you want to include the first name and last name of your recipient, add **{FNAME} {LNAME}**. These contact attributes must already exist in your Brevo account. If input parameter **params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization
unsubscriptionPageIdstringOptional
Enter an unsubscription page id. The page id is a 24 digit alphanumeric id that can be found in the URL when editing the page. If not entered, then the default unsubscription page will be used.
updateFormIdstringOptional
Mandatory if templateId is used containing the {{ update_profile }} tag. Enter an update profile form id. The form id is a 24 digit alphanumeric id that can be found in the URL when editing the form. If not entered, then the default update profile form will be used.
utmCampaignstringOptional
Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed
utmContentstringOptional
Customize the utm_content value. Appears on outgoing tracking links alongside utm_campaign. Only alphanumeric characters and spaces are allowed
utmTermstringOptional
Customize the utm_term value. Appears on outgoing tracking links alongside utm_campaign. Only alphanumeric characters and spaces are allowed
winnerCriteriaenumOptional
Choose the metrics that will determinate the winning version. Mandatory if splitRule >= 1 and < 50. If splitRule = 50, winnerCriteria is ignored if passed
Allowed values:
winnerDelaylongOptional1-168
Choose the duration of the test in hours. Maximum is 7 days, pass 24*7 = 168 hours. The winning version will be sent at the end of the test. Mandatory if splitRule >= 1 and < 50. If splitRule = 50, winnerDelay is ignored if passed
Response
successfully created
idlong
ID of the object created
Errors
400
Bad Request Error
405
Method Not Allowed Error
Create a new email campaign. The campaign requires at minimum a name and sender details, and is created in draft status by default. You must provide email content via one of three mutually exclusive options: htmlContent (inline HTML), htmlUrl (remote URL), or templateId (existing template); additionally, A/B testing can be enabled by setting abTesting to true with subjectA and subjectB, but this is incompatible with sendAtBestTime.
Sender details including id or email and name (optional). Only one of either Sender’s email or Sender’s ID shall be passed in one request at a time. Passing both email and id will result in an error. For example: {“name”:“xyz”, “email”:“example@abc.com”} or {“name”:“xyz”, “id”:123}
Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. subjectA, subjectB, splitRule, winnerCriteria & winnerDelay will be considered when abTesting is set to true. subjectA & subjectB are mandatory together & subject if passed is ignored. Can be set to true only if sendAtBestTime is false. You will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B
To reduce your carbon footprint, set an expiration date for your email. If supported, it will be automatically deleted from the recipient’s inbox, saving storage space and energy. Learn more about setting an email expiration date. For reference , https://help.brevo.com/hc/en-us/articles/4413566705298-Create-an-email-campaign
Mandatory if htmlContent and templateId are empty. URL to the message (HTML). Cannot be used together with htmlContent or templateId. For example: https://html.domain.com
Pass the set of attributes to customize the type classic campaign. For example: {“FNAME”:“Joe”, “LNAME”:“Doe”}. Only available if type is classic. It’s considered only if campaign is in New Template Language format. The New Template Language is dependent on the values of subject, htmlContent/htmlUrl, sender.name & toField
Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result. If sendAtBestTime is set to true, your campaign will be sent according to the date passed (ignoring the time part). For example: 2017-06-01T12:30:00+02:00
Mandatory if htmlContent and htmlUrl are empty. Id of the transactional email template with status active. Used to copy only its content fetched from htmlContent/htmlUrl to an email campaign for RSS feature. Cannot be used together with htmlContent or htmlUrl.
To personalize the To Field. If you want to include the first name and last name of your recipient, add {FNAME} {LNAME}. These contact attributes must already exist in your Brevo account. If input parameter params used please use {{contact.FNAME}} {{contact.LNAME}} for personalization