Coupons 2 endpoints

PATCH /couponCollections/{id}
operationId: Coupons_updateCouponCollectionById

Parameters

Name In Required Type Description
id path required string

Id of the collection to update

Request Body

Values to update the coupon collection

application/json
schema CouponsUpdateCouponCollectionByIdRequest
Property Type Required
defaultCoupon string optional
expirationDate string optional
remainingDaysAlert integer optional
remainingCouponsAlert integer optional

Responses

200

Coupon collection updated

400

bad request

401

unauthorized

PATCH /couponCollections/{id}
POST /coupons
operationId: Coupons_createCouponCollection

Request Body

required

Values to create coupons

application/json
schema CouponsCreateCouponCollectionRequest
Property Type Required
coupons array required
collectionId string required

Responses

204

Coupons creation in progress

400

bad request

401

unauthorized

404

Coupon collection not found

POST /coupons

Deals 9 endpoints

GET /crm/attributes/deals
operationId: Deals_getAttributes

Responses

200

Returns list of deal attributes

GET /crm/attributes/deals
GET /crm/deals
operationId: Deals_getAllDeals

Parameters

Name In Required Type Description
filters[attributes.deal_name] query optional string

Filter by attributes. If you have a filter for the owner on your end, please send it as filters[attributes.deal_owner] and utilize the account email for the filtering.

filters[linkedCompaniesIds] query optional string

Filter by linked companies ids

filters[linkedContactsIds] query optional string

Filter by linked companies ids

offset query optional integer

Index of the first document of the page

limit query optional integer

Number of documents per page

sort query optional string

Sort the results in the ascending/descending order. Default order is descending by creation if sort is not passed

Responses

200

Returns deals list with filters

400

Returned when query params are invalid

GET /crm/deals
POST /crm/deals
operationId: Deals_createNewDeal

Request Body

required

Deal create data.

application/json
schema DealsCreateNewDealRequest
Property Type Required
name string required
attributes object optional

Responses

201

Created new Deal

400

Returned when invalid data posted

POST /crm/deals
PATCH /crm/deals/link-unlink/{id}
operationId: Deals_linkUnlinkPatch

Parameters

Name In Required Type Description
id path required string

Request Body

required

Linked / Unlinked contacts and companies ids.

application/json
schema DealsLinkUnlinkPatchRequest
Property Type Required
linkCompanyIds array optional
linkContactIds array optional
unlinkCompanyIds array optional
unlinkContactIds array optional

Responses

204

Successfully linked/unlinked contacts/companies with the deal.

400

Returned when query params are invalid or invalid data provided in request.

PATCH /crm/deals/link-unlink/{id}
DELETE /crm/deals/{id}
operationId: Deals_deleteDeal

Parameters

Name In Required Type Description
id path required string

Responses

204

Returned when item deleted

400

Returned when invalid data posted

404

Returned when deal id is not found

DELETE /crm/deals/{id}
GET /crm/deals/{id}
operationId: Deals_getById

Parameters

Name In Required Type Description
id path required string

Responses

200

Returns the deal by id

400

Returned when task id is invalid

404

Returned when item not found

GET /crm/deals/{id}
PATCH /crm/deals/{id}
operationId: Deals_updateDealById

Parameters

Name In Required Type Description
id path required string

Request Body

required

Updated deal details.

application/json
schema DealsUpdateDealByIdRequest
Property Type Required
name string optional
attributes object optional

Responses

204

Deal updated successfully

400

Returned when invalid data posted

404

Returned when deal id is not found

PATCH /crm/deals/{id}
GET /crm/pipeline/details/all
operationId: Deals_getAllPipelines

Responses

200

Returns list of pipeline and its details

400

Returned when pipeline id is invalid or does not exist

GET /crm/pipeline/details/all
GET /crm/pipeline/details/{pipelineID}
operationId: Deals_getDetails

Parameters

Name In Required Type Description
pipelineID path required string

Responses

200

Returns pipeline and its details

400

Returned when pipeline id is invalid or does not exist

GET /crm/pipeline/details/{pipelineID}

