# Brevo API API

> Brevo API API on Apizie: 226 endpoints (Return all your created email campaigns, Create an email campaign, Get an email campaign report, Update an email campaign, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/communication:brevo/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `communication:brevo`
- Category: Communication
- Status: byok
- Source: https://brevo.com
- Page: https://www.apizie.tech/api/communication/brevo
- OpenAPI: https://www.apizie.tech/api/communication/brevo/openapi.json

Brevo provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much…

## Endpoints

### Return all your created email campaigns
`GET https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | no | Filter on the type of the campaigns |
| status | string | no | Filter on the status of the campaign |
| statistics | string | no | Filter on the type of statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned… |
| startDate | string | no | **Mandatory if endDate is used**. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns.… |
| endDate | string | no | **Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns.… |
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document in the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |
| excludeHtmlContent | boolean | no | Use this flag to exclude htmlContent from the response body. If set to **true**, htmlContent field will be returned as empty string in the… |

### Create an email campaign
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-create-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get an email campaign report
`GET https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| statistics | string | no | Filter on the type of statistics required. Example **globalStats** value will only fetch globalStats info of the campaign in returned… |

### Update an email campaign
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-update-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| body | object | yes | JSON request body |

### Delete an email campaign
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-remove-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |

### Send an email campaign immediately, based on campaignId
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-send-immediate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |

### Send an email campaign to your test list
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-send-test-to-test-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| body | object | yes | JSON request body |

### Update an email campaign status
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-update-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| body | object | yes | JSON request body |

### Send the report of a campaign
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-send-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| body | object | yes | JSON request body |

### Get an A/B test email campaign results
`GET https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-ab-test-result` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the A/B test campaign |

### Get a shared template url
`GET https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-shared-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign or template |

### Export the recipients of an email campaign
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-export-recipients-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |
| body | object | no | JSON request body |

### Upload an image to your account's image gallery
`POST https://www.apizie.tech/v1/communication:brevo/email-campaigns-upload-image-to-gallery` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Send a transactional email
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-send-transactional-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get the list of transactional emails on the basis of allowed filters
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | no | **Mandatory if templateId and messageId are not passed in query filters.** Email address to which transactional email has been sent. |
| templateId | integer | no | **Mandatory if email and messageId are not passed in query filters.** Id of the template that was used to compose transactional email. |
| messageId | string | no | **Mandatory if templateId and email are not passed in query filters.** Message ID of the transactional email sent. |
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) from which you want to fetch the list. **Maximum time period that can be… |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) till which you want to fetch the list. **Maximum time period that can be… |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |
| limit | integer | no | Number of documents returned per page |
| offset | integer | no | Index of the first document in the page |

### Get the personalized content of a sent transactional email
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-content-by-uuid` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| uuid | string | yes | Unique id of the transactional email that has been sent to a particular contact |

### Delete an SMTP transactional log
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-delete-log` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | MessageId or Email of the transactional log(s) to delete |

### Get the list of email templates
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-list-templates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateStatus | boolean | no | Filter on the status of the template. Active = true, inactive = false |
| limit | integer | no | Number of documents returned per page |
| offset | integer | no | Index of the first document in the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Create an email template
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-create-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Returns the template information
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-template-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateId | integer | yes | id of the template |

### Update an email template
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-update-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateId | integer | yes | id of the template |
| body | object | yes | JSON request body |

### Delete an inactive email template
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-delete-template-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateId | integer | yes | id of the template |

### Send a template to your test list
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-send-test-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateId | integer | yes | Id of the template |
| body | object | yes | JSON request body |

### Get your transactional email activity aggregated over a period of time
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-aggregated-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used.** Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate |
| endDate | string | no | **Mandatory if startDate is used.** Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate |
| days | integer | no | Number of days in the past including today (positive integer). _Not compatible with 'startDate' and 'endDate'_ |
| tag | string | no | Tag of the emails |

