Explorateur — API compatible Brevo

Les 74 opérations de l'API compatible Brevo, classées comme dans la documentation Brevo. Chaque fiche montre les paramètres, le corps attendu et les réponses ; avec votre clé, vous pouvez envoyer la requête depuis cette page et copier un exemple prêt à l'emploi (cURL, Node, PHP, Python).

Note

Mêmes chemins, mêmes corps JSON et mêmes codes d'erreur que https://api.brevo.com/v3 : remplacez seulement l'URL de base par https://<domaine-du-site>/api/brevo/v3 et utilisez une clé émise par Inklura. Guide de démarrage.

74 opérations · Télécharger la spécification OpenAPI

Votre site & votre clé APIRestent dans votre navigateur ; la clé est oubliée à la fermeture de l'onglet, sauf si vous cochez « Se souvenir ».
Comment obtenir une clé ?
74 opérations

Transactional emails 22

DELETE/smtp/blockedContacts/{email}Unblock or resubscribe a transactional contact
delete/smtp/blockedContacts/{email}api-key

Unblock or resubscribe a transactional contact by removing their email address from the blacklist. The email address must be URL-encoded in the path parameter and must be a valid email format. If the contact is not found in the blocklist, a 404 error is returned.

Paramètres
emailstring · cheminrequis
contact email (urlencoded) to unblock.
Corps de la requête
Pas de corps.
Réponses
204 Contact unblocked400 bad request404 bad request
Essayer
GET/smtp/blockedContactsGet the list of blocked or unsubscribed transactional contacts
getTransacBlockedContactsapi-key

Retrieve a paginated list of transactional contacts that have been blocked or unsubscribed, along with the reason for blocking (e.g. hard bounce, admin blocked, spam complaint, or unsubscription via email/API/Marketing Automation). Both startDate and endDate must be provided together when filtering by date range, and neither date can be in the future. Results default to 50 per page (max 100) and are sorted in descending order of record creation unless overridden with the sort parameter.

Paramètres
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts
limitinteger · int64 · requêtefacultatif
Number of documents returned per page
offsetinteger · int64 · requêtefacultatif
Index of the first document on the page
sendersstring[] · requêtefacultatif
Comma separated list of emails of the senders from which contacts are blocked or unsubscribed
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 List of blocked or unsubscribed transactional contacts400 bad request
contactsobject[]facultatif
6 champs
blockedAtstringrequis
Date when the contact was blocked or unsubscribed on
emailstring · emailrequis
Email address of the blocked or unsubscribed contact
reasonobjectrequis
Reason for blocking / unsubscribing
2 champs
codeenumfacultatif
Reason code for blocking / unsubscribing (This code is safe for comparison)
"unsubscribedViaMA" "unsubscribedViaEmail" "adminBlocked" "unsubscribedViaApi" "hardBounce" "contactFlaggedAsSpam"
messagestringfacultatif
Reason for blocking / unsubscribing (This string is not safe for comparison)
senderEmailstring · emailrequis
Sender email address of the blocked or unsubscribed contact
countinteger · int64facultatif
Count of blocked or unsubscribed contact
Essayer
DELETE/smtp/blockedDomains/{domain}Unblock an existing domain from the list of blocked domains
deleteBlockedDomainapi-key

Unblocks an existing domain from the list of blocked domains

Paramètres
domainstring · cheminrequis
The name of the domain to be deleted
Corps de la requête
Pas de corps.
Réponses
204 Domain is successfully deleted from the list of blocked domains400 bad request404 Domain not found
Essayer
GET/smtp/blockedDomainsGet the list of blocked domains
getBlockedDomainsapi-key
Corps de la requête
Pas de corps.
Réponses
200 List of blocked domains400 bad request
domainsstring[]requis
List of all blocked domains
Essayer
POST/smtp/blockedDomainsAdd a new domain to the list of blocked domains
blockNewDomainapi-key

Blocks a new domain in order to avoid messages being sent to the same

Corps de la requête
domainstringrequis
name of the domain to be blocked
Réponses
201 Domain is successfully blocked400 bad request
Essayer
POST/smtp/deleteHardbouncesDelete hardbounces
deleteHardbouncesapi-key

Delete hardbounces. To use carefully (e.g. in case of temporary ISP failures)

Corps de la requête
contactEmailstring · emailfacultatif
Target a specific email address
endDatestringfacultatif
Ending date (YYYY-MM-DD) of the time period for deletion. The hardbounces until this date will be deleted. Must be greater than or equal to the startDate
startDatestringfacultatif
Starting date (YYYY-MM-DD) of the time period for deletion. The hardbounces occurred after this date will be deleted. Must be less than or equal to the endDate
Réponses
200 No matching hardbounces found for the given filters. The request was processed successfully but no records were deleted.204 Hardbounces deleted successfully400 bad request
Essayer
DELETE/smtp/email/{identifier}Delete scheduled emails by batchId or messageId
deleteScheduledEmailByIdapi-key

Delete scheduled batch of emails by batchId or single scheduled email by messageId

Paramètres
identifierstring · cheminrequis
The batchId of scheduled emails batch (must be a valid UUIDv4) or the messageId of scheduled email (enclosed in angle brackets with @ sign, e.g. <...@domain>).
Corps de la requête
Pas de corps.
Réponses
204 Scheduled email(s) deleted400 bad request404 bad request
Essayer
POST/smtp/emailSend a transactional email
sendTransacEmailapi-key

Send a transactional email to one or more recipients, either using inline HTML content or a pre-built template via templateId. You can schedule emails for future delivery using scheduledAt (UTC, up to 5-minute delay), send multiple personalized versions with messageVersions (max 2000 total recipients, 99 per version), and attach files via URL or base64-encoded content. A sender and subject are required when no templateId is provided; when a templateId is used, the template''s sender and subject are applied unless overridden.

Corps de la requête
attachmentobject[]facultatif
Array of attachment objects. Each attachment must include either an absolute URL (no local file paths) or base64-encoded content, along with the attachment filename. The name field is required when content is provided. Supported file extensions: 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, eps, odt, mp3, m4a, m4v, wma, ogg, flac, wav, aif, aifc, aiff, mp4, mov, avi, mkv, mpeg, mpg, wmv, pkpass, xlsm. When templateId is specified: if the template uses the New Template Language format, both url and content attachment types are supported; if the template uses the Old Template Language format, the attachment parameter is ignored.
3 champs
contentstring · bytefacultatif
Base64-encoded attachment data
namestringfacultatif
Attachment filename. Required when content is provided.
urlstring · urlfacultatif
Absolute URL of the attachment. Local file paths are not supported.
batchIdstringfacultatif
UUIDv4 identifier for the scheduled batch of transactional emails. If omitted, a valid UUIDv4 batch identifier is automatically generated.
bccobject[]facultatif
Array of BCC recipient objects. Each object contains an email address and an optional name.
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient in bcc for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
BCC recipient email address
namestringfacultatif
Display name of the BCC recipient. Maximum length is 70 characters.
ccobject[]facultatif
Array of CC recipient objects. Each object contains an email address and an optional name.
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient in cc for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
CC recipient email address
namestringfacultatif
Display name of the CC recipient. Maximum length is 70 characters.
headersobjectfacultatif
Custom email headers (non-standard headers) to include in the email. The sender.ip header can be set to specify the IP address used for sending transactional emails (dedicated IP users only). Header names must use Title-Case-Format (words separated by hyphens with the first letter of each word capitalized). Headers not in this format are automatically converted. Standard email headers are not supported. Example: {"sender.ip":"1.2.3.4", "X-Mailin-custom":"some_custom_value", "Idempotency-Key":"abc-123"}
htmlContentstringfacultatif
HTML body content of the email. Required when templateId is not provided. Ignored when templateId is provided.
messageVersionsobject[]facultatif
Array of message version objects for sending customized email variants. The templateId can be customized per version only if a global templateId is provided. The htmlContent and textContent can be customized per version only if at least one of these is present in the global parameters. Global parameters such as to (required), bcc, cc, replyTo, and subject can be customized per version. Maximum total recipients per API request is 2000. Maximum recipients per message version is 99. Individual params objects must not exceed 100 KB. Cumulative params across all versions must not exceed 1000 KB. See https://developers.brevo.com/docs/batch-send-transactional-emails for detailed usage instructions.
19 champs
bccobject[]facultatif
Array of BCC recipient objects. Each object contains an email address and an optional name.
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient in bcc for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
BCC recipient email address
namestringfacultatif
Display name of the BCC recipient. Maximum length is 70 characters.
ccobject[]facultatif
Array of CC recipient objects. Each object contains an email address and an optional name.
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient in cc for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
CC recipient email address
namestringfacultatif
Display name of the CC recipient. Maximum length is 70 characters.
htmlContentstringfacultatif
HTML body content of the email. Required when templateId is not provided. Ignored when templateId is provided.
paramsobjectfacultatif
Key-value pairs for template variable substitution. Only applicable when the template uses the New Template Language format.
replyToobjectfacultatif
Reply-to email address (required) and optional display name. Recipients will use this address when replying to the email.
2 champs
emailstring · emailrequis
Email address in reply to
namestringfacultatif
Display name for the reply-to address. Maximum length is 70 characters.
subjectstringfacultatif
Email subject line for this message version
textContentstringfacultatif
Plain text body content of the email. Ignored when templateId is provided.
toobject[]requis
Array of recipient objects. Each object contains an email address and an optional display name.
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
Email address of the recipient
namestringfacultatif
Display name of the recipient. Maximum length is 70 characters.
paramsobjectfacultatif
Key-value pairs for template variable substitution. Only applicable when the template uses the New Template Language format.
replyToobjectfacultatif
Reply-to email address (required) and optional display name. Recipients will use this address when replying to the email.
2 champs
emailstring · emailrequis
Email address in reply to
namestringfacultatif
Display name for the reply-to address. Maximum length is 70 characters.
scheduledAtstring · date-timefacultatif
UTC date-time when the email should be sent (format: YYYY-MM-DDTHH:mm:ss.SSSZ). Include timezone information in the date-time value. Scheduled emails may be delayed by up to 5 minutes.
senderobjectfacultatif
Sender information. Required when templateId is not provided. Specify either an email address (with optional name) or a sender ID. The name field is ignored when id is provided.
3 champs
emailstring · emailfacultatif
Sender email address. Required when id is not provided.
idinteger · int64facultatif
Sender identifier. Required when email is not provided. Use this field to select a sender with a specific IP pool (dedicated IP users only).
namestringfacultatif
Display name of the sender. Maximum length is 70 characters. Only applicable when email is provided.
subjectstringfacultatif
Email subject line. Required when templateId is not provided.
tagsstring[]facultatif
Array of tags for categorizing and filtering emails
templateIdinteger · int64facultatif
Template identifier
textContentstringfacultatif
Plain text body content of the email. Ignored when templateId is provided.
toobject[]facultatif
Array of recipient objects. Each object contains an email address and an optional display name. Required when messageVersions is not provided. Ignored when messageVersions is provided. Example: [{"name":"Jimmy", "email":"jimmy@example.com"}, {"name":"Joe", "email":"joe@example.com"}]
3 champs
contactPixelTrackingConsentbooleanfacultatif
Consent of the recipient for open (pixel) and click tracking, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
Email address of the recipient
namestringfacultatif
Display name of the recipient. Maximum length is 70 characters.
Réponses
201 Transactional email sent successfully202 Transactional email scheduled successfully400 bad request
messageIdstringfacultatif
Message ID of the transactional email sent
messageIdsstring[]facultatif
Essayer
GET/smtp/emails/{uuid}Get the personalized content of a sent transactional email
getTransacEmailContentapi-key