Domains 5 endpoints

GET /senders/domains
operationId: Domains_getAll

Responses

200

list of domains

400

bad request

GET /senders/domains
POST /senders/domains
operationId: Domains_createNewDomain

Request Body

domain’s name

application/json
schema createDomain
Property Type Required
name string required

Responses

200

domain created

400

bad request

POST /senders/domains
DELETE /senders/domains/{domainName}
operationId: Domains_deleteDomain

Parameters

Name In Required Type Description
domainName path required string

Domain name

Responses

200

domain deleted

400

bad request

404

Domain does not exist

DELETE /senders/domains/{domainName}
GET /senders/domains/{domainName}
operationId: Domains_validateConfiguration

Parameters

Name In Required Type Description
domainName path required string

Domain name

Responses

200

domain configuration

400

bad request

404

Domain does not exist

GET /senders/domains/{domainName}
PUT /senders/domains/{domainName}/authenticate
operationId: Domains_authenticateDomain

Parameters

Name In Required Type Description
domainName path required string

Domain name

Responses

200

domain authenticated

400

bad request

404

Domain does not exist

PUT /senders/domains/{domainName}/authenticate

Ecommerce 15 endpoints

GET /categories
operationId: Ecommerce_getAllCategories

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document in the page

sort query optional string

Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed

ids query optional array

Filter by category ids

name query optional string

Filter by category name

modifiedSince query optional string

Filter (urlencoded) the categories 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.

createdSince query optional string

Filter (urlencoded) the categories 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.

Responses

200

All categories listed

400

bad request

GET /categories
POST /categories
operationId: Ecommerce_createCategory

Request Body

required

Values to create/update a category

application/json
schema createUpdateCategory
Property Type Required
id string required
url string optional
name string optional
deletedAt string optional
updateEnabled boolean optional

Responses

201

Category created

204

Category updated

400

bad request

POST /categories
POST /categories/batch
operationId: Ecommerce_createCategoriesBatch

Request Body

required

Values to create a batch of categories

application/json
schema createUpdateBatchCategory
Property Type Required
categories array required
id string required
url string optional
name string optional
deletedAt string optional
updateEnabled boolean optional

Responses

201

Category created and updated

400

bad request

POST /categories/batch
GET /categories/{id}
operationId: Ecommerce_getCategoryDetails

Parameters

Name In Required Type Description
id path required string

Category ID

Responses

200

Category informations

400

bad request

404

Category id not found

GET /categories/{id}
POST /ecommerce/activate

Getting access to Brevo eCommerce.

operationId: Ecommerce_activateApp

Responses

200

eCommerce activation is in process, please wait for 5 minutes.

401

unauthorized

404

api-key not found

POST /ecommerce/activate
GET /ecommerce/attribution/metrics
operationId: Ecommerce_getAttributionMetrics

Parameters

Name In Required Type Description
periodFrom query optional string

When getting metrics for a specific period, define the starting datetime in RFC3339 format

periodTo query optional string

When getting metrics for a specific period, define the end datetime in RFC3339 format

emailCampaignId[] query optional array

The email campaign id(s) to get metrics for

Responses

200

OK

400

bad request

GET /ecommerce/attribution/metrics
GET /ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}
operationId: Ecommerce_getAttributionMetrics

Parameters

Name In Required Type Description
conversionSource path required string

The Brevo campaign type for which data will be retrieved

conversionSourceId path required number

The Brevo campaign id for which data will be retrieved

Responses

200

OK

400

bad request

GET /ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}
GET /ecommerce/attribution/products/{conversionSource}/{conversionSourceId}
operationId: Ecommerce_getAttributedProductSales

Parameters

Name In Required Type Description
conversionSource path required string

The Brevo campaign type for which data will be retrieved

conversionSourceId path required number

The Brevo campaign id for which data will be retrieved

Responses

200

OK

400

bad request

GET /ecommerce/attribution/products/{conversionSource}/{conversionSourceId}
GET /orders

Get all the orders

operationId: Ecommerce_getOrders

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document in the page