### Get your transactional email activity aggregated per day
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-activity-per-day` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents returned per page |
| offset | integer | no | Index of the first document on the page |
| startDate | string | no | **Mandatory if endDate is used.** Starting date of the report (YYYY-MM-DD) |
| endDate | string | no | **Mandatory if startDate is used.** Ending date of the report (YYYY-MM-DD) |
| days | integer | no | Number of days in the past including today (positive integer). _Not compatible with 'startDate' and 'endDate'_ |
| tag | string | no | Tag of the emails |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get all your transactional email activity (unaggregated events)
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-all-activity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number limitation for the result returned |
| offset | integer | no | Beginning point in the list to retrieve from. |
| startDate | string | no | **Mandatory if endDate is used.** Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate |
| endDate | string | no | **Mandatory if startDate is used.** Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate |
| days | integer | no | Number of days in the past including today (positive integer). _Not compatible with 'startDate' and 'endDate'_ |
| email | string | no | Filter the report for a specific email addresses |
| event | string | no | Filter the report for a specific event type |
| tags | string | no | Filter the report for tags (serialized and urlencoded array) |
| messageId | string | no | Filter on a specific message id |
| templateId | integer | no | Filter on a specific template id |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Unblock or resubscribe a transactional contact
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-unblock-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| email | string | yes | contact email (urlencoded) to unblock. |

### Get the list of blocked or unsubscribed transactional contacts
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-list-blocked-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts |
| limit | integer | no | Number of documents returned per page |
| offset | integer | no | Index of the first document on the page |
| senders | array | no | Comma separated list of emails of the senders from which contacts are blocked or unsubscribed |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get the list of blocked domains
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-blocked-domains` (byok)

### Add a new domain to the list of blocked domains
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-add-blocked-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Unblock an existing domain from the list of blocked domains
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-unblock-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | yes | The name of the domain to be deleted |

### Delete hardbounces
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-remove-hardbounces` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Fetch scheduled emails by batchId or messageId
`GET https://www.apizie.tech/v1/communication:brevo/transactional-emails-get-email-status-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | The `batchId` of scheduled emails batch (Should be a valid UUIDv4) or the `messageId` of scheduled email. |
| startDate | string | no | Mandatory if `endDate` is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Can be maximum 30 days older tha current… |
| endDate | string | no | 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… |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed. Not valid… |
| status | string | no | Filter the records by `status` of the scheduled email batch or message. Not valid when identifier is `messageId`. |
| limit | integer | no | Number of documents returned per page. Not valid when identifier is `messageId`. |
| offset | integer | no | Index of the first document on the page. Not valid when identifier is `messageId`. |

### Delete scheduled emails by batchId or messageId
`POST https://www.apizie.tech/v1/communication:brevo/transactional-emails-delete-scheduled-emails` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | The `batchId` of scheduled emails batch (Should be a valid UUIDv4) or the `messageId` of scheduled email. |

### Get all the contacts
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-all-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document of the page |
| modifiedSince | string | no | Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in… |
| createdSince | string | no | Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in… |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |
| segmentId | integer | no | Id of the segment. **Either listIds or segmentId can be passed.** |
| listIds | array | no | Ids of the list. **Either listIds or segmentId can be passed.** |

### Create a contact
`POST https://www.apizie.tech/v1/communication:brevo/contacts-create-new-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create Contact via DOI (Double-Opt-In) Flow
`POST https://www.apizie.tech/v1/communication:brevo/contacts-create-double-opt-in-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get a contact's details
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | Email (urlencoded) OR ID of the contact OR its SMS attribute value |
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to… |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to… |

### Update a contact
`POST https://www.apizie.tech/v1/communication:brevo/contacts-update-contact-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | Email (urlencoded) OR ID of the contact |
| body | object | yes | JSON request body |

### Delete a contact
`POST https://www.apizie.tech/v1/communication:brevo/contacts-delete-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | Email (urlencoded) OR ID of the contact |

### Update multiple contacts
`POST https://www.apizie.tech/v1/communication:brevo/contacts-update-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get email campaigns' statistics for a contact
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-email-campaign-stats` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | yes | Email (urlencoded) OR ID of the contact |
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to… |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to… |

### List all attributes
`GET https://www.apizie.tech/v1/communication:brevo/contacts-list-attributes` (byok)