<Note title="How to get uuid">You can get the uuid using either of the following methods: Send a GET request to https://api.brevo.com/v3/smtp/emails and pass the message_id in the url. Use your api-key to authenticate the request and you will get your uuid as a response. The uuid can also be fetched from the transactional logs page in your Brevo account, from the address URL.</Note>

Paramètres
uuidstring · cheminrequis
Unique id of the transactional email that has been sent to a particular contact
Corps de la requête
Pas de corps.
Réponses
200 Transactional email content400 bad request404 bad request
attachmentCountinteger · int64facultatif
Count of the attachments that were sent in the email
bodystringfacultatif
Actual content of the transactional email that has been sent
datestringrequis
Date on which transactional email was sent
emailstring · emailrequis
Email address to which transactional email has been sent
eventsobject[]requis
Series of events which occurred on the transactional email
2 champs
namestringrequis
Name of the event that occurred on the sent email
timestringrequis
Time at which the event occurred
subjectstringrequis
Subject of the sent email
templateIdinteger · int64facultatif
Id of the template
Essayer
GET/smtp/emailsGet the list of transactional emails on the basis of allowed filters
getTransacEmailsListapi-key

This endpoint will show the list of emails for past 30 days by default. To retrieve emails before that time, please pass startDate and endDate in query filters.

Paramètres
emailstring · requêtefacultatif
Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent.
templateIdinteger · int64 · requêtefacultatif
Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email.
messageIdstring · requêtefacultatif
Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent.
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month.
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month.
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
limitinteger · int64 · requêtefacultatif
Number of documents returned per page
offsetinteger · int64 · requêtefacultatif
Index of the first document in the page
Corps de la requête
Pas de corps.
Réponses
200 List of transactional emails400 bad request
countinteger · int64facultatif
Total number of transactional emails available on your account according to the passed filter
transactionalEmailsobject[]facultatif
8 champs
datestringrequis
Date on which transactional email was sent
emailstring · emailrequis
Email address to which transactional email has been sent
fromstring · emailfacultatif
Email address of the sender from which the email was sent
messageIdstringrequis
Message Id of the sent email
subjectstringrequis
Subject of the sent email
tagsstring[]facultatif
Tags used for your email
templateIdinteger · int64facultatif
Id of the template
uuidstringrequis
Unique id of the email sent to a particular contact
Essayer
GET/smtp/emailStatus/{identifier}Fetch scheduled emails by batchId or messageId
getScheduledEmailByIdapi-key

Fetch scheduled batch of emails by batchId or single scheduled email by messageId (Can retrieve data upto 30 days old)

Paramètres
identifierstring · cheminrequis
The batchId of scheduled emails batch (must be a valid UUIDv4) or the messageId of scheduled email (enclosed in angle brackets with @ sign, e.g. <...@domain>). When using messageId, the limit, offset, sort, and status query parameters are ignored.
startDatestring · date · requêtefacultatif
Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Cannot be more than 30 days older than the current date.
endDatestring · date · requêtefacultatif
Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month.
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed. Not valid when identifier is messageId.
statusenum · requêtefacultatif
Filter the records by status of the scheduled email batch or message. Not valid when identifier is messageId.
limitinteger · int64 · requêtefacultatif
Number of documents returned per page. Not valid when identifier is messageId.
offsetinteger · int64 · requêtefacultatif
Index of the first document on the page. Not valid when identifier is messageId.
Corps de la requête
Pas de corps.
Réponses
200 Scheduled email batches400 bad request404 bad request
Essayer
DELETE/smtp/log/{identifier}Delete an SMTP transactional log
delete/smtp/log/{identifier}api-key

Delete SMTP transactional log entries identified by a message ID (enclosed in angle brackets with an @ sign) or a valid email address. Optionally narrow the deletion to a specific date range using from_date and to_date query parameters (YYYY-MM-DD format). The operation also removes any associated stored email preview content.

Paramètres
identifierstring · cheminrequis
MessageId or email address of the transactional log(s) to delete. Must be a valid message ID (enclosed in angle brackets with @ sign) or a valid email address.
from_datestring · requêtefacultatif
Starting date (YYYY-MM-DD) to narrow down logs for deletion
to_datestring · requêtefacultatif
Ending date (YYYY-MM-DD) to narrow down logs for deletion
Corps de la requête
Pas de corps.
Réponses
204 Transactional Logs deleted400 bad request404 Message ID not found
Essayer
GET/smtp/statistics/aggregatedReportGet your transactional email activity aggregated over a period of time
getAggregatedSmtpReportapi-key

This endpoint will show the aggregated stats for past 90 days by default if startDate and endDate OR days is not passed. The date range can not exceed 90 days

Paramètres
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate
daysinteger · int64 · requêtefacultatif
Number of days in the past including today (positive integer, maximum 90). _Not compatible with 'startDate' and 'endDate'_. Defaults to 90 if neither dates nor days are provided.
tagstring · requêtefacultatif
Tag of the emails
Corps de la requête
Pas de corps.
Réponses
200 Aggregated report informations400 bad request
blockedinteger · int64facultatif
Number of blocked contact emails for the timeframe
clicksinteger · int64facultatif
Number of clicks for the timeframe
deliveredinteger · int64facultatif
Number of delivered emails for the timeframe
hardBouncesinteger · int64facultatif
Number of hardbounces for the timeframe
invalidinteger · int64facultatif
Number of invalid emails for the timeframe
opensinteger · int64facultatif
Number of openings for the timeframe
rangestringfacultatif
Time frame of the report
requestsinteger · int64facultatif
Number of requests for the timeframe
softBouncesinteger · int64facultatif
Number of softbounces for the timeframe
spamReportsinteger · int64facultatif
Number of complaint (spam report) for the timeframe
uniqueClicksinteger · int64facultatif
Number of unique clicks for the timeframe
uniqueOpensinteger · int64facultatif
Number of unique openings for the timeframe
unsubscribedinteger · int64facultatif
Number of unsubscribed emails for the timeframe
Essayer
GET/smtp/statistics/eventsGet all your transactional email activity (unaggregated events)
getEmailEventReportapi-key

This endpoint will show the aggregated stats for past 30 days by default if startDate and endDate OR days is not passed. The date range can not exceed 90 days

Paramètres
limitinteger · int64 · requêtefacultatif
Number limitation for the result returned
offsetinteger · int64 · requêtefacultatif
Beginning point in the list to retrieve from.
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate
daysinteger · int64 · requêtefacultatif
Number of days in the past including today (positive integer, maximum 90). _Not compatible with 'startDate' and 'endDate'_. Defaults to 30 if neither dates nor days are provided.
emailstring · email · requêtefacultatif
Filter the report for a specific email addresses
eventenum · requêtefacultatif
Filter the report for a specific event type
tagsstring · requêtefacultatif
Filter the report for tags (serialized and urlencoded array)
messageIdstring · requêtefacultatif
Filter on a specific message id
templateIdinteger · int64 · requêtefacultatif
Filter on a specific template id
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Email events report informations400 bad request
eventsobject[]facultatif
11 champs
datestringrequis
UTC date-time on which the event has been generated
emailstring · emailrequis
Email address which generates the event
eventenumrequis
Event which occurred
"bounces" "hardBounces" "softBounces" "delivered" "spam" "requests" "opened" "clicks" "invalid" "deferred" …
fromstring · emailfacultatif
Sender email from which the emails are sent
ipstringfacultatif
IP from which the user has opened the email or clicked on the link (only available if the event is opened or clicks)
linkstringfacultatif
The link which is sent to the user (only available if the event is requests or opened or clicks)
messageIdstringrequis
Message ID which generated the event
reasonstringfacultatif
Reason of bounce (only available if the event is hardbounce or softbounce)
subjectstringfacultatif
Subject of the event
tagstringfacultatif
Tag of the email which generated the event
templateIdinteger · int64facultatif
ID of the template (only available if the email is template based)
Essayer
GET/smtp/statistics/reportsGet your transactional email activity aggregated per day
getSmtpReportapi-key

This endpoint will show the aggregated stats per day for the past 10 days by default if startDate and endDate OR days is not passed. The date range can not exceed 30 days.

Paramètres
limitinteger · int64 · requêtefacultatif
Number of documents returned per page
offsetinteger · int64 · requêtefacultatif
Index of the first document on the page
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD)
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD)
daysinteger · int64 · requêtefacultatif
Number of days in the past including today (positive integer, maximum 30). _Not compatible with 'startDate' and 'endDate'_
tagstring · requêtefacultatif
Tag of the emails
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Aggregated report informations400 bad request
reportsobject[]facultatif
13 champs
blockedinteger · int64requis
Number of blocked emails for the date
clicksinteger · int64requis
Number of clicks for the date
datestring · daterequis
Date of the statistics
deliveredinteger · int64requis
Number of delivered emails for the date
hardBouncesinteger · int64requis
Number of hardbounces for the date
invalidinteger · int64requis
Number of invalid emails for the date
opensinteger · int64requis
Number of openings for the date
requestsinteger · int64requis
Number of requests for the date
softBouncesinteger · int64requis
Number of softbounces for the date
spamReportsinteger · int64requis
Number of complaints (spam reports) for the date
uniqueClicksinteger · int64requis
Number of unique clicks for the date
uniqueOpensinteger · int64requis
Number of unique openings for the date
unsubscribedinteger · int64requis
Number of unsubscribed emails for the date
Essayer
POST/smtp/template/previewGenerate the rendered preview of transactional template
postPreviewSmtpEmailTemplatesapi-key

Generate a fully rendered preview of a transactional email template by resolving dynamic variables. Provide either an email address (to populate variables from the contact''s attributes) or a params object with key-value pairs for manual substitution; at least one of these is required alongside the mandatory templateId. The response includes the rendered HTML, subject, sender details, preview text, and any feed names used in the template.

Corps de la requête
emailstringfacultatif
Email of the contact.(Required if params not provided)
paramsobjectfacultatif
Key-value pairs of dynamic parameters for template rendering.(Required if email not provided) For example: {"Firstname":"John", "Lastname":"Doe"}
2 champs
Firstnamestringfacultatif
firstname of the contact. Dynamic parameter
Lastnamestringfacultatif
Lastname of the contact. Dynamic parameter
templateIdintegerrequis
Id of the template.
Réponses
200 successfully fetched template's preview fields400 bad request
fromEmailstringfacultatif
Sender email address
fromNamestringfacultatif
Sender Name
htmlstringfacultatif
Html content of the template
previewTextstringfacultatif
Preview text of the template
subjectstringfacultatif
subject of the template
usedFeedNamesstring[]facultatif
Essayer
POST/smtp/templates/{templateId}/sendTestSend a template to your test list
sendTestTemplateapi-key