sort query optional string

Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed

modifiedSince query optional string

Filter (urlencoded) the orders 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.

createdSince query optional string

Filter (urlencoded) the orders 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.

Responses

200

orders fetched successfully

400

bad request

GET /orders
POST /orders/status

Manages the transactional status of the order

operationId: Ecommerce_manageOrderStatus

Request Body

required
application/json
schema order
Property Type Required
id string required
email string optional
amount number required
status string required
billing object optional
city string optional
phone string optional
region string optional
address string optional
postCode string optional
countryCode string optional
paymentMethod string optional
coupons array optional
products array required
price number required
quantity number required
productId string required
variantId string optional
createdAt string required
updatedAt string required

Responses

204

Order Event posted

400

bad request

POST /orders/status
POST /orders/status/batch

Create multiple orders at one time instead of one order at a time

operationId: Ecommerce_createOrderBatch

Request Body

required
application/json
schema orderBatch
Property Type Required
orders array required
id string required
email string optional
amount number required
status string required
billing object optional
city string optional
phone string optional
region string optional
address string optional
postCode string optional
countryCode string optional
paymentMethod string optional
coupons array optional
products array required
price number required
quantity number required
productId string required
variantId string optional
createdAt string required
updatedAt string required
notifyUrl string optional
historical boolean optional

Responses

202
400

bad request

POST /orders/status/batch
GET /products
operationId: Ecommerce_listAllProducts

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document in the page

sort query optional string

Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed

ids query optional array

Filter by product ids

name query optional string

Filter by product name, minimum 3 characters should be present for search

price[lte] query optional number

Price filter for products less than and equals to particular amount

price[gte] query optional number

Price filter for products greater than and equals to particular amount

price[lt] query optional number

Price filter for products less than particular amount

price[gt] query optional number

Price filter for products greater than particular amount

price[eq] query optional number

Price filter for products equals to particular amount

price[ne] query optional number

Price filter for products not equals to particular amount

categories query optional array

Filter by product categories

modifiedSince query optional string

Filter (urlencoded) the orders 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.

createdSince query optional string

Filter (urlencoded) the orders 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.

Responses

200

All products listed

400

bad request

GET /products
POST /products
operationId: Ecommerce_createProduct

Request Body

required

Values to create/update a product

application/json
schema createUpdateProduct
Property Type Required
id string required
sku string optional
url string optional
name string required
price number optional
imageUrl string optional
metaInfo object optional
parentId string optional
deletedAt string optional
categories array optional
updateEnabled boolean optional

Responses

201

Product created

204

Product updated

400

bad request

POST /products
POST /products/batch
operationId: Ecommerce_createProductsBatch

Request Body

required

Values to create a batch of products

application/json
schema createUpdateBatchProducts
Property Type Required
products array required
id string required
sku string optional
url string optional
name string required
price number optional
imageUrl string optional
metaInfo object optional
parentId string optional
deletedAt string optional
categories array optional
updateEnabled boolean optional

Responses

201

Products created and updated

400

bad request

POST /products/batch
GET /products/{id}
operationId: Ecommerce_getProductDetails

Parameters

Name In Required Type Description
id path required string

Product ID

Responses

200

Product informations

400

bad request

404

Product’s id not found

GET /products/{id}

Emailcampaigns 13 endpoints

GET /emailCampaigns
operationId: EmailCampaigns_getAll

Parameters

Name In Required Type Description
type query optional string

Filter on the type of the campaigns

status query optional string

Filter on the status of the campaign

statistics query optional string

Filter on the type of statistics required. Example globalStats value will only fetch globalStats info of the campaign in returned response.

startDate query optional string

Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns.
Prefer to pass your timezone in date-time format for accurate result ( only available if either ‘status’ not passed and if passed is set to ‘sent’ )

endDate query optional string

Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent email campaigns.
Prefer to pass your timezone in date-time format for accurate result ( only available if either ‘status’ not passed and if passed is set to ‘sent’ )

limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document in the page

sort query optional string

Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed

excludeHtmlContent query optional boolean

