For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Update an existing email campaign”s properties such as name, subject, content, sender, recipients, schedule, and A/B testing configuration. The campaign must exist and the request body must contain at least one valid field to update. Only draft or scheduled campaigns can be modified; if sendAtBestTime is enabled, IP warmup will be automatically disabled.
Authentication
api-keystring
The API key should be passed in the request headers as api-key for authentication.
Path parameters
campaignIdlongRequired
Id of the campaign
Request
Values to update a campaign
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.
headerstringOptional
Header of the email campaign
htmlContentstringOptional
Body of the message (HTML version). If the campaign is designed using Drag & Drop editor via HTML content, then the design page will not have Drag & Drop editor access for that campaign. REQUIRED if htmlUrl is empty
htmlUrlstringOptionalformat: "url"
Url which contents the body of the email message. REQUIRED if htmlContent is empty
increaseRatelongOptional0-100
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
Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.
inlineImageActivationbooleanOptionalDefaults to false
Status of inline image. inlineImageActivation = false means image can’t be embedded, & inlineImageActivation = true means image can be embedded, in the email. You cannot send a campaign of more than **4MB** with images embedded in the email. Campaigns with the images embedded in the email _must be sent to less than 5000 contacts_.
ipWarmupEnablebooleanOptionalDefaults to false
Available for dedicated ip clients. Set this to true if you wish to warm up your ip.
mirrorActivebooleanOptional
Status of mirror links in campaign. mirrorActive = false means mirror links are deactivated, & mirrorActive = true means mirror links are activated, in the campaign
namestringOptional
Name of the campaign
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
recurringbooleanOptionalDefaults to false
FOR TRIGGER ONLY ! Type of trigger campaign.recurring = false means contact can receive the same Trigger campaign only once, & recurring = true means contact can receive the same Trigger campaign several times
replyTostringOptionalformat: "email"
Email on which campaign recipients will be able to reply to
scheduledAtstringOptional
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. If sendAtBestTime is set to true, your campaign will be sent according to the date passed (ignoring the time part).
sendAtBestTimebooleanOptional
Set this to true if you want to send your campaign at best time. Note:- if true, warmup ip will be disabled.
senderobjectOptional
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. For example: **{"name":"xyz", "email":"example@abc.com"}** **{"name":"xyz", "id":123}**
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
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
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.
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.
utmCampaignstringOptional
Customize the utm_campaign value. If this field is empty, the campaign name will be used. 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
Email campaign updated
Errors
400
Bad Request Error
404
Not Found Error
405
Method Not Allowed Error
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
Status of inline image. inlineImageActivation = false means image can’t be embedded, & inlineImageActivation = true means image can be embedded, in the email. You cannot send a campaign of more than 4MB with images embedded in the email. Campaigns with the images embedded in the email must be sent to less than 5000 contacts.
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
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. For example: {“name”:“xyz”, “email”:“example@abc.com”}{“name”:“xyz”, “id”:123}
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