Send a test email of the specified transactional template to one or more recipients. Provide an array of email addresses in the emailTo field; if left empty, the test mail is sent to your entire test list. You can send a maximum of 50 test emails per day, and all provided email addresses must be valid.

Paramètres
templateIdinteger · int64 · cheminrequis
Id of the template
Corps de la requête
emailTostring · email[]facultatif
List of the email addresses of the recipients whom you wish to send the test mail. _If left empty, the test mail will be sent to your entire test list. You can not send more than 50 test emails per day_.
Réponses
204 Test email has been sent successfully to all recipients400 Test email could not be sent to the following email addresses404 Template ID not found
Essayer
DELETE/smtp/templates/{templateId}Delete an inactive email template
deleteSmtpTemplateapi-key

Permanently delete a transactional email template by its numeric ID. Only inactive templates can be deleted; attempting to delete an active template returns a 405 error. To deactivate a template before deletion, use PUT /smtp/templates/{templateId} with isActive set to false. Deletion also removes associated newsletter template data and triggers asynchronous cleanup of shared assets.

Paramètres
templateIdinteger · int64 · cheminrequis
id of the template
Corps de la requête
Pas de corps.
Réponses
204 Inactive transactional email template has been deleted400 bad request404 Template ID not found
Essayer
GET/smtp/templates/{templateId}Returns the template information
getSmtpTemplateapi-key

Retrieve the full details of a specific transactional email template by its numeric ID or custom template identifier string. The response includes the template name, subject, sender information, HTML content, active status, creation and modification timestamps, reply-to address, tag, and a doiTemplate flag indicating whether the template is a double opt-in template (detected by the presence of optin-related tags or variables in the content).

Paramètres
templateIdinteger · int64 | string · cheminrequis
ID of the template. Can be a numeric template ID or a custom template identifier string (alphanumeric, hyphens, and underscores only, max 64 characters, must start with a letter).
Corps de la requête
Pas de corps.
Réponses
200 Email template informations400 bad request404 Template ID not found
createdAtstringrequis
Creation UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)
doiTemplatebooleanfacultatif
It is true if template is a valid Double opt-in (DOI) template, otherwise it is false. This field will be available only in case of single template detail call.
htmlContentstringrequis
HTML content of the template
idinteger · int64requis
ID of the template
isActivebooleanrequis
Status of template (true=active, false=inactive)
modifiedAtstringrequis
Last modification UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)
namestringrequis
Name of the template
replyTostring · emailrequis
Email defined as the "Reply to" for the template
senderobjectrequis
3 champs
emailstring · emailfacultatif
From email for the template
idstringfacultatif
Sender id of the template
namestringfacultatif
Sender name for the template
subjectstringrequis
Subject of the template
tagstringrequis
Tag of the template
testSentbooleanrequis
Status of test sending for the template (true=test email has been sent, false=test email has not been sent)
toFieldstringrequis
Customisation of the "to" field for the template
customTemplateIdstringfacultatif
Custom template identifier, if one was assigned during template creation. Only present when the template has a custom ID.
Essayer
PUT/smtp/templates/{templateId}Update an email template
updateSmtpTemplateapi-key

Update an existing transactional email template by its numeric ID or custom template identifier string. All fields in the request body are optional; only the provided fields will be updated. You can update the template name, subject, sender, reply-to address, HTML content (via htmlContent or htmlUrl), active status, tag, attachment URL, and the personalized toField. Only one of sender email or sender ID should be provided per request.

Paramètres
templateIdinteger · int64 | string · cheminrequis
ID of the template. Can be a numeric template ID or a custom template identifier string.
Corps de la requête
attachmentUrlstring · urlfacultatif
Absolute url of the attachment (no local file). Extensions 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
htmlContentstringfacultatif
Required if htmlUrl is empty. If the template is designed using Drag & Drop editor via HTML content, then the design page will not have Drag & Drop editor access for that template. Body of the message (HTML must have more than 10 characters)
htmlUrlstring · urlfacultatif
Required if htmlContent is empty. URL to the body of the email (HTML)
isActivebooleanfacultatif
Status of the template. isActive = false means template is inactive, isActive = true means template is active
replyTostring · emailfacultatif
Email on which campaign recipients will be able to reply to
senderobjectfacultatif
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}
3 champs
emailstring · emailfacultatif
Email of the sender
idinteger · int64facultatif
Select the sender for the template on the basis of sender id. _In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.
namestringfacultatif
Name of the sender
subjectstringfacultatif
Subject of the email
tagstringfacultatif
Tag of the template
templateNamestringfacultatif
Name of the template
toFieldstringfacultatif
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
Réponses
204 transactional email template updated400 bad request404 Template ID not found
Essayer
GET/smtp/templatesGet the list of email templates
getSmtpTemplatesapi-key

Retrieve a paginated list of all transactional email templates (including automation templates) with their details such as name, subject, sender, status, HTML content, and timestamps. Results default to 50 per page (max 1000) and are sorted in descending creation order unless overridden. You can filter by active/inactive status using templateStatus and by editor type using editorType (currently only richTextEditor is supported).

Paramètres
templateStatusboolean · requêtefacultatif
Filter on the status of the template. Active = true, inactive = false
limitinteger · int64 · requêtefacultatif
Number of documents returned per page
offsetinteger · int64 · requêtefacultatif
Index of the first document in the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
editorTypeenum · requêtefacultatif
Filter on the editor type used to create the template. Currently only richTextEditor is supported as a filter value.
Corps de la requête
Pas de corps.
Réponses
200 transactional email templates informations400 bad request
countinteger · int64facultatif
Count of transactional email templates
templatesobject[]facultatif
17 champs
createdAtstringrequis
Creation UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)
doiTemplatebooleanfacultatif
It is true if template is a valid Double opt-in (DOI) template, otherwise it is false. This field will be available only in case of single template detail call.
htmlContentstringrequis
HTML content of the template
idinteger · int64requis
ID of the template
isActivebooleanrequis
Status of template (true=active, false=inactive)
modifiedAtstringrequis
Last modification UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)
namestringrequis
Name of the template
replyTostring · emailrequis
Email defined as the "Reply to" for the template
senderobjectrequis
3 champs
emailstring · emailfacultatif
From email for the template
idstringfacultatif
Sender id of the template
namestringfacultatif
Sender name for the template
subjectstringrequis
Subject of the template
tagstringrequis
Tag of the template
testSentbooleanrequis
Status of test sending for the template (true=test email has been sent, false=test email has not been sent)
toFieldstringrequis
Customisation of the "to" field for the template
customTemplateIdstringfacultatif
Custom template identifier, if one was assigned during template creation. Only present when the template has a custom ID.
Essayer
POST/smtp/templatesCreate an email template
createSmtpTemplateapi-key

Create a new transactional email template with the specified sender, subject, and content. The sender, subject, and templateName fields are required. Template content can be provided via htmlContent (minimum 10 characters) or htmlUrl; at least one must be supplied. Templates are created as inactive by default unless isActive is explicitly set to true.

Corps de la requête
attachmentUrlstring · urlfacultatif
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'
htmlContentstringfacultatif
Body of the message (HTML version). The field must have more than 10 characters. REQUIRED if htmlUrl is empty
htmlUrlstring · urlfacultatif
Url which contents the body of the email message. REQUIRED if htmlContent is empty
isActivebooleanfacultatif
Status of template. isActive = true means template is active and isActive = false means template is inactive
replyTostring · emailfacultatif
Email on which campaign recipients will be able to reply to
senderobjectrequis
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}
3 champs
emailstring · emailfacultatif
Email of the sender
idinteger · int64facultatif
Select the sender for the template on the basis of sender id. _In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.
namestringfacultatif
Name of the sender. If not passed, will be set to default
subjectstringrequis
Subject of the template
tagstringfacultatif
Tag of the template
templateNamestringrequis
Name of the template
toFieldstringfacultatif
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
Réponses
201 successfully created400 bad request
idinteger · int64requis
ID of the object created
Essayer

Contacts 30

GET/contacts/{identifier}/campaignStatsGet email campaigns' statistics for a contact
getContactStatsapi-key

Retrieve email campaign statistics for a specific contact identified by email address or numeric ID. Statistics include messages sent, opens, clicks, hard/soft bounces, deliveries, unsubscriptions, complaints, and transactional attributes. By default, data covers the last 90 days; use startDate and endDate parameters (YYYY-MM-DD) to specify a custom range with a maximum span of 90 days.

Paramètres
identifierstring | integer · cheminrequis
Email (urlencoded) OR ID of the contact
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date.
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date. Maximum difference between startDate and endDate should not be greater than 90 days.
Corps de la requête
Pas de corps.
Réponses
200 Contact campaign statistics informations400 bad request404 Contact not found
clickedobject[]facultatif
6 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
linksobject[]requis
4 champs
countinteger · int64requis
Number of clicks on this link for the campaign
eventTimestringrequis
UTC date-time of the event
ipstringrequis
IP from which the user has clicked on the link
urlstringrequis
URL of the clicked link
complaintsobject[]facultatif
2 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
deliveredobject[]facultatif
2 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
hardBouncesobject[]facultatif
2 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
messagesSentobject[]facultatif
2 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
openedobject[]facultatif
4 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
countinteger · int64requis
Number of openings of the campaign
eventTimestringrequis
UTC date-time of the event
ipstringrequis
IP from which the user has opened the campaign
softBouncesobject[]facultatif
2 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
transacAttributesobject[]facultatif
3 champs
orderDatestring · daterequis
Date of the order
orderIdinteger · int64requis
ID of the order
orderPricenumber · floatrequis
Price of the order
unsubscriptionsobjectfacultatif
7 champs
adminUnsubscriptionobject[]requis
Contact has been unsubscribed from the administrator
2 champs
eventTimestringrequis
UTC date-time of the event
ipstringfacultatif
IP from which the user has been unsubscribed
userUnsubscriptionobject[]requis
Contact has unsubscribed via the unsubscription link in the email
3 champs
campaignIdinteger · int64requis
ID of the campaign which generated the event
eventTimestringrequis
UTC date-time of the event
ipstringfacultatif
IP from which the user has unsubscribed
Essayer
DELETE/contacts/{identifier}Delete a contact
deleteContactapi-key

There are 2 ways to delete a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact. <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute.

Paramètres
identifierstring | integer · cheminrequis
Email (urlencoded) OR ID of the contact OR EXT_ID attribute (urlencoded)
identifierTypeenum · requêtefacultatif
email_id for Email, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Corps de la requête
Pas de corps.
Réponses
204 Contact deleted400 bad request404 Contact not found405 You're not allowed to delete registered email contact with Brevo
Essayer
GET/contacts/{identifier}Get a contact's details
getContactInfoapi-key