### Create contact attribute
`POST https://www.apizie.tech/v1/communication:brevo/contacts-create-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| attributeCategory | string | yes | Category of the attribute |
| attributeName | string | yes | Name of the attribute |
| body | object | yes | JSON request body |

### Update contact attribute
`POST https://www.apizie.tech/v1/communication:brevo/contacts-update-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| attributeCategory | string | yes | Category of the attribute |
| attributeName | string | yes | Name of the existing attribute |
| body | object | yes | JSON request body |

### Delete an attribute
`POST https://www.apizie.tech/v1/communication:brevo/contacts-remove-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| attributeCategory | string | yes | Category of the attribute |
| attributeName | string | yes | Name of the existing attribute |

### Get all folders
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-all-folders` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | yes | Number of documents per page |
| offset | integer | yes | Index of the first document of the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Create a folder
`POST https://www.apizie.tech/v1/communication:brevo/contacts-create-folder` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Returns a folder's details
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-folder-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | integer | yes | id of the folder |

### Update a folder
`POST https://www.apizie.tech/v1/communication:brevo/contacts-update-folder` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | integer | yes | Id of the folder |
| body | object | yes | JSON request body |

### Delete a folder (and all its lists)
`POST https://www.apizie.tech/v1/communication:brevo/contacts-delete-folder` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | integer | yes | Id of the folder |

### Get lists in a folder
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-folder-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| folderId | integer | yes | Id of the folder |
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document of the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get all the lists
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-all-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document of the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Create a list
`POST https://www.apizie.tech/v1/communication:brevo/contacts-create-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get a list's details
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-list-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |
| startDate | string | no | **Mandatory if endDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a… |
| endDate | string | no | **Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for… |

### Update a list
`POST https://www.apizie.tech/v1/communication:brevo/contacts-update-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |
| body | object | yes | JSON request body |

### Delete a list
`POST https://www.apizie.tech/v1/communication:brevo/contacts-delete-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |

### Get all the segments
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-all-segments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document of the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get contacts in a list
`GET https://www.apizie.tech/v1/communication:brevo/contacts-get-list-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |
| modifiedSince | string | no | Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in… |
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document of the page |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Add existing contacts to a list
`POST https://www.apizie.tech/v1/communication:brevo/contacts-add-to-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |
| body | object | yes | JSON request body |

### Delete a contact from a list
`POST https://www.apizie.tech/v1/communication:brevo/contacts-remove-contact-from-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| listId | integer | yes | Id of the list |
| body | object | yes | JSON request body |

### Export contacts
`POST https://www.apizie.tech/v1/communication:brevo/contacts-export-process-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Import contacts
`POST https://www.apizie.tech/v1/communication:brevo/contacts-import-contacts-process` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Returns the information for all your created SMS campaigns
`GET https://www.apizie.tech/v1/communication:brevo/sms-campaigns-get-all-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | no | Status of campaign. |
| startDate | string | no | **Mandatory if endDate is used.** Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns.… |
| endDate | string | no | **Mandatory if startDate is used.** Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns.… |
| limit | integer | no | Number limitation for the result returned |
| offset | integer | no | Beginning point in the list to retrieve from. |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Creates an SMS campaign
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-create-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get an SMS campaign
`GET https://www.apizie.tech/v1/communication:brevo/sms-campaigns-get-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the SMS campaign |

### Update an SMS campaign
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-update-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the SMS campaign |
| body | object | yes | JSON request body |

### Delete an SMS campaign
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-remove-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the SMS campaign |

### Send your SMS campaign immediately
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-send-immediately` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |

### Update a campaign's status
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-update-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |
| body | object | yes | JSON request body |

### Send a test SMS campaign
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-send-test-sms` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the SMS campaign |
| body | object | yes | JSON request body |

### Export an SMS campaign's recipients
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-export-recipients-process` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |
| body | object | no | JSON request body |

### Send an SMS campaign's report
`POST https://www.apizie.tech/v1/communication:brevo/sms-campaigns-send-campaign-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |
| body | object | yes | JSON request body |