Use this flag to exclude htmlContent from the response body. If set to true, htmlContent field will be returned as empty string in the response body

Responses

200

Email campaigns informations

400

bad request

GET /emailCampaigns
POST /emailCampaigns
operationId: EmailCampaigns_createCampaign

Request Body

required

Values to create a campaign

application/json
schema createEmailCampaign
Property Type Required
tag string optional
name string required
footer string optional
header string optional
params object optional
sender object required
id integer optional
name string optional
email string optional
htmlUrl string optional
replyTo string optional
subject string optional
toField string optional
subjectA string optional
subjectB string optional
abTesting boolean optional
splitRule integer optional
recipients object optional
listIds array optional
segmentIds array optional
exclusionListIds array optional
templateId integer optional
htmlContent string optional
previewText string optional
scheduledAt string optional
utmCampaign string optional
…11 more object optional

Responses

201
400

bad request

POST /emailCampaigns
POST /emailCampaigns/images
operationId: EmailCampaigns_uploadImageToGallery

Request Body

required

Parameters to upload an image

application/json
schema uploadImageToGallery
Property Type Required
name string optional
imageUrl string required

Responses

201

Image has been successfully uploaded

400

bad request

POST /emailCampaigns/images
DELETE /emailCampaigns/{campaignId}
operationId: EmailCampaigns_removeCampaign

Parameters

Name In Required Type Description
campaignId path required integer

id of the campaign

Responses

204

Email campaign has been deleted

400

bad request

404

Campaign ID not found

DELETE /emailCampaigns/{campaignId}
GET /emailCampaigns/{campaignId}
operationId: EmailCampaigns_getReport

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

statistics query optional string

Filter on the type of statistics required. Example globalStats value will only fetch globalStats info of the campaign in returned response.

Responses

200

Email campaign informations

400

bad request

404

Campaign ID not found

GET /emailCampaigns/{campaignId}
PUT /emailCampaigns/{campaignId}
operationId: EmailCampaigns_updateCampaign

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Request Body

required

Values to update a campaign

application/json
schema updateEmailCampaign
Property Type Required
tag string optional
name string optional
footer string optional
header string optional
params object optional
sender object optional
id integer optional
name string optional
email string optional
htmlUrl string optional
replyTo string optional
subject string optional
toField string optional
subjectA string optional
subjectB string optional
abTesting boolean optional
recurring boolean optional
splitRule integer optional
recipients object optional
listIds array optional
segmentIds array optional
exclusionListIds array optional
htmlContent string optional
previewText string optional
scheduledAt string optional
utmCampaign string optional
…11 more object optional

Responses

204

Email campaign updated

400

bad request

404

Campaign ID not found

PUT /emailCampaigns/{campaignId}
GET /emailCampaigns/{campaignId}/abTestCampaignResult

Obtain winning version of an A/B test email campaign

operationId: EmailCampaigns_getAbTestResult

Parameters

Name In Required Type Description
campaignId path required integer

Id of the A/B test campaign

Responses

200

A/B test email campaign Result

400

bad request

404

A/B test Email Campaign not found

GET /emailCampaigns/{campaignId}/abTestCampaignResult
POST /emailCampaigns/{campaignId}/exportRecipients
operationId: EmailCampaigns_exportRecipientsPost

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Request Body

Values to send for a recipient export request

application/json
schema emailExportRecipients
Property Type Required
notifyURL string optional
recipientsType string required

Responses

202
400

bad request

404

Campaign ID not found

POST /emailCampaigns/{campaignId}/exportRecipients
POST /emailCampaigns/{campaignId}/sendNow
operationId: EmailCampaigns_sendImmediate

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Responses

204

Email campaign has been scheduled

400

Campaign could not be sent

402

You don’t have enough credit to send your campaign. Please update your plan

404

Campaign ID not found

POST /emailCampaigns/{campaignId}/sendNow
POST /emailCampaigns/{campaignId}/sendReport

A PDF will be sent to the specified email addresses

operationId: EmailCampaigns_sendReport

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Request Body

required