<Note>Follow this format when passing a "SMS" phone number as an attribute. Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx</Note> There are 2 ways to get a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact. <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute <br><br>Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats `https://developers.brevo.com/reference/contacts-7#getcontactstats` endpoint with the appropriate date ranges.

Paramètres
identifierstring | integer · cheminrequis
Email (urlencoded) OR ID of the contact OR its SMS attribute value OR EXT_ID attribute (urlencoded)
identifierTypeenum · requêtefacultatif
email_id for Email, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date.
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date.
Corps de la requête
Pas de corps.
Réponses
200 Contact informations400 bad request404 Contact not found
Essayer
PUT/contacts/{identifier}Update a contact
updateContactapi-key

<Note>Follow this format when passing a "SMS" phone number as an attribute. Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx</Note> There are 2 ways to update a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact. <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute

Paramètres
identifierstring | integer · cheminrequis
Email (urlencoded) OR ID of the contact OR EXT_ID attribute (urlencoded) OR its SMS attribute value OR its WHATSAPP attribute value OR its LANDLINE_NUMBER attribute value
identifierTypeenum · requêtefacultatif
email_id for Email, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute
Corps de la requête
attributesobjectfacultatif
Pass the set of attributes to be updated. These attributes must be present in your account. To update existing email address of a contact with the new one please pass EMAIL in attributes. For example, { "EMAIL":"newemail@domain.com", "FNAME":"Ellie", "LNAME":"Roger", "COUNTRIES":["India","China"]}. The attribute's parameter should be passed in capital letter while updating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored .Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in SMS field should be passed with proper country code. For example: {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
emailBlacklistedbooleanfacultatif
Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)
ext_idstringfacultatif
Pass your own Id to update ext_id of a contact.
listIdsinteger · int64[]facultatif
Ids of the lists to add the contact to
smsBlacklistedbooleanfacultatif
Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)
smtpBlacklistSenderstring · email[]facultatif
transactional email forbidden sender for contact. Use only for email Contact
unlinkListIdsinteger · int64[]facultatif
Ids of the lists to remove the contact from
forceMergebooleanfacultatif
When true, if the contact being updated shares an identifier (email, SMS, ext_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent last_modified timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict.
par défaut false
Réponses
204 Contact updated400 bad request404 Contact not found425 Too Early
Essayer
DELETE/contacts/attributes/{attributeCategory}/{attributeName}Delete an attribute
deleteAttributeapi-key

Permanently delete an existing contact attribute by its category and name. The attribute must exist in the specified category (normal, transactional, category, calculated, or global), otherwise a 404 error is returned.

Paramètres
attributeCategoryenum · cheminrequis
Category of the attribute
attributeNamestring · cheminrequis
Name of the existing attribute
Corps de la requête
Pas de corps.
Réponses
204 Attribute deleted400 bad request404 bad request
Essayer
POST/contacts/attributes/{attributeCategory}/{attributeName}Create contact attribute
createAttributeapi-key

Create a new contact attribute under the specified category and name. The required body properties depend on the category: use "type" for normal, transactional, or category attributes; use "value" for calculated or global attributes; use "enumeration" for category attributes; and use "multiCategoryOptions" for normal multiple-choice attributes. None of the category or multicategory option values can exceed 200 characters.

Paramètres
attributeCategoryenum · cheminrequis
Category of the attribute
attributeNamestring · cheminrequis
Name of the attribute
Corps de la requête
enumerationobject[]facultatif
List of values and labels that the attribute can take. Use only if the attribute's category is "category". None of the category options can exceed max 200 characters. For example: [{"value":1, "label":"male"}, {"value":2, "label":"female"}]
2 champs
labelstringrequis
Label of the value
valueintegerrequis
Id of the value
isRecurringbooleanfacultatif
Type of the attribute. Use only if the attribute's category is 'calculated' or 'global'
multiCategoryOptionsstring[]facultatif
List of options you want to add for multiple-choice attribute. Use only if the attribute's category is "normal" and attribute's type is "multiple-choice". None of the multicategory options can exceed max 200 characters. For example: ["USA","INDIA"]
typeenumfacultatif
Type of the attribute. Use only if the attribute's category is 'normal', 'category' or 'transactional' Type user and multiple-choice is only available if the category is normal attribute Type id is only available if the category is transactional attribute Type category is only available if the category is category attribute
"text" "date" "float" "boolean" "id" "category" "multiple-choice" "user"
valuestringfacultatif
Value of the attribute. Use only if the attribute's category is 'calculated' or 'global'
Réponses
201 Attribute created400 bad request
Essayer
PUT/contacts/attributes/{attributeCategory}/{attributeName}Update contact attribute
updateAttributeapi-key

Update an existing contact attribute identified by its category and name. For category-type attributes, you can update the enumeration values; for calculated or global attributes, update the computed value formula; and for normal multiple-choice attributes, update the multicategory options. None of the category or multicategory option values can exceed 200 characters.

Paramètres
attributeCategoryenum · cheminrequis
Category of the attribute
attributeNamestring · cheminrequis
Name of the existing attribute
Corps de la requête
enumerationobject[]facultatif
List of the values and labels that the attribute can take. Use only if the attribute's category is "category" None of the category options can exceed max 200 characters. For example, [{"value":1, "label":"male"}, {"value":2, "label":"female"}]
2 champs
labelstringrequis
Label of the value
valueintegerrequis
Id of the value
multiCategoryOptionsstring[]facultatif
Use this option to add multiple-choice attributes options only if the attribute's category is "normal". This option is specifically designed for updating multiple-choice attributes. None of the multicategory options can exceed max 200 characters.. For example: ["USA","INDIA"]
valuestringfacultatif
Value of the attribute to update. Use only if the attribute's category is 'calculated' or 'global'
Réponses
204 Attribute updated400 bad request404 bad request
Essayer
DELETE/contacts/attributes/{attributeType}/{multipleChoiceAttribute}/{multipleChoiceAttributeOption}Delete a multiple-choice attribute option
deleteMultiAttributeOptionsapi-key

Delete a specific option from an existing multiple-choice contact attribute. The attribute type must be "multiple-choice", and both the attribute name and the option to delete must already exist in your account.

Paramètres
attributeTypeenum · cheminrequis
Type of the attribute
multipleChoiceAttributestring · cheminrequis
Name of the existing multiple-choice attribute
multipleChoiceAttributeOptionstring · cheminrequis
Name of the existing multiple-choice attribute option that you want to delete
Corps de la requête
Pas de corps.
Réponses
204 Multiple-Choice Attribute Option Deleted Successfully.400 bad request404 bad request
Essayer
GET/contacts/attributesList all attributes
getAttributesapi-key

Retrieve all contact attributes defined in your Brevo account, grouped by category (normal, transactional, category, calculated, global). Each attribute includes its name, type, and category, along with enumeration values for category-type attributes and options for multiple-choice-type attributes.

Corps de la requête
Pas de corps.
Réponses
200 Attributes listed400 bad request
attributesobject[]requis
Listing of available contact attributes in your account
9 champs
calculatedValuestringfacultatif
Calculated value formula
categoryenumrequis
Category of the attribute
"normal" "transactional" "category" "calculated" "global"
enumerationobject[]facultatif
Parameter only available for "category" type attributes.
3 champs
labelstringrequis
Label of the "category" type attribute
valueinteger · int64requis
Numeric ID of the "category" type attribute value. Set to 0 when the raw value cannot be converted to an integer (for example non-numeric values such as "en" or "fr"). Refer to valueStr for the original string representation.
valueStrstringrequis
String representation of the "category" type attribute value. Always contains the original value as stored. Use this field when the attribute value is non-numeric (e.g. "en", "fr") or when you need the exact string form alongside the numeric value.
multiCategoryOptionsstring[]facultatif
Parameter only available for "multiple-choice" type attributes.
namestringrequis
Name of the attribute
typeenumfacultatif
Type of the attribute
"text" "date" "float" "id" "boolean" "multiple-choice" "user"
Essayer
POST/contacts/batchUpdate multiple contacts
updateBatchContactsapi-key

Update multiple contacts in a single API call by passing an array of contact objects. Each contact in the array must be identified by one of: email, id, or sms (only one identifier per contact). You can update attributes, blacklist status, list memberships, ext_id, and transactional email forbidden senders for each contact in the batch.

Corps de la requête
contactsobject[]facultatif
List of contacts to be updated
10 champs
attributesobjectfacultatif
Pass the set of attributes to be updated. These attributes must be present in your account. To update existing email address of a contact with the new one please pass EMAIL in attribtes. For example, { "EMAIL":"newemail@domain.com", "FNAME":"Ellie", "LNAME":"Roger"}. Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in SMS field should be passed with proper country code. For example: {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"}
emailstring · emailfacultatif
Email address of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)
emailBlacklistedbooleanfacultatif
Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)
ext_idstringfacultatif
Pass your own Id to update ext_id of a contact.
idinteger · int64facultatif
id of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)
listIdsinteger · int64[]facultatif
Ids of the lists to add the contact to
smsstringfacultatif
SMS of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)
smsBlacklistedbooleanfacultatif
Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)
smtpBlacklistSenderstring · email[]facultatif
transactional email forbidden sender for contact. Use only for email Contact
unlinkListIdsinteger · int64[]facultatif
Ids of the lists to remove the contact from
Réponses
204 All contacts updated400 bad request
Essayer
POST/contacts/doubleOptinConfirmationCreate Contact via DOI (Double-Opt-In) Flow
createDoiContactapi-key

<Note title="How to use attributes param?">attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.</Note>

Corps de la requête
attributesobjectfacultatif
Pass the set of attributes and their values. These attributes must be present in your Brevo account. For eg. {'FNAME':'Elly', 'LNAME':'Roger', 'COUNTRIES': ['India','China']}
contactPixelTrackingConsentbooleanfacultatif
Consent of the DOI recipient for open (pixel) and click tracking in the double opt-in confirmation email, resolved by the sender at send time. Considered only if the per-contact pixel tracking consent feature is enabled for your account. Pass true if this recipient has consented to open and click tracking, in which case the open pixel and tracked links identify the recipient. Pass false to anonymise the open and click events (counted in aggregate statistics only). If it is not passed, the recipient is treated as unknown consent status and the email is still sent (the open and click are anonymised unless your account tracks unknown-consent contacts). A value other than true/false is rejected. Ignored when the feature is not enabled for your account.
emailstring · emailrequis
Email address where the confirmation email will be sent. This email address will be the identifier for all other contact attributes.
excludeListIdsinteger · int64[]facultatif
Lists under user account where contact should not be added
includeListIdsinteger · int64[]requis
Lists under user account where contact should be added
redirectionUrlstring · urlrequis
URL of the web page that user will be redirected to after clicking on the double opt in URL. When editing your DOI template you can reference this URL by using the tag {{ params.DOIurl }}.
templateIdinteger · int64requis
Id of the Double opt-in (DOI) template
Réponses
201 DOI Contact created204 DOI Contact updated400 bad request
Essayer
POST/contacts/exportExport contacts
requestContactExportapi-key

It returns the background process ID which on completion calls the notify URL that you have set in the input. File will be available in csv.