### Send SMS message to a mobile number
`POST https://www.apizie.tech/v1/communication:brevo/transactional-sms-send-sms-message-to-mobile` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get your SMS activity aggregated over a period of time
`GET https://www.apizie.tech/v1/communication:brevo/transactional-sms-get-aggregated-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the report |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the report |
| days | integer | no | Number of days in the past including today (positive integer). **Not compatible with startDate and endDate** |
| tag | string | no | Filter on a tag |

### Get your SMS activity aggregated per day
`GET https://www.apizie.tech/v1/communication:brevo/transactional-sms-get-sms-activity-aggregated-per-day` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the report |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the report |
| days | integer | no | Number of days in the past including today (positive integer). **Not compatible with 'startDate' and 'endDate'** |
| tag | string | no | Filter on a tag |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get all your SMS activity (unaggregated events)
`GET https://www.apizie.tech/v1/communication:brevo/transactional-sms-get-all-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents per page |
| startDate | string | no | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the report |
| endDate | string | no | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the report |
| offset | integer | no | Index of the first document of the page |
| days | integer | no | Number of days in the past including today (positive integer). **Not compatible with 'startDate' and 'endDate'** |
| phoneNumber | string | no | Filter the report for a specific phone number |
| event | string | no | Filter the report for specific events |
| tags | string | no | Filter the report for specific tags passed as a serialized urlencoded array |
| sort | string | no | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

### Get a WhatsApp campaign
`GET https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-get-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | Id of the campaign |

### Update a WhatsApp campaign
`POST https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-update-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |
| body | object | yes | JSON request body |

### Delete a WhatsApp campaign
`POST https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-delete-campaign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | integer | yes | id of the campaign |

### Return all your created WhatsApp templates
`GET https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-get-templates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used**. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the templates created. **Prefer… |
| endDate | string | no | **Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the templates created. **Prefer… |
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document in the page |
| sort | string | no | Sort the results in the ascending/descending order of record modification. Default order is **descending** if `sort` is not passed |
| source | string | no | source of the template |

### Return all your created WhatsApp campaigns
`GET https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | no | **Mandatory if endDate is used**. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the WhatsApp campaigns created.… |
| endDate | string | no | **Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the WhatsApp campaigns created.… |
| limit | integer | no | Number of documents per page |
| offset | integer | no | Index of the first document in the page |
| sort | string | no | Sort the results in the ascending/descending order of record modification. Default order is **descending** if `sort` is not passed |

### Create and Send a WhatsApp campaign
`POST https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-create-and-send` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a WhatsApp template
`POST https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-create-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Send your WhatsApp template for approval
`POST https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-send-template-for-approval` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| templateId | integer | yes | id of the template |

### Get your WhatsApp API account information
`GET https://www.apizie.tech/v1/communication:brevo/whats-app-campaigns-get-account-info` (byok)

### Get the list of all your senders
`GET https://www.apizie.tech/v1/communication:brevo/senders-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | no | Filter your senders for a specific ip. **Available for dedicated IP usage only** |
| domain | string | no | Filter your senders for a specific domain |

### Create a new sender
`POST https://www.apizie.tech/v1/communication:brevo/senders-create-new-sender` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a sender
`POST https://www.apizie.tech/v1/communication:brevo/senders-update-sender-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| senderId | integer | yes | Id of the sender |
| body | object | no | JSON request body |

### Delete a sender
`POST https://www.apizie.tech/v1/communication:brevo/senders-remove-sender` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| senderId | integer | yes | Id of the sender |

### Validate Sender using OTP
`POST https://www.apizie.tech/v1/communication:brevo/senders-validate-sender-using-otp` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| senderId | integer | yes | Id of the sender |
| body | object | no | JSON request body |

### Get all the dedicated IPs for a sender
`GET https://www.apizie.tech/v1/communication:brevo/senders-get-all-dedicated-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| senderId | integer | yes | Id of the sender |

### Get all the dedicated IPs for your account
`GET https://www.apizie.tech/v1/communication:brevo/senders-get-dedicated-ips` (byok)

### Get the list of all your domains
`GET https://www.apizie.tech/v1/communication:brevo/domains-get-all` (byok)

### Create a new domain
`POST https://www.apizie.tech/v1/communication:brevo/domains-create-new-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Validate domain configuration
`GET https://www.apizie.tech/v1/communication:brevo/domains-validate-configuration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | yes | Domain name |