Values for send a report

application/json
schema sendReport
Property Type Required
email object required
to array required
body string required
language string optional

Responses

204

Report has been successfully sent to the defined recipients

400

bad request

404

Campaign ID not found

POST /emailCampaigns/{campaignId}/sendReport
POST /emailCampaigns/{campaignId}/sendTest
operationId: EmailCampaigns_sendTestToTestList

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Request Body

required
application/json
schema sendTestEmail
Property Type Required
emailTo array optional

Responses

204

Test email has been sent successfully to all recipients

400

Test email could not be sent to the following email addresses

404

Campaign ID not found

POST /emailCampaigns/{campaignId}/sendTest
GET /emailCampaigns/{campaignId}/sharedUrl

Get a unique URL to share & import an email template from one Brevo account to another.

operationId: EmailCampaigns_getSharedUrl

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign or template

Responses

200

Shared template URL information

400

bad request

404

Campaign/Template ID not found

405

Only email campaigns or templates are allowed

GET /emailCampaigns/{campaignId}/sharedUrl
PUT /emailCampaigns/{campaignId}/status
operationId: EmailCampaigns_updateStatus

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Request Body

required

Status of the campaign

application/json
schema updateCampaignStatus
Property Type Required
status string optional

Responses

204

The campaign status has been updated successfully

400

bad request

404

Campaign ID not found

PUT /emailCampaigns/{campaignId}/status

Event 1 endpoints

POST /events

Create an event to track a contact’s interaction.

operationId: Event_trackInteraction

Request Body

required
application/json
schema event
Property Type Required
event_date string optional
event_name string required
identifiers object required
sms string optional
ext_id string optional
email_id string optional
whatsapp string optional
landline_number string optional
event_properties object optional
contact_properties object optional

Responses

204

An event posted

400

bad request

401

unauthorized

POST /events

Externalfeeds 5 endpoints

GET /feeds

This endpoint can fetch all created external feeds.

operationId: ExternalFeeds_getAllFeeds

Parameters

Name In Required Type Description
search query optional string

Can be used to filter records by search keyword on feed name

startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Can be maximum 30 days older than current date.

endDate query optional string

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.

sort query optional string

Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed.

authType query optional string

Filter the records by authType of the feed.

limit query optional integer

Number of documents returned per page.

offset query optional integer

Index of the first document on the page.

Responses

200

External feeds

400

Invalid parameters passed

404

Record not found

GET /feeds
POST /feeds

This endpoint will create an external feed.

operationId: ExternalFeeds_createFeed

Request Body

required

Values to create a feed

application/json
schema createExternalFeed
Property Type Required
url string required
name string required
cache boolean optional
token string optional
headers array optional
name string optional
value string optional
authType string optional
password string optional
username string optional
maxRetries integer optional

Responses

201

successfully created

400

bad request

POST /feeds
DELETE /feeds/{uuid}

This endpoint will delete an external feed.

operationId: ExternalFeeds_deleteFeedByUUID

Parameters

Name In Required Type Description
uuid path required string

UUID of the feed to delete

Responses

204

Feed deleted

400

bad request

404

Feed not found

DELETE /feeds/{uuid}
GET /feeds/{uuid}

This endpoint will update an external feed.

operationId: ExternalFeeds_getFeedByUuid

Parameters

Name In Required Type Description
uuid path required string

UUID of the feed to fetch

Responses

200

External feed

400

bad request

404

Feed not found

GET /feeds/{uuid}
PUT /feeds/{uuid}

This endpoint will update an external feed.

operationId: ExternalFeeds_updateFeedByUUID

Parameters

Name In Required Type Description
uuid path required string

UUID of the feed to update

Request Body

required

Values to update a feed

application/json
schema updateExternalFeed
Property Type Required
url string optional
name string optional
cache boolean optional
token string optional
headers array optional
name string optional
value string optional
authType string optional
password string optional
username string optional
maxRetries integer optional

Responses

204

Feed updated

400

bad request

404

Feed not found

PUT /feeds/{uuid}
Load more endpoints