Corps de la requête
customContactFilterobjectrequis
Set the filter for the contacts to be exported.
7 champs
actionForContactsenumfacultatif
Mandatory if neither actionForEmailCampaigns nor actionForSmsCampaigns is passed. This will export the contacts on the basis of provided action applied on contacts as per the list id. * allContacts - Fetch the list of all contacts for a particular list. * subscribed & unsubscribed - Fetch the list of subscribed / unsubscribed (blacklisted via any means) contacts for a particular list. * unsubscribedPerList - Fetch the list of contacts that are unsubscribed from a particular list only.
"allContacts" "subscribed" "unsubscribed" "unsubscribedPerList"
actionForEmailCampaignsenumfacultatif
Mandatory if neither actionForContacts nor actionForSmsCampaigns is passed. This will export the contacts on the basis of provided action applied on email campaigns. * openers & nonOpeners - emailCampaignId is mandatory. Fetch the list of readers / non-readers for a particular email campaign. * clickers & nonClickers - emailCampaignId is mandatory. Fetch the list of clickers / non-clickers for a particular email campaign. * unsubscribed - emailCampaignId is mandatory. Fetch the list of all unsubscribed (blacklisted via any means) contacts for a particular email campaign. * hardBounces & softBounces - emailCampaignId is optional. Fetch the list of hard bounces / soft bounces for a particular / all email campaign(s).
"openers" "nonOpeners" "clickers" "nonClickers" "unsubscribed" "hardBounces" "softBounces"
actionForSmsCampaignsenumfacultatif
Mandatory if neither actionForContacts nor actionForEmailCampaigns is passed. This will export the contacts on the basis of provided action applied on sms campaigns. * unsubscribed - Fetch the list of all unsubscribed (blacklisted via any means) contacts for all / particular sms campaigns. * hardBounces & softBounces - Fetch the list of hard bounces / soft bounces for all / particular sms campaigns.
"hardBounces" "softBounces" "unsubscribed"
emailCampaignIdinteger · int64facultatif
Considered only if actionForEmailCampaigns is passed, ignored otherwise. Mandatory if action is one of the following - openers, nonOpeners, clickers, nonClickers, unsubscribed. The id of the email campaign for which the corresponding action shall be applied in the filter.
listIdinteger · int64facultatif
ID of the list. This is mandatory if actionForContacts is specified and segmentId is not provided. Either segmentId or listId must be included.
segmentIdinteger · int64facultatif
ID of the segment. This is mandatory if actionForContacts is specified and listId is not provided. Either segmentId or listId must be included.
smsCampaignIdinteger · int64facultatif
Considered only if actionForSmsCampaigns is passed, ignored otherwise. The id of sms campaign for which the corresponding action shall be applied in the filter.
disableNotificationbooleanfacultatif
To avoid generating the email notification upon contact export, pass true
par défaut false
exportAttributesstring[]facultatif
List of all the attributes that you want to export. These attributes must be present in your contact database. It is required if exportMandatoryAttributes is set false. For example: ['fname', 'lname', 'email']
exportMandatoryAttributesbooleanfacultatif
To export mandatory attributes like EMAIL, ADDED_TIME, MODIFIED_TIME
par défaut true
exportMetadatastring[]facultatif
Export metadata of contacts such as _listIds, ADDED_TIME, MODIFIED_TIME.
exportDateInUTCbooleanfacultatif
Specifies whether the date fields createdAt, modifiedAt in the exported data should be returned in UTC format.
par défaut false
exportSubscriptionStatusstring[]facultatif
Export subscription status of contacts for email & sms marketting. Pass email_marketing to obtain the marketing email subscription status & sms_marketing to retrieve the marketing SMS status of the contact.
notifyUrlstring · urlfacultatif
Webhook that will be called once the export process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479
Réponses
202 process id created400 bad request429 Too Many Requests
processIdinteger · int64requis
Id of the process created
Essayer
GET/contacts/folders/{folderId}/listsGet lists in a folder
getFolderListsapi-key

<Note>Ongoing changes for this endpoint. We're dropping support for the response attributes totalSubscribers and totalBlacklisted. These are non breaking changes. The default value for the attributes will be 0.</Note>

Paramètres
folderIdinteger · int64 · cheminrequis
Id of the folder
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Folder's Lists details400 bad request404 Folder ID not found
countinteger · int64facultatif
Number of lists in the folder
listsobject[]facultatif
Essayer
DELETE/contacts/folders/{folderId}Delete a folder (and all its lists)
deleteFolderapi-key

Permanently delete a folder identified by its ID. Deleting a folder will also delete all the contact lists contained within it. This action cannot be undone.

Paramètres
folderIdinteger · int64 · cheminrequis
Id of the folder
Corps de la requête
Pas de corps.
Réponses
204 Folder deleted400 bad request404 Folder ID not found
Essayer
GET/contacts/folders/{folderId}Returns a folder's details
getFolderapi-key

<Note>Ongoing changes for this endpoint. We're dropping support for the response attributes totalSubscribers and totalBlacklisted. These are non breaking changes. The default value for the attributes will be 0.</Note>

Paramètres
folderIdinteger · int64 · cheminrequis
id of the folder
Corps de la requête
Pas de corps.
Réponses
200 Folder details400 bad request404 Folder ID not found
idinteger · int64requis
ID of the folder
namestringrequis
Name of the folder
totalBlacklistedinteger · int64requis
Number of blacklisted contacts in the folder
totalSubscribersinteger · int64requis
Number of contacts in the folder
uniqueSubscribersinteger · int64requis
Number of unique contacts in the folder
Essayer
PUT/contacts/folders/{folderId}Update a folder
updateFolderapi-key

Update the name of an existing folder identified by its ID. The new folder name must be provided in the request body. Returns a 404 error if the folder ID does not exist.

Paramètres
folderIdinteger · int64 · cheminrequis
Id of the folder
Corps de la requête
namestringfacultatif
Name of the folder
Réponses
204 Folder updated400 bad request404 Folder ID not found
Essayer
GET/contacts/foldersGet all folders
getFoldersapi-key

<Note>Ongoing changes for this endpoint We're dropping support for the response attributes totalSubscribers and totalBlacklisted. These are non breaking changes. The default value for the attributes will be 0. The uniqueSubscribers field is deprecated</Note>

Paramètres
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Folders informations400 bad request
countinteger · int64facultatif
Number of folders available in your account
foldersobject[]facultatif
Essayer
POST/contacts/foldersCreate a folder
createFolderapi-key

Create a new folder to organize your contact lists. Folders serve as containers for grouping related lists together. The folder name is required and must be provided in the request body.

Corps de la requête
namestringfacultatif
Name of the folder
Réponses
201 successfully created400 bad request
idinteger · int64requis
ID of the object created
Essayer
POST/contacts/importImport contacts
importContactsapi-key

It returns the background process ID which on completion calls the notify URL that you have set in the input. Note: - Any contact attribute that doesn't exist in your account will be ignored at import end.

Corps de la requête
disableNotificationbooleanfacultatif
To disable email notification
par défaut false
emailBlacklistbooleanfacultatif
To blacklist all the contacts for email
par défaut false
emptyContactsAttributesbooleanfacultatif
To facilitate the choice to erase any attribute of the existing contacts with empty value. emptyContactsAttributes = true means the empty fields in your import will erase any attribute that currently contain data in Brevo, & emptyContactsAttributes = false means the empty fields will not affect your existing data ( only available if updateExistingContacts set to true )
par défaut false
fileBodystringfacultatif
Mandatory if fileUrl and jsonBody is not defined. CSV content to be imported. Use semicolon to separate multiple attributes. Maximum allowed file body size is 10MB . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of file body size while parsing. Please use fileUrl instead to import bigger files.
fileUrlstring · urlfacultatif
Mandatory if fileBody and jsonBody is not defined. URL of the file to be imported (no local file). Possible file formats: #### .txt, .csv, .json
jsonBodyobject[]facultatif
Mandatory if fileUrl and fileBody is not defined. JSON content to be imported. Maximum allowed json body size is 10MB . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of json body size while parsing. Please use fileUrl instead to import bigger files.
2 champs
attributesobjectfacultatif
List of attributes to be imported
emailstringfacultatif
listIdsinteger · int64[]facultatif
Mandatory if newList is not defined. Ids of the lists in which the contacts shall be imported. For example, [2, 4, 7].
consentGroupIdsinteger · int64[]facultatif
Optional. Ids of the consent groups to which all imported contacts will be added. Requires consent groups to be enabled for the organisation. For example, [1, 3].
newListobjectfacultatif
To create a new list and import the contacts into it, pass the listName and an optional folderId.
2 champs
folderIdinteger · int64facultatif
Id of the folder where this new list shall be created. Mandatory if listName is not empty
listNamestringfacultatif
List with listName will be created first and users will be imported in it. Mandatory if listIds is empty.
notifyUrlstring · urlfacultatif
URL that will be called once the import process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479
smsBlacklistbooleanfacultatif
To blacklist all the contacts for sms
par défaut false
updateExistingContactsbooleanfacultatif
To facilitate the choice to update the existing contacts
par défaut true
Réponses
202 process id created400 bad request
processIdinteger · int64requis
Id of the process created
Essayer
POST/contacts/lists/{listId}/contacts/addAdd existing contacts to a list
addContactToListapi-key
Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
Corps de la requête
object
Réponses
201 All contacts have been added successfully to the list with details of failed ones400 bad request404 List ID not found
contactsobjectrequis
4 champs
failurestring · email[] | integer · int64[]facultatif
processIdinteger · int64facultatif
Id of the process created to remove contacts from list when user opts for "all" option.
successstring · email[] | integer · int64[]facultatif
totalinteger · int64facultatif
Displays the count of total number of contacts removed from list when user opts for "all" option.
Essayer
POST/contacts/lists/{listId}/contacts/removeDelete a contact from a list
removeContactFromListapi-key
Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
Corps de la requête
object
Réponses
201 All contacts have been removed successfully from the list with details of failed ones400 bad request404 List ID not found
contactsobjectrequis
4 champs
failurestring · email[] | integer · int64[]facultatif
processIdinteger · int64facultatif
Id of the process created to remove contacts from list when user opts for "all" option.
successstring · email[] | integer · int64[]facultatif
totalinteger · int64facultatif
Displays the count of total number of contacts removed from list when user opts for "all" option.
Essayer
GET/contacts/lists/{listId}/contactsGet contacts in a list
getContactsFromListapi-key

Retrieve all contacts belonging to a specific list, identified by its list ID. Results are paginated with a default of 50 contacts per page (maximum 500) and sorted in descending order of creation. You can optionally filter contacts by their modification date using the modifiedSince parameter.

Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
modifiedSincestring · requêtefacultatif
Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Contact informations400 bad request404 List ID not found429 Too Many Requests
contactsobject[]requis
countinteger · int64requis
Number of contacts
Essayer
DELETE/contacts/lists/{listId}Delete a list
deleteListapi-key

Permanently delete a contact list identified by its ID. The contacts in the list are not deleted; they are only removed from this list. Returns a 404 error if the list ID does not exist.

Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
Corps de la requête
Pas de corps.
Réponses
204 List deleted400 bad request404 List ID not found
Essayer
GET/contacts/lists/{listId}Get a list's details
getListapi-key