### Delete a domain
`POST https://www.apizie.tech/v1/communication:brevo/domains-delete-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | yes | Domain name |

### Authenticate a domain
`POST https://www.apizie.tech/v1/communication:brevo/domains-authenticate-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | yes | Domain name |

### Get all webhooks
`GET https://www.apizie.tech/v1/communication:brevo/webhooks-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | no | Filter on webhook type |
| sort | string | no | Sort the results in the ascending/descending order of webhook creation |

### Create a webhook
`POST https://www.apizie.tech/v1/communication:brevo/webhooks-create-hook` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get a webhook details
`GET https://www.apizie.tech/v1/communication:brevo/webhooks-get-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| webhookId | integer | yes | Id of the webhook |

### Update a webhook
`POST https://www.apizie.tech/v1/communication:brevo/webhooks-update-webhook-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| webhookId | integer | yes | Id of the webhook |
| body | object | yes | JSON request body |

### Delete a webhook
`POST https://www.apizie.tech/v1/communication:brevo/webhooks-delete-webhook` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| webhookId | integer | yes | Id of the webhook |

### Export all webhook events
`POST https://www.apizie.tech/v1/communication:brevo/webhooks-export-all-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get the list of all children accounts
`GET https://www.apizie.tech/v1/communication:brevo/reseller-list-children-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | Number of documents for child accounts information per page |
| offset | integer | no | Index of the first document in the page |

### Creates a reseller child
`POST https://www.apizie.tech/v1/communication:brevo/reseller-create-child` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a child account's details
`GET https://www.apizie.tech/v1/communication:brevo/reseller-get-child-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |

### Update info of reseller's child based on the child identifier supplied
`POST https://www.apizie.tech/v1/communication:brevo/reseller-update-child-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Delete a single reseller child based on the child identifier supplied
`POST https://www.apizie.tech/v1/communication:brevo/reseller-delete-child-by-identifier` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or child id of reseller's child |

### Update info of reseller's child account status based on the identifier supplied
`POST https://www.apizie.tech/v1/communication:brevo/reseller-update-child-account-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Get the status of a reseller's child account creation, whether it is successfully created (exists) or not…
`GET https://www.apizie.tech/v1/communication:brevo/reseller-get-child-account-creation-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |

### Associate a dedicated IP to the child
`POST https://www.apizie.tech/v1/communication:brevo/reseller-associate-dedicated-ip-to-child` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Dissociate a dedicated IP to the child
`POST https://www.apizie.tech/v1/communication:brevo/reseller-dissociate-ip-to-child` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Add Email and/or SMS credits to a specific child account
`POST https://www.apizie.tech/v1/communication:brevo/reseller-add-child-credits` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Remove Email and/or SMS credits from a specific child account
`POST https://www.apizie.tech/v1/communication:brevo/reseller-remove-credits-from-child` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Get all sender domains for a specific child account
`GET https://www.apizie.tech/v1/communication:brevo/reseller-get-child-domains` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |

### Create a domain for a child account
`POST https://www.apizie.tech/v1/communication:brevo/reseller-create-child-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| body | object | yes | JSON request body |

### Update the sender domain of reseller's child based on the childIdentifier and domainName passed
`POST https://www.apizie.tech/v1/communication:brevo/reseller-update-sender-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| domainName | string | yes | Pass the existing domain that needs to be updated |
| body | object | yes | JSON request body |

### Delete the sender domain of the reseller child based on the childIdentifier and domainName passed
`POST https://www.apizie.tech/v1/communication:brevo/reseller-delete-sender-domain-by-child-identifier-and-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |
| domainName | string | yes | Pass the existing domain that needs to be deleted |

### Get session token to access Brevo (SSO)
`GET https://www.apizie.tech/v1/communication:brevo/reseller-get-session-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| childIdentifier | string | yes | Either auth key or id of reseller's child |

…and 106 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-all" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Brevo API API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/communication:brevo/email-campaigns-get-all with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Brevo API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Brevo API itself also needs your own key from api.brevo.com.

### Can AI agents use the Brevo API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key communication:brevo.

### What is the status of the Brevo API API?
Needs your own provider key (bring your own key)