Retrieve the details of a specific contact list by its ID, including its name, folder ID, creation date, subscriber counts, and campaign statistics. You can optionally filter campaign statistics by providing startDate and endDate parameters (both must be used together in YYYY-MM-DD format).

Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
startDatestring · requêtefacultatif
Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. Prefer to pass your timezone in date-time format for accurate result
endDatestring · requêtefacultatif
Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. Prefer to pass your timezone in date-time format for accurate result
Corps de la requête
Pas de corps.
Réponses
200 List informations400 bad request404 List ID not found
Essayer
PUT/contacts/lists/{listId}Update a list
updateListapi-key

Update an existing contact list identified by its ID. You can update the list name, move it to a different folder by providing a new folderId, or both. Only one of the two parameters (name, folderId) needs to be provided per request.

Paramètres
listIdinteger · int64 · cheminrequis
Id of the list
Corps de la requête
folderIdinteger · int64facultatif
Id of the folder in which the list is to be moved. Either of the two parameters (name, folderId) can be updated at a time.
namestringfacultatif
Name of the list. Either of the two parameters (name, folderId) can be updated at a time.
Réponses
204 List updated400 bad request404 List ID not found
Essayer
GET/contacts/listsGet all the lists
getListsapi-key

<Note>Ongoing changes for this endpoint. We're dropping support for the response attributes totalSubscribers and totalBlacklisted. These are non breaking changes. The default value for the attributes will be 0.</Note>

Paramètres
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Lists informations400 bad request
countinteger · int64facultatif
Number of lists in your account
listsobject[]facultatif
Listing of all the lists available in your account
Essayer
POST/contacts/listsCreate a list
createListapi-key

Create a new contact list inside a specified folder. Both the list name and the parent folder ID are required. The newly created list will be empty and ready to receive contacts via the add contacts endpoint.

Corps de la requête
folderIdinteger · int64requis
Id of the parent folder in which this list is to be created
namestringrequis
Name of the list
Réponses
201 successfully created400 bad request
idinteger · int64requis
ID of the object created
Essayer
GET/contacts/segmentsGet all the segments
getSegmentsapi-key

Retrieve all contact segments defined in your Brevo account with support for pagination and sorting. Results default to 10 segments per page (maximum 50) sorted in descending order of creation. Each segment includes its ID, name, category name, and last update timestamp.

Paramètres
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Segments informations400 bad request
countinteger · int64facultatif
Number of Segments in your account
segmentsobject[]facultatif
Listing of all the segments available in your account
4 champs
categoryNamestringrequis
Name of the Segment Category
idinteger · int64requis
ID of the segment
segmentNamestringrequis
Name of the Segment
updatedAtstringfacultatif
Last update UTC date-time of the segment (YYYY-MM-DDTHH:mm:ss.SSSZ)
Essayer
GET/contactsGet all the contacts
getContactsapi-key

Retrieve all contacts from your Brevo account with support for pagination, filtering, and sorting. Results default to 50 contacts per page (maximum 1000) sorted in descending order of creation, and can be filtered by modification date, creation date, contact IDs (up to 20), list IDs, segment ID, or contact attributes using the equals operator. Note that either listIds or segmentId can be passed but not both simultaneously.

Paramètres
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document of the page
modifiedSincestring · requêtefacultatif
Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
createdSincestring · requêtefacultatif
Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
idsinteger · int64[] · requêtefacultatif
Filter by a list of contact IDs. You can pass a maximum of 20 IDs. All elements must be integers.
segmentIdinteger · int64 · requêtefacultatif
Id of the segment. Either listIds or segmentId can be passed. Must be a positive integer (minimum value of 1).
listIdsinteger · int64[] · requêtefacultatif
Ids of the list. Either listIds or segmentId can be passed.
filterstring · requêtefacultatif
Filter the contacts on the basis of attributes. Allowed operator: equals. For multiple-choice options, the filter will apply an AND condition between the options. For category attributes, the filter will work with both id and value. (e.g. filter=equals(FIRSTNAME,"Antoine"), filter=equals(B1, true), filter=equals(DOB, "1989-11-23"), filter=equals(GENDER, "1"), filter=equals(GENDER, "MALE"), filter=equals(COUNTRY,"USA, INDIA")
Corps de la requête
Pas de corps.
Réponses
200 All contacts listed400 bad request429 Too Many Requests
contactsobject[]requis
countinteger · int64requis
Number of contacts
Essayer
POST/contactsCreate a contact
createContactapi-key

<Note>Follow this format when passing a "SMS" phone number as an attribute. Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx</Note> Creates new contacts on Brevo. Contacts can be created by passing either - <br><br> 1. email address of the contact (email_id), <br> 2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"} <br> 3. ext_id <br>

Corps de la requête
attributesobjectfacultatif
Pass the set of attributes and their values. The attribute's parameter should be passed in capital letter while creating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored. These attributes must be present in your Brevo account. For eg: {"FNAME":"Elly", "LNAME":"Roger", "COUNTRIES": ["India","China"]}
emailstring · emailfacultatif
Email address of the user. Mandatory if "ext_id" & "SMS" field is not passed.
emailBlacklistedbooleanfacultatif
Set this field to blacklist the contact for emails (emailBlacklisted = true)
ext_idstringfacultatif
Pass your own Id to create a contact.
listIdsinteger · int64[]facultatif
Ids of the lists to add the contact to
smsBlacklistedbooleanfacultatif
Set this field to blacklist the contact for SMS (smsBlacklisted = true)
smtpBlacklistSenderstring · email[]facultatif
transactional email forbidden sender for contact. Use only for email Contact ( only available if updateEnabled = true )
updateEnabledbooleanfacultatif
Facilitate to update the existing contact in the same request (updateEnabled = true)
par défaut false
forceMergebooleanfacultatif
When true, if the contact being created shares an identifier (email, SMS, ext_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent last_modified timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict.
par défaut false
getIdbooleanfacultatif
When true, the response returns the id of the surviving contact after merge.
par défaut false
Réponses
201 Contact created204 Contact updated400 bad request425 Too Early
idinteger · int64facultatif
ID of the contact when a new contact is created
Essayer

Senders 7

GET/senders/{senderId}/ipsGet all the dedicated IPs for a specific sender
getIpsFromSenderapi-key

Retrieves the dedicated IPs associated with a specific sender.

Use this to: - Check IP configuration for a sender - Verify dedicated IP associations - Get IP details for troubleshooting - Monitor sender IP configuration

Key information returned: - List of associated dedicated IPs - IP addresses and domain configurations - IP status and settings

Paramètres
senderIdinteger · int64 · cheminrequis
Id of the sender
Corps de la requête
Pas de corps.
Réponses
200 List of dedicated IPs retrieved successfully400 bad request404 Sender ID not found
ipsobject[]requis
Dedicated IP(s) linked to a sender. Returns empty array for standard accounts without dedicated IPs.
4 champs
domainstringrequis
Domain associated to the IP
idinteger · int64requis
ID of the dedicated IP
ipstringrequis
Dedicated IP address
weightinteger · int64requis
Weight of the IP for this sender
Essayer
PUT/senders/{senderId}/validateValidate a sender using OTP
validateSenderByOTPapi-key

Validates a sender using the OTP (One-Time Password) received via email.

Use this to: - Complete sender verification process - Activate a newly created sender - Verify ownership of the sender email address - Enable the sender for use in email campaigns

Key information returned: - Success confirmation of sender verification - Sender activation status

Paramètres
senderIdinteger · int64 · cheminrequis
Id of the sender
Corps de la requête
otpintegerrequis
6 digit OTP received on email
100000–999999
Réponses
204 Sender verified successfully400 bad request404 Sender ID not found
Essayer
DELETE/senders/{senderId}Delete a sender
deleteSenderapi-key

Deletes an email sender from your Brevo account.

Use this to: - Remove senders that are no longer needed - Clean up sender configurations - Remove duplicate or test senders

Key information returned: - Success confirmation message

Paramètres
senderIdinteger · int64 · cheminrequis
Id of the sender
Corps de la requête
Pas de corps.
Réponses
204 Sender deleted successfully400 bad request404 Sender ID not found
Essayer
PUT/senders/{senderId}Update a sender
updateSenderapi-key

Updates an existing email sender's configuration.

Use this to: - Modify sender display name or email address - Update dedicated IP associations - Change sender configuration settings - Correct sender information

Key information returned: - Success confirmation - Updated sender details

Paramètres
senderIdinteger · int64 · cheminrequis
Id of the sender
Corps de la requête
emailstring · emailfacultatif
From Email to update the sender
ipsobject[]facultatif
Only in case of dedicated IP. IPs to associate to the sender. If passed, will replace all the existing IPs. Not required for standard accounts.
3 champs
domainstringrequis
Domain of the IP
ipstringrequis
Dedicated IP available in your account
weightinteger · int64facultatif
Weight to apply to the IP. Sum of all IP weights must be 100. Should be passed for either ALL or NONE of the IPs. If it's not passed, the sending will be equally balanced on all IPs.
1–100
namestringfacultatif
From Name to update the sender
Réponses
204 Sender updated successfully400 bad request404 Sender ID not found
Essayer
GET/senders/ipsGet all the dedicated IPs for your account
getIpsapi-key

Retrieves all dedicated IPs associated with your Brevo account.

Use this to: - List all your dedicated IPs - Check the status of your dedicated IPs (active/inactive) - Find IP addresses and associated domains for configuration purposes - Monitor your IP reputation and deliverability - Verify available IPs for sender configuration

Key information returned: - IP ID and address - Associated domain - Active status - IP configuration details

Corps de la requête
Pas de corps.
Réponses
200 List of dedicated IPs retrieved successfully400 bad request
ipsobject[]requis
Dedicated IP(s) available on your account. Returns empty array for standard accounts without dedicated IPs.
4 champs
idinteger · int64requis
ID of the dedicated IP
activebooleanrequis
Status of the IP (true=active, false=inactive)
domainstringrequis
Domain associated to the IP
ipstringrequis
Dedicated IP address
Essayer
GET/sendersGet email senders
getSendersapi-key

Retrieves a list of all email senders from your Brevo account with optional filtering.

Use this to: - Get all available senders for email campaign setup - Find sender details including ID, name, and email address - Filter senders by IP address for dedicated IP users - Filter senders by domain for domain-specific configurations - Monitor sender configuration and status

Key information returned: - Sender details (ID, name, email address) - Sender status and verification information - Associated IP addresses and domains (for dedicated IP accounts) - Sender configuration settings

Important considerations: - Standard accounts show empty IP arrays, dedicated IP accounts show IP assignments - Filtering by IP only available for accounts with dedicated IPs - Domain filtering helps organize senders by business units or brands - Sender status indicates if sender is active and ready for campaign use - Email verification required before sender can be used in campaigns

Paramètres
ipstring · requêtefacultatif
Filter your senders for a specific ip. Available for dedicated IP usage only
domainstring · requêtefacultatif
Filter your senders for a specific domain
Corps de la requête
Pas de corps.
Réponses
200 List of senders retrieved successfully400 bad request
sendersobject[]facultatif
List of the senders available in your account
8 champs
activebooleanrequis
Status of sender (true=activated, false=deactivated)
emailstring · emailrequis
From Email associated to the sender
idinteger · int64requis
Id of the sender
ipsobject[]requis
List of dedicated IP(s) available in the account. This data is displayed only for dedicated IPs. For standard accounts, this will be an empty array.
3 champs
domainstringrequis
Domain of the IP
ipstringrequis
Dedicated IP available in your account
weightinteger · int64requis
Weight of the IP for this sender
namestringrequis
From Name associated to the sender
Essayer
POST/sendersCreate email sender
createSenderapi-key

Creates a new email sender in your Brevo account.

Use this to: - Add new senders for email campaigns - Configure sender identity (name and email) - Associate dedicated IPs with the sender (for dedicated IP accounts) - Set up domain-based sender configurations

Key information returned: - Created sender ID - DKIM and SPF configuration status - Success confirmation

Important considerations: - Verification email sent to specified sender address - DKIM and SPF configuration affects deliverability - Dedicated IP accounts require IP association during creation - IP weights must sum to 100 when specified - Sender must be verified before use in campaigns

Corps de la requête
emailstring · emailrequis
From email to use for the sender. A verification email will be sent to this address.
ipsobject[]facultatif
Mandatory in case of dedicated IP. IPs to associate to the sender. Not required for standard accounts.
3 champs
domainstringrequis
Domain of the IP
ipstringrequis
Dedicated IP available in your account
weightinteger · int64facultatif
Weight to apply to the IP. Sum of all IP weights must be 100. Should be passed for either ALL or NONE of the IPs. If it's not passed, the sending will be equally balanced on all IPs.
1–100
namestringrequis
From Name to use for the sender
Réponses
201 Sender created successfully400 bad request
dkimErrorbooleanfacultatif
Status of DKIM configuration for the sender (true = DKIM not well configured, false = DKIM well configured)
idinteger · int64requis
ID of the Sender created
spfErrorbooleanfacultatif
Status of SPF configuration for the sender (true = SPF not well configured, false = SPF well configured)
Essayer

Domains 5

PUT/senders/domains/{domainName}/authenticateAuthenticate a sender domain
authenticateDomainapi-key

Authenticates a specific domain.

Use this to: - Authenticate a domain - Verify DNS record configuration - Complete domain setup for sending - Enable domain for email authentication

Key information returned: - Authentication success confirmation - Domain readiness status for email sending

Paramètres
domainNamestring · cheminrequis
Domain name
Corps de la requête
Pas de corps.
Réponses
200 Domain authenticated successfully400 bad request404 bad request
domain_namestringrequis
Domain name that was authenticated
messagestringrequis
Success message confirming authentication
Essayer
DELETE/senders/domains/{domainName}Delete a sender domain
deleteDomainapi-key

Deletes a domain from Brevo.

Use this to: - Remove existing domains - Clean up unused domain configurations - Remove test domains

Key information returned: - Success confirmation message

Paramètres
domainNamestring · cheminrequis
Domain name
Corps de la requête
Pas de corps.
Réponses
200 Domain deleted successfully400 bad request404 bad request
Essayer
GET/senders/domains/{domainName}Get a sender domain configuration
getDomainConfigurationapi-key

Retrieves configuration of a specific domain, to know if the domain is valid or not.

Use this to: - Check domain configuration - Validate a domain configuration - Monitor DNS record status - Troubleshoot authentication issues

Key information returned: - Domain verification and authentication status - DNS records configuration and validation status - Detailed authentication requirements

Paramètres
domainNamestring · cheminrequis
Domain name
Corps de la requête
Pas de corps.
Réponses
200 Domain configuration retrieved successfully400 bad request404 bad request
domainstringrequis
Domain name
verifiedbooleanrequis
Status of domain verification (true=verified, false=non verified)
authenticatedbooleanrequis
Status of domain authentication (true=authenticated, false=non authenticated)
dns_recordsobjectrequis
DNS records configuration and status
15 champs
brevo_codeobjectrequis
Brevo verification code record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
dkim_recordobjectrequis
DKIM authentication record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
dmarc_recordobjectrequis
DMARC policy record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
Essayer
GET/senders/domainsGet the list of all sender domains
getDomainsapi-key

Retrieves all domains associated with the account.

Use this to: - List all domains - Verify domain existence - Check domain authentication and verification status - Monitor domain configuration and provider information - Review domain creation history and ownership

Key information returned: - Domain details (ID, name, authentication status) - Verification and authentication states - Associated IP addresses and DNS providers - Creator information and creation timestamps - Pagination information for large domain lists

Corps de la requête
Pas de corps.
Réponses
200 List of domains retrieved successfully400 bad request
domainsobject[]requis
List of the domains available in your account
10 champs
idstringrequis
Unique identifier of the domain
domain_namestringrequis
Domain name
authenticatedbooleanrequis
Status of domain authentication (true=authenticated, false=non authenticated)
verifiedbooleanrequis
Status of domain verification (true=verified, false=non verified)
ipstringfacultatif
Dedicated IP associated with domain (null if none)
providerstringrequis
DNS provider for the domain
creatorobjectrequis
Information about who created the domain
3 champs
idstringrequis
Creator's user ID
emailstringrequis
Creator's email address
creationDatestring · date-timerequis
Domain creation date
countintegerrequis
Total number of domains
current_pageintegerrequis
Current page number
total_pagesintegerrequis
Total number of pages
Essayer
POST/senders/domainsCreate a new sender domain
createDomainapi-key

Creates a new domain in Brevo.

Use this to: - Add new domains for sending emails - Set up domain authentication for better deliverability - Configure DNS records for email authentication - Establish domain-based sender identities

Key information returned: - Created domain ID and configuration - Required DNS records for authentication - Domain provider detection results - Setup instructions and next steps

Corps de la requête
namestring · hostnamerequis
Domain name to be added
Réponses
200 Domain created successfully400 bad request
idinteger · int64requis
ID of the Domain created
domain_namestringrequis
Domain name
domain_providerstringfacultatif
Detected domain provider
messagestringrequis
Success message with next steps
dns_recordsobjectfacultatif
DNS records required for domain authentication
15 champs
brevo_codeobjectrequis
Brevo verification code record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
dkim_recordobjectrequis
DKIM authentication record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
dmarc_recordobjectrequis
DMARC policy record
4 champs
host_namestringrequis
DNS record hostname
typestringrequis
DNS record type
valuestringrequis
DNS record value
statusbooleanrequis
Whether the record is properly configured
Essayer

Webhooks 6

DELETE/webhooks/{webhookId}Delete a webhook
deleteWebhookapi-key

Permanently deletes a webhook and stops all event notifications.

Use this to: - Remove unused or obsolete webhook configurations - Clean up webhook endpoints and subscriptions - Stop event notifications to specific URLs - Maintain organized webhook management

Key information returned: - Success confirmation of webhook deletion

Paramètres
webhookIdinteger · int64 · cheminrequis
Id of the webhook
Corps de la requête
Pas de corps.
Réponses
204 Webhook deleted400 bad request404 bad request
Essayer
GET/webhooks/{webhookId}Get a webhook details
getWebhookapi-key

Retrieves detailed information about a specific webhook configuration.

Use this to: - Get complete webhook configuration and settings - Check webhook event subscriptions and triggers - Review authentication and security settings - Verify webhook URL and custom headers - Access webhook creation and modification history

Key information returned: - Complete webhook details and configuration - Event types and channel subscriptions - Authentication credentials and methods - Custom headers and request settings - Webhook status and activity information

Paramètres
webhookIdinteger · int64 · cheminrequis
Id of the webhook
Corps de la requête
Pas de corps.
Réponses
200 Webhook informations400 bad request404 bad request
authobjectfacultatif
Authentication header to be send with the webhook requests
batchedbooleanfacultatif
Batching configuration of the webhook, we send batched webhooks if its true
createdAtstringrequis
Creation UTC date-time of the webhook (YYYY-MM-DDTHH:mm:ss.SSSZ)
descriptionstringrequis
Description of the webhook
eventsstring[]requis
headersobject[]facultatif
idinteger · int64requis
ID of the webhook
modifiedAtstringrequis
Last modification UTC date-time of the webhook (YYYY-MM-DDTHH:mm:ss.SSSZ)
typeenumrequis
Type of webhook (marketing, transactional, or inbound)
"marketing" "transactional" "inbound"
domainstringfacultatif
Inbound domain of the webhook, only returned for inbound type webhooks
urlstring · urlrequis
URL of the webhook
Essayer
PUT/webhooks/{webhookId}Update a webhook
updateWebhookapi-key

Updates an existing webhook configuration and event subscriptions.

Use this to: - Modify webhook event subscriptions and triggers - Update webhook URL and endpoint configuration - Change authentication settings and credentials - Adjust custom headers and request parameters - Enable or disable specific webhook events

Key information returned: - Success confirmation of webhook updates

Paramètres
webhookIdinteger · int64 · cheminrequis
Id of the webhook
Corps de la requête
authobjectfacultatif
Add authentication on webhook url
2 champs
tokenstringfacultatif
Webhook authentication token
typestringfacultatif
Type of authentication
batchedbooleanfacultatif
To send batched webhooks
descriptionstringfacultatif
Description of the webhook
domainstringfacultatif
Inbound domain of webhook, used in case of event type inbound
eventsenum[]facultatif
- Events triggering the webhook. Possible values for Transactional type webhook: #### sent OR request, delivered, hardBounce, softBounce, blocked, spam, invalid, deferred, click, opened, uniqueOpened and unsubscribed - Possible values for Marketing type webhook: #### spam, opened, click, hardBounce, softBounce, unsubscribed, listAddition & delivered - Possible values for Inbound type webhook: #### inboundEmailProcessed #### reply
headersobject[]facultatif
Custom headers to be send with webhooks
2 champs
keystringfacultatif
Header key name
valuestringfacultatif
Header value
urlstring · urlfacultatif
URL of the webhook
Réponses
204 Webhook updated400 bad request404 bad request
Essayer
POST/webhooks/exportExport webhook event history as CSV file
exportWebhooksHistoryapi-key

<Note>This is an enterprise feature.

To have it activated please send us a request and we will activate it for your account.</Note>

Exports webhook event history to CSV format for analysis and reporting.

Use this to: - Generate comprehensive webhook event reports - Analyze webhook delivery patterns and success rates - Export event data for external analysis tools - Create historical reports for compliance and auditing - Track webhook performance and reliability metrics

Key information returned: - Process ID for tracking export completion - CSV file will be delivered to specified webhook URL

Corps de la requête
daysintegerfacultatif
Number of days in the past including today (positive integer). _Not compatible with 'startDate' and 'endDate'_
emailstringfacultatif
Filter the history for a specific email
endDatestringfacultatif
Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate
eventenumrequis
Filter the history for a specific event type
"invalid_parameter" "missing_parameter" "hardBounce" "softBounce" "delivered" "spam" "request" "opened" "click" "invalid" …
messageIdstringfacultatif
Filter the history for a specific message id. Applicable only for transactional webhooks.
notifyURLstringrequis
Webhook URL to receive CSV file link
sortstringfacultatif
Sorting order of records (asc or desc)
startDatestringfacultatif
Mandatory if endDate is used. Starting date of the history (YYYY-MM-DD). Must be lower than equal to endDate
typeenumrequis
Filter the history based on webhook type
"transactional" "marketing"
webhookIdintegerfacultatif
Filter the history for a specific webhook id
Réponses
202 process id created400 bad request
processIdinteger · int64requis
Id of the process created
Essayer
GET/webhooksGet all webhooks
getWebhooksapi-key

Retrieves all webhooks from your Brevo account with filtering and sorting options.

Use this to: - Monitor webhook configurations and event handling - List webhooks by type (transactional, marketing, inbound) - Review webhook endpoints and authentication - Track webhook creation and modification history - Audit webhook event subscriptions

Key information returned: - Complete webhook details and configuration - Event types and channel subscriptions - Authentication and security settings - Webhook URLs and custom headers - Creation and modification timestamps

Paramètres
typeenum · requêtefacultatif
Filter on webhook type
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of webhook creation
Corps de la requête
Pas de corps.
Réponses
200 Webhooks informations400 bad request
webhooksobject[]requis
Essayer
POST/webhooksCreate a webhook
createWebhookapi-key

Creates a new webhook to receive real-time notifications for specified events.

Use this to: - Set up event notifications for transactional or marketing emails - Configure webhook endpoints for campaign tracking - Enable real-time monitoring of email delivery status - Subscribe to contact list changes and updates - Implement custom event handling and automation

Key information returned: - Created webhook ID and configuration - Success confirmation and setup details

Corps de la requête
authobjectfacultatif
Add authentication on webhook url
2 champs
tokenstringfacultatif
Webhook authentication token
typestringfacultatif
Type of authentication
batchedbooleanfacultatif
To send batched webhooks
channelenumfacultatif
Channel of the webhook
"email" "sms" · par défaut "email"
descriptionstringfacultatif
Description of the webhook
domainstringfacultatif
Inbound domain of webhook, required in case of event type inbound
eventsenum[]facultatif
Events triggering the webhook. Required for transactional and marketing types, optional for inbound type (defaults to inboundEmailProcessed). Possible values for Transactional type webhook: sent OR request, delivered, hardBounce, softBounce, blocked, spam, invalid, deferred, click, opened, uniqueOpened and unsubscribed. Possible values for Marketing type webhook: spam, opened, click, hardBounce, softBounce, unsubscribed, listAddition, delivered, contactUpdated & contactDeleted. Possible values for Inbound type webhook: inboundEmailProcessed.
headersobject[]facultatif
Custom headers to be send with webhooks
2 champs
keystringfacultatif
Header key name
valuestringfacultatif
Header value
typeenumfacultatif
Type of the webhook
"transactional" "marketing" "inbound" · par défaut "transactional"
urlstring · urlrequis
URL of the webhook
Réponses
201 successfully created400 bad request
idinteger · int64requis
ID of the object created
Essayer

Account 2

GET/accountGet account details
getAccountapi-key

Retrieves details of your Brevo account.

Use this to: - Get account information (email, name, company, address) - Check plan details (type, credits, expiration) - Get relay information (for transactional emails) - Check Marketing Automation status - Access organization and user identifiers

Key information returned: - Complete account details (organization ID, user ID, company information) - Address and contact information - Plan configurations and credit allocations across different verticals - Marketing Automation settings and tracker key (when enabled) - SMTP relay configuration for transactional emails - Enterprise features availability status

Important considerations: - Provides comprehensive account overview for billing and configuration management - Essential for understanding current plan limitations and feature availability - Marketing Automation key is only returned when Marketing Automation is enabled on the account - Plan verticals show detailed breakdown across Marketing, Chat, and CRM categories (only returned when plan verticals are available) - Relay configuration crucial for transactional email setup and deliverability - Enterprise status determines access to advanced features and sub-account management

Corps de la requête
Pas de corps.
Réponses
200 Account information retrieved successfully400 bad request
Essayer
GET/organization/activitiesGet user activity logs
getAccountActivityapi-key

Retrieves user activity logs from your organization for security monitoring and audit compliance.

Use this to: - Monitor user login activities and access patterns - Track account modifications and configuration changes - Generate security audit reports and compliance documentation - Investigate suspicious activities and unauthorized access - Monitor team member actions and account usage

Key information returned: - Complete user activity details and timestamps - User identification (email, IP address, browser) - Action types and activity descriptions - Security-relevant events and access logs - Historical activity data for audit trails

Note: Requires Enterprise plan for access to organization activity logs.

Paramètres
startDatestring · requêtefacultatif
Mandatory if endDate is used. Enter start date in UTC date (YYYY-MM-DD) format to filter the activity in your account. Maximum time period that can be selected is one month. Additionally, you can retrieve activity logs from the past 12 months from the date of your search.
endDatestring · requêtefacultatif
Mandatory if startDate is used. Enter end date in UTC date (YYYY-MM-DD) format to filter the activity in your account. Maximum time period that can be selected is one month.
emailstring · requêtefacultatif
Enter the user's email address to filter their activity in the account.
limitinteger · int64 · requêtefacultatif
Number of documents per page
offsetinteger · int64 · requêtefacultatif
Index of the first document in the page.
Corps de la requête
Pas de corps.
Réponses
200 list of user activity logs400 bad request
logsobject[]facultatif
Get user activity logs
5 champs
actionstringrequis
Type of activity in the account.
datestringrequis
Time of the activity.
user_agentstringrequis
Browser details of the user who performed the activity.
user_emailstringrequis
Email address of the user who performed activity in the account.
user_ipstringrequis
IP address of the user who performed activity in the account.
Essayer

Process 2

GET/processes/{processId}Get process details
getProcessapi-key

Retrieves detailed information about a specific background process.

Use this to: - Get detailed status of a specific process - Monitor process progress and completion - Download results from completed export processes - Check error details for failed processes - Track process execution times

Key information returned: - Complete process details (ID, name, status) - Download URLs for completed export processes - Import details with CSV report URLs for completed import processes

Important considerations: - Process ID must exist in your account and not be deleted - Completed export processes include download URLs - Completed import processes include CSV report URLs with details about problematic records - Different process types return different result structures

Paramètres
processIdinteger · int64 · cheminrequis
Id of the process
Corps de la requête
Pas de corps.
Réponses
200 Process information retrieved successfully400 bad request404 Process ID not found
idinteger · int64requis
Unique identifier of the process
nameenumrequis
Name/type of the process
"IMPORTUSER" "SEARCH_EXPORT_USERS" "TRANS-CALC" "TRANS-GLOBAL-CALC" "CAMPAIGN_PROCESSING" "LIST_EXPORT" "CONTACT_EXPORT"
statusenumrequis
Current status of the process
"queued" "processing" "completed" "failed" "cancelled"
infoobjectfacultatif
Additional process information, only returned for completed IMPORTUSER processes. Contains URLs to CSV files with details about problematic records.
8 champs
importobjectfacultatif
Import process details with URLs to CSV reports
7 champs
invalid_emailsstringfacultatif
URL to CSV file containing invalid email addresses, or null if none
duplicate_contact_idstringfacultatif
URL to CSV file containing duplicate contact IDs, or null if none
duplicate_ext_idstringfacultatif
URL to CSV file containing duplicate external IDs, or null if none
duplicate_email_idstringfacultatif
URL to CSV file containing duplicate email IDs, or null if none
duplicate_phone_idstringfacultatif
URL to CSV file containing duplicate phone numbers, or null if none
duplicate_whatsapp_idstringfacultatif
URL to CSV file containing duplicate WhatsApp numbers, or null if none
duplicate_landline_number_idstringfacultatif
URL to CSV file containing duplicate landline numbers, or null if none
export_urlstring · urlfacultatif
Download URL for completed export processes (returned for SEARCH_EXPORT_USERS, SEARCH_EXPORT_USERS_API, CAMPAIGN_USER_DETAILS, and EXPORT_WEBHOOK process types)
Essayer
GET/processesGet background processes
getProcessesapi-key

Retrieves a list of background processes from your Brevo account with filtering and pagination.

Use this to: - Monitor background process activity and status - Track long-running operations and tasks - Find process IDs for detailed status checking - Review process history and performance - Identify failed or stuck processes for troubleshooting

Key information returned: - Process details (ID, name, status) - Export download URLs for completed export processes - Import details with CSV report URLs for completed import processes - Total count of processes for pagination

Important considerations: - Background processes handle long-running operations like imports and exports - Process status indicates current state (queued, processing, completed) - Export processes provide download URLs when completed - Import processes provide CSV report URLs with details about problematic records - Use pagination for accounts with many historical processes - Sort options available for creation order (ascending or descending) - Default limit is 10 results per page, maximum is 50

Paramètres
limitinteger · int64 · requêtefacultatif
Number limitation for the result returned
offsetinteger · int64 · requêtefacultatif
Beginning point in the list to retrieve from.
sortenum · requêtefacultatif
Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed
Corps de la requête
Pas de corps.
Réponses
200 Background processes retrieved successfully400 bad request
countinteger · int64requis
Total number of processes available on your account
processesobject[]requis
List of background processes on your account
13 champs
idinteger · int64requis
Unique identifier of the process
nameenumrequis
Name/type of the process
"IMPORTUSER" "SEARCH_EXPORT_USERS" "TRANS-CALC" "TRANS-GLOBAL-CALC" "CAMPAIGN_PROCESSING" "LIST_EXPORT" "CONTACT_EXPORT"
statusenumrequis
Current status of the process
"queued" "processing" "completed" "failed" "cancelled"
infoobjectfacultatif
Additional process information, only returned for completed IMPORTUSER processes. Contains URLs to CSV files with details about problematic records.
8 champs
importobjectfacultatif
Import process details with URLs to CSV reports
7 champs
invalid_emailsstringfacultatif
URL to CSV file containing invalid email addresses, or null if none
duplicate_contact_idstringfacultatif
URL to CSV file containing duplicate contact IDs, or null if none
duplicate_ext_idstringfacultatif
URL to CSV file containing duplicate external IDs, or null if none
duplicate_email_idstringfacultatif
URL to CSV file containing duplicate email IDs, or null if none
duplicate_phone_idstringfacultatif
URL to CSV file containing duplicate phone numbers, or null if none
duplicate_whatsapp_idstringfacultatif
URL to CSV file containing duplicate WhatsApp numbers, or null if none
duplicate_landline_number_idstringfacultatif
URL to CSV file containing duplicate landline numbers, or null if none
export_urlstring · urlfacultatif
Download URL for completed export processes (returned for SEARCH_EXPORT_USERS, SEARCH_EXPORT_USERS_API, CAMPAIGN_USER_DETAILS, and EXPORT_WEBHOOK process types)
Essayer