Brevo

Email marketing and transactional email platform

developers.brevo.com ↗
Version
3.0.0
OpenAPI
3.0.1
Endpoints
227
Schemas
264
76
Quality
Updated
3 days ago
Email email marketing communications
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.brevo.com/v3

Endpoints

Clear filters

Account 2 endpoints

GET /account
operationId: Account_informationDetails

Responses

200

account informations

GET /account
GET /organization/activities
operationId: Account_getUserActivityLogs

Parameters

Name In Required Type Description
startDate query optional string

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.

endDate query optional string

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.

limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document in the page.

Responses

200

list of user activity logs

400

bad request

GET /organization/activities

Companies 3 endpoints

GET /companies
operationId: Companies_getAll

Parameters

Name In Required Type Description
filters query optional string

Filter by attrbutes. If you have filter for owner on your side please send it as {“attributes.owner”:”6299dcf3874a14eacbc65c46”}

linkedContactsIds query optional integer

Filter by linked contacts ids

linkedDealsIds query optional string

Filter by linked Deals ids

page 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

sortBy query optional string

The field used to sort field names.

Responses

200

Returns companies list with filters

400

Returned when query params are invalid

GET /companies
GET /companies/attributes
operationId: Companies_getAttributes

Responses

200

Returns list of company attributes

GET /companies/attributes
GET /companies/{id}
operationId: Companies_getCompanyById

Parameters

Name In Required Type Description
id path required string

Get Company Details

Responses

200

Returns the Company

400

Returned when invalid data posted

404

Returned when item not found

GET /companies/{id}

Contacts 11 endpoints

GET /contacts
operationId: Contacts_getAllContacts

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document of the page

modifiedSince query optional string

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.

createdSince query optional string

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.

sort query optional string

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

segmentId query optional integer

Id of the segment. Either listIds or segmentId can be passed.

listIds query optional array

Ids of the list. Either listIds or segmentId can be passed.

Responses

200

All contacts listed

400

bad request

GET /contacts
GET /contacts/attributes
operationId: Contacts_listAttributes

Responses

200

Attributes listed

GET /contacts/attributes
GET /contacts/folders
operationId: Contacts_getAllFolders

Parameters

Name In Required Type Description
limit query required integer

Number of documents per page

offset query required integer

Index of the first document of 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

Responses

200

Folders informations

400

bad request

GET /contacts/folders
GET /contacts/folders/{folderId}
operationId: Contacts_getFolderDetails

Parameters

Name In Required Type Description
folderId path required integer

id of the folder

Responses

200

Folder details

400

bad request

404

Folder ID not found

GET /contacts/folders/{folderId}
GET /contacts/folders/{folderId}/lists
operationId: Contacts_getFolderLists

Parameters

Name In Required Type Description
folderId path required integer

Id of the folder

limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document of 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

Responses

200

Folder’s Lists details

400

bad request

404

Folder ID not found

GET /contacts/folders/{folderId}/lists
GET /contacts/lists
operationId: Contacts_getAllLists

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document of 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

Responses

200

Lists informations

400

bad request

GET /contacts/lists
GET /contacts/lists/{listId}
operationId: Contacts_getListDetails

Parameters

Name In Required Type Description
listId path required integer

Id of the list

startDate query optional string

Mandatory if endDate 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

endDate query optional string

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

Responses

200

List informations

400

bad request

404

List ID not found

GET /contacts/lists/{listId}
GET /contacts/lists/{listId}/contacts
operationId: Contacts_getListContacts

Parameters

Name In Required Type Description
listId path required integer

Id of the list

modifiedSince query optional string

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.

limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document of 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

Responses

200

Contact informations

400

bad request

404

List ID not found

GET /contacts/lists/{listId}/contacts
GET /contacts/segments
operationId: Contacts_getAllSegments

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

offset query optional integer

Index of the first document of 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

Responses

200

Segments informations

400

bad request

GET /contacts/segments
GET /contacts/{identifier}

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.

operationId: Contacts_getDetails

Parameters

Name In Required Type Description
identifier path required

Email (urlencoded) OR ID of the contact OR its SMS attribute value

startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate.

Responses

200

Contact informations

400

bad request

404

Contact’s email not found

GET /contacts/{identifier}
GET /contacts/{identifier}/campaignStats
operationId: Contacts_getEmailCampaignStats

Parameters

Name In Required Type Description
identifier path required

Email (urlencoded) OR ID of the contact

startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Maximum difference between startDate and endDate should not be greater than 90 days

Responses

200

Contact campaign statistics informations

400

bad request

404

Contact’s email not found

GET /contacts/{identifier}/campaignStats

Conversations 2 endpoints

GET /conversations/messages/{id}
operationId: Conversations_getMessageById

Parameters

Name In Required Type Description
id path required string

ID of the message

Responses

200

Requested message is returned as a response

400

Returned when invalid data posted

404

Returned when item not found

GET /conversations/messages/{id}
GET /conversations/pushedMessages/{id}
operationId: Conversations_getAutomatedMessage

Parameters

Name In Required Type Description
id path required string

ID of the message sent previously

Responses

200

Requested message is returned as a response

400

Returned when invalid data posted

404

Returned when item not found

GET /conversations/pushedMessages/{id}

Coupons 2 endpoints

GET /couponCollections
operationId: Coupons_listCouponCollections

Parameters

Name In Required Type Description
limit query optional integer

Number of documents returned per page

offset query optional integer

Index of the first document on the page

sort query optional string

Sort the results by creation time in ascending/descending order

sortBy query optional string

The field used to sort coupon collections

Responses

200

Coupon collections

400

bad request

401

unauthorized

GET /couponCollections
GET /couponCollections/{id}
operationId: Coupons_getById

Parameters

Name In Required Type Description
id path required string

Id of the collection to return

Responses

200

Coupon collection

400

bad request

401

unauthorized

404

Coupon collection not found

GET /couponCollections/{id}

Deals 5 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
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}
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 2 endpoints

GET /senders/domains
operationId: Domains_getAll

Responses

200

list of domains

400

bad request

GET /senders/domains
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}

Ecommerce 8 endpoints

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 /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
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}
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
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
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 4 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
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}
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
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

Externalfeeds 2 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
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}

Files 3 endpoints

GET /crm/files
operationId: Files_getAllFiles

Parameters

Name In Required Type Description
entity query optional string

Filter by file entity type

entityIds query optional string

Filter by file entity IDs

dateFrom query optional integer

dateFrom to date range filter type (timestamp in milliseconds)

dateTo query optional integer

dateTo to date range filter type (timestamp in milliseconds)

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 files list with filters

400

Returned when query params are invalid

GET /crm/files
GET /crm/files/{id}
operationId: Files_downloadFile

Parameters

Name In Required Type Description
id path required string

File id to download.

Responses

200

Returns downloadable file link. Valid for next 5 minutes only.

400

Returned when invalid data posted

404

Returned when item not found

GET /crm/files/{id}
GET /crm/files/{id}/data
operationId: Files_getFileDetails

Parameters

Name In Required Type Description
id path required string

File id to get file data.

Responses

200

Returned when file is found.

400

Returned when invalid data posted

404

Returned when item not found

GET /crm/files/{id}/data

Inboundparsing 3 endpoints

GET /inbound/attachments/{downloadToken}

This endpoint will retrieve inbound attachment with download token.

operationId: InboundParsing_getAttachmentByToken

Parameters

Name In Required Type Description
downloadToken path required string

Token to fetch a particular attachment

Responses

200

Attachment information

400

bad request

404

attachment not found

GET /inbound/attachments/{downloadToken}
GET /inbound/events

This endpoint will show the list of all the events for the received emails.

operationId: InboundParsing_getAllEvents

Parameters

Name In Required Type Description
sender query optional string

Email address of the sender.

startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.SSSZ) from which you want to fetch the list. Maximum time period that can be selected is one month.

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.SSSZ) till which you want to fetch the list. Maximum time period that can be selected is one month.

limit query optional integer

Number of documents returned per page

offset query optional integer

Index of the first document on the page

sort query optional string

Sort the results in the ascending/descending order of record creation

Responses

200

List of events for received emails.

400

bad request

GET /inbound/events
GET /inbound/events/{uuid}

This endpoint will show the list of all events history for one particular received email.

operationId: InboundParsing_getEmailEvents

Parameters

Name In Required Type Description
uuid path required string

UUID to fetch events specific to recieved email

Responses

200

Email campaign informations

400

bad request

GET /inbound/events/{uuid}

Masteraccount 7 endpoints

GET /corporate/group/{id}

This endpoint allows you to retrieve a specific group’s information such as the list of sub-organizations and the user associated with the group.

operationId: MasterAccount_getGroupDetails

Parameters

Name In Required Type Description
id path required string

Id of the group of sub-organization

Responses

200

Group details

GET /corporate/group/{id}
GET /corporate/groups

This endpoint allows you to list all groups created on your Admin account.

operationId: MasterAccount_listGroups

Responses

200

list of all the sub-account groups

GET /corporate/groups
GET /corporate/invited/users

This endpoint allows you to list all Admin users of your Admin account

operationId: MasterAccount_listAdminUsers

Responses

200

list of all admin users

GET /corporate/invited/users
GET /corporate/masterAccount

This endpoint will provide the details of the master account.

operationId: MasterAccount_getDetails

Responses

200

Master account details

400

bad request

GET /corporate/masterAccount
GET /corporate/subAccount

This endpoint will provide the list all the sub-accounts of the master account.

operationId: MasterAccount_listSubAccounts

Parameters

Name In Required Type Description
offset query required integer

Index of the first sub-account in the page

limit query required integer

Number of sub-accounts to be displayed on each page

Responses

200

Sub-accounts list

400

bad request

GET /corporate/subAccount
GET /corporate/subAccount/{id}

This endpoint will provide the details for the specified sub-account company

operationId: MasterAccount_getSubAccountDetails

Parameters

Name In Required Type Description
id path required integer

Id of the sub-account organization

Responses

200

Sub-account organization details

400

bad request

GET /corporate/subAccount/{id}
GET /corporate/user/{email}/permissions
operationId: MasterAccount_checkAdminUserPermissions

Parameters

Name In Required Type Description
email path required string

Email of the invited user.

Responses

200

List of user’s permissions

400

bad request

GET /corporate/user/{email}/permissions

Notes 2 endpoints

GET /crm/notes
operationId: Notes_getAll

Parameters

Name In Required Type Description
entity query optional string

Filter by note entity type

entityIds query optional string

Filter by note entity IDs

dateFrom query optional integer

dateFrom to date range filter type (timestamp in milliseconds)

dateTo query optional integer

dateTo to date range filter type (timestamp in milliseconds)

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 notes list with filters

400

Returned when query params are invalid

GET /crm/notes
GET /crm/notes/{id}
operationId: Notes_getById

Parameters

Name In Required Type Description
id path required string

Note ID to get

Responses

200

Returns the Note by id

400

Returned when invalid data posted

404

Returned when item not found

GET /crm/notes/{id}

Payments 1 endpoints

GET /payments/requests/{id}
operationId: Payments_getDetails

Parameters

Name In Required Type Description
id path required string

Id of the payment Request

Responses

200

Payment request details

400

Bad request.

401

Unauthorized.

403

Permission denied. Either you don’t have access to Brevo Payments or your Brevo Payments account is not validated.

404

Payment request not found.

GET /payments/requests/{id}

Process 2 endpoints

GET /processes
operationId: Process_getAllProcesses

Parameters

Name In Required Type Description
limit query optional integer

Number limitation for the result returned

offset query optional integer

Beginning point in the list to retrieve from.

sort query optional string

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

Responses

200

processes informations

400

bad request

GET /processes
GET /processes/{processId}
operationId: Process_getProcessInformation

Parameters

Name In Required Type Description
processId path required integer

Id of the process

Responses

200

process informations

400

bad request

404

Process ID not found

GET /processes/{processId}

Reseller 5 endpoints

GET /reseller/children
operationId: Reseller_listChildrenAccounts

Parameters

Name In Required Type Description
limit query optional integer

Number of documents for child accounts information per page

offset query optional integer

Index of the first document in the page

Responses

200

list of children

403

Current account is not a reseller

GET /reseller/children
GET /reseller/children/{childIdentifier}
operationId: Reseller_getChildDetails

Parameters

Name In Required Type Description
childIdentifier path required string

Either auth key or id of reseller’s child

Responses

200

Information for the child

400

bad request

403

Current account is not a reseller

404

Child auth key or child id not found

GET /reseller/children/{childIdentifier}
GET /reseller/children/{childIdentifier}/accountCreationStatus
operationId: Reseller_getChildAccountCreationStatus

Parameters

Name In Required Type Description
childIdentifier path required string

Either auth key or id of reseller’s child

Responses

200

status of reseller’s child account

400

bad request

403

Current account is not a reseller

404

Child auth key or child id not found

GET /reseller/children/{childIdentifier}/accountCreationStatus
GET /reseller/children/{childIdentifier}/auth

It returns a session [token] which will remain valid for a short period of time. A child account will be able to access a white-labeled section by using the following url pattern => https:/email.mydomain.com/login/sso?token=[token]

operationId: Reseller_getSessionToken

Parameters

Name In Required Type Description
childIdentifier path required string

Either auth key or id of reseller’s child

Responses

200

Session token

400

bad request

403

Current account is not a reseller

404

Child auth key or child id not found

GET /reseller/children/{childIdentifier}/auth
GET /reseller/children/{childIdentifier}/domains
operationId: Reseller_getChildDomains

Parameters

Name In Required Type Description
childIdentifier path required string

Either auth key or id of reseller’s child

Responses

200

Sender domains of the child

400

bad request

403

Current account is not a reseller

404

Child auth key or child id not found

GET /reseller/children/{childIdentifier}/domains

Smscampaigns 2 endpoints

GET /smsCampaigns
operationId: SmsCampaigns_getAllInformation

Parameters

Name In Required Type Description
status query optional string

Status of campaign.

startDate query optional string

Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms 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 sms 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 limitation for the result returned

offset query optional integer

Beginning point in the list to retrieve from.

sort query optional string

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

Responses

200

SMS campaigns informations

400

bad request

GET /smsCampaigns
GET /smsCampaigns/{campaignId}
operationId: SmsCampaigns_getCampaignById

Parameters

Name In Required Type Description
campaignId path required integer

id of the SMS campaign

Responses

200

SMS campaign informations

400

bad request

404

Campaign ID not found

GET /smsCampaigns/{campaignId}

Senders 3 endpoints

GET /senders
operationId: Senders_listAll

Parameters

Name In Required Type Description
ip query optional string

Filter your senders for a specific ip. Available for dedicated IP usage only

domain query optional string

Filter your senders for a specific domain

Responses

200

list of senders

400

bad request

GET /senders
GET /senders/ips
operationId: Senders_getDedicatedIps

Responses

200

list of dedicated IPs

GET /senders/ips
GET /senders/{senderId}/ips
operationId: Senders_getAllDedicatedIps

Parameters

Name In Required Type Description
senderId path required integer

Id of the sender

Responses

200

list of dedicated IPs

400

bad request

404

Sender ID not found

GET /senders/{senderId}/ips

Tasks 3 endpoints

GET /crm/tasks
operationId: Tasks_getAll

Parameters

Name In Required Type Description
filter[type] query optional string

Filter by task type (ID)

filter[status] query optional string

Filter by task status

filter[date] query optional string

Filter by date

filter[assignTo] query optional string

Filter by the “assignTo” ID. You can utilize account emails for the “assignTo” attribute.

filter[contacts] query optional string

Filter by contact ids

filter[deals] query optional string

Filter by deals ids

filter[companies] query optional string

Filter by companies ids

dateFrom query optional integer

dateFrom to date range filter type (timestamp in milliseconds)

dateTo query optional integer

dateTo to date range filter type (timestamp in milliseconds)

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

sortBy query optional string

The field used to sort field names.

Responses

200

Returns task list with filters

400

Returned when query params are invalid

GET /crm/tasks
GET /crm/tasks/{id}
operationId: Tasks_getTaskById

Parameters

Name In Required Type Description
id path required string

Responses

200

Returns the Task by id

400

Returned when task id is invalid

404

Returned when item not found

GET /crm/tasks/{id}
GET /crm/tasktypes
operationId: Tasks_getAllTaskTypes

Responses

200

Returns all the Task types

GET /crm/tasktypes

Transactionalemails 10 endpoints

GET /smtp/blockedContacts
operationId: TransactionalEmails_listBlockedContacts

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts

limit query optional integer

Number of documents returned per page

offset query optional integer

Index of the first document on the page

senders query optional array

Comma separated list of emails of the senders from which contacts are blocked or unsubscribed

sort query optional string

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

Responses

200

List of blocked or unsubscribed transactional contacts

400

bad request

GET /smtp/blockedContacts
GET /smtp/blockedDomains

Get the list of blocked domains

operationId: TransactionalEmails_getBlockedDomains

Responses

200

List of blocked domains

GET /smtp/blockedDomains
GET /smtp/emailStatus/{identifier}

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

operationId: TransactionalEmails_getEmailStatusById

Parameters

Name In Required Type Description
identifier path required string

The batchId of scheduled emails batch (Should be a valid UUIDv4) or the messageId of scheduled email.

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 tha 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. Not valid when identifier is messageId.

status query optional string

Filter the records by status of the scheduled email batch or message. Not valid when identifier is messageId.

limit query optional integer

Number of documents returned per page. Not valid when identifier is messageId.

offset query optional integer

Index of the first document on the page. Not valid when identifier is messageId.

Responses

200

Scheduled email batches

400

Invalid parameters passed

404

Record(s) for identifier not found

GET /smtp/emailStatus/{identifier}
GET /smtp/emails

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.

operationId: TransactionalEmails_getList

Parameters

Name In Required Type Description
email query optional string

Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent.

templateId query optional integer

Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email.

messageId query optional string

Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent.

startDate query optional string

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.

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

limit query optional integer

Number of documents returned per page

offset query optional integer

Index of the first document in the page

Responses

200

List of transactional emails

400

bad request

GET /smtp/emails
GET /smtp/emails/{uuid}
operationId: TransactionalEmails_getContentByUuid

Parameters

Name In Required Type Description
uuid path required string

Unique id of the transactional email that has been sent to a particular contact

Responses

200

Transactional email content

GET /smtp/emails/{uuid}
GET /smtp/statistics/aggregatedReport

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

operationId: TransactionalEmails_getAggregatedReport

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate

endDate query optional string

Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

tag query optional string

Tag of the emails

Responses

200

Aggregated report informations

400

bad request

GET /smtp/statistics/aggregatedReport
GET /smtp/statistics/events

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

operationId: TransactionalEmails_getAllActivity

Parameters

Name In Required Type Description
limit query optional integer

Number limitation for the result returned

offset query optional integer

Beginning point in the list to retrieve from.

startDate query optional string

Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate

endDate query optional string

Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

email query optional string

Filter the report for a specific email addresses

event query optional string

Filter the report for a specific event type

tags query optional string

Filter the report for tags (serialized and urlencoded array)

messageId query optional string

Filter on a specific message id

templateId query optional integer

Filter on a specific template id

sort query optional string

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

Responses

200

Email events report informations

400

bad request

GET /smtp/statistics/events
GET /smtp/statistics/reports
operationId: TransactionalEmails_getActivityPerDay

Parameters

Name In Required Type Description
limit query optional integer

Number of documents returned per page

offset query optional integer

Index of the first document on the page

startDate query optional string

Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD)

endDate query optional string

Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD)

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

tag query optional string

Tag of the emails

sort query optional string

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

Responses

200

Aggregated report informations

400

bad request

GET /smtp/statistics/reports
GET /smtp/templates
operationId: TransactionalEmails_listTemplates

Parameters

Name In Required Type Description
templateStatus query optional boolean

Filter on the status of the template. Active = true, inactive = false

limit query optional integer

Number of documents returned 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

Responses

200

transactional email templates informations

400

bad request

GET /smtp/templates
GET /smtp/templates/{templateId}
operationId: TransactionalEmails_getTemplateInfo

Parameters

Name In Required Type Description
templateId path required integer

id of the template

Responses

200

Email template informations

400

bad request

404

Template ID not found

GET /smtp/templates/{templateId}

Transactionalsms 3 endpoints

GET /transactionalSMS/statistics/aggregatedReport
operationId: TransactionalSms_getAggregatedReport

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the report

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the report

days query optional integer

Number of days in the past including today (positive integer). Not compatible with startDate and endDate

tag query optional string

Filter on a tag

Responses

200

Aggregated SMS report informations

400

bad request

GET /transactionalSMS/statistics/aggregatedReport
GET /transactionalSMS/statistics/events
operationId: TransactionalSms_getAllEvents

Parameters

Name In Required Type Description
limit query optional integer

Number of documents per page

startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the report

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the report

offset query optional integer

Index of the first document of the page

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

phoneNumber query optional string

Filter the report for a specific phone number

event query optional string

Filter the report for specific events

tags query optional string

Filter the report for specific tags passed as a serialized urlencoded array

sort query optional string

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

Responses

200

Sms events report informations

400

bad request

GET /transactionalSMS/statistics/events
GET /transactionalSMS/statistics/reports
operationId: TransactionalSms_getSmsActivityAggregatedPerDay

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting date (YYYY-MM-DD) of the report

endDate query optional string

Mandatory if startDate is used. Ending date (YYYY-MM-DD) of the report

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

tag query optional string

Filter on a tag

sort query optional string

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

Responses

200

Aggregated SMS report informations

400

bad request

GET /transactionalSMS/statistics/reports

Transactionalwhatsapp 1 endpoints

GET /whatsapp/statistics/events

This endpoint will show the unaggregated statistics for WhatsApp activity (30 days by default if startDate and endDate or days is not passed. The date range can not exceed 90 days)

operationId: TransactionalWhatsApp_getActivity

Parameters

Name In Required Type Description
limit query optional integer

Number limitation for the result returned

offset query optional integer

Beginning point in the list to retrieve from

startDate query optional string

Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate

endDate query optional string

Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate

days query optional integer

Number of days in the past including today (positive integer). Not compatible with ‘startDate’ and ‘endDate’

contactNumber query optional string

Filter results for specific contact (WhatsApp Number with country code. Example, 85264318721)

event query optional string

Filter the report for a specific event type

sort query optional string

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

Responses

200

WhatsApp events report

400

bad request

GET /whatsapp/statistics/events

User 2 endpoints

GET /organization/invited/users
operationId: User_getAllUsers

Responses

200

list of all your users

400

bad request

GET /organization/invited/users
GET /organization/user/{email}/permissions
operationId: User_checkPermission

Parameters

Name In Required Type Description
email path required string

Email of the invited user.

Responses

200

list of all the user’s permissions

400

bad request

GET /organization/user/{email}/permissions

Webhooks 2 endpoints

GET /webhooks
operationId: Webhooks_getAll

Parameters

Name In Required Type Description
type query optional string

Filter on webhook type

sort query optional string

Sort the results in the ascending/descending order of webhook creation

Responses

200

Webhooks informations

400

bad request

GET /webhooks
GET /webhooks/{webhookId}
operationId: Webhooks_getDetails

Parameters

Name In Required Type Description
webhookId path required integer

Id of the webhook

Responses

200

Webhook informations

400

bad request

404

Webhook ID not found

GET /webhooks/{webhookId}

Whatsappcampaigns 4 endpoints

GET /whatsappCampaigns
operationId: WhatsAppCampaigns_getAll

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the WhatsApp campaigns created.
Prefer to pass your timezone in date-time format for accurate result

endDate query optional string

Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the WhatsApp campaigns created.
Prefer to pass your timezone in date-time format for accurate result

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 modification. Default order is descending if sort is not passed

Responses

200

WhatsApp campaigns information

400

bad request

GET /whatsappCampaigns
GET /whatsappCampaigns/config
operationId: WhatsAppCampaigns_getAccountInfo

Responses

200

Get all the information of your WhatsApp API account

400

bad request

GET /whatsappCampaigns/config
GET /whatsappCampaigns/template-list
operationId: WhatsAppCampaigns_getTemplates

Parameters

Name In Required Type Description
startDate query optional string

Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the templates created.
Prefer to pass your timezone in date-time format for accurate result

endDate query optional string

Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the templates created.
Prefer to pass your timezone in date-time format for accurate result

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 modification. Default order is descending if sort is not passed

source query optional string

source of the template

Responses

200

WhatsApp templates informations

400

bad request

GET /whatsappCampaigns/template-list
GET /whatsappCampaigns/{campaignId}
operationId: WhatsAppCampaigns_getCampaignById

Parameters

Name In Required Type Description
campaignId path required integer

Id of the campaign

Responses

200

Get WhatsApp campaign information on the basis of campaignId

400

bad request

404

Campaign Id not found

GET /whatsappCampaigns/{campaignId}

Schemas

object CompaniesCreateCompanyRequest
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "company",
      "description": "Name of company"
    },
    "attributes": {
      "type": "object",
      "example": {
        "owner": "60e68d60582a3b006f524197",
        "domain": "https://example.com",
        "industry": "Fabric"
      },
      "description": "Attributes for company creation"
    },
    "countryCode": {
      "type": "integer",
      "format": "int64",
      "example": 91,
      "description": "Country code if phone_number is passed in attributes."
    }
  }
}
object CompaniesCreateCompanyResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad06",
      "description": "Unique company id"
    }
  },
  "description": "Created company id"
}
object CompaniesLinkUnlinkWithContactDealRequest
{
  "type": "object",
  "properties": {
    "linkDealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Deal ids for deals to be linked with company"
    },
    "linkContactIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts to be linked with company"
    },
    "unlinkDealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045994",
        "61a5ce58c5d479576104595",
        "61a5ce58c5d4795761045996"
      ],
      "description": "Deal ids for deals to be unlinked from company"
    },
    "unlinkContactIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        4,
        5,
        6
      ],
      "description": "Contact ids for contacts to be unlinked from company"
    }
  }
}
object CompaniesList
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Company"
      },
      "description": "List of compaies"
    }
  },
  "description": "List of companies"
}
object CompaniesUpdateCompanyRequest
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "company",
      "description": "Name of company"
    },
    "attributes": {
      "type": "object",
      "example": {
        "date": "2022-05-04T00:00:00+05:30",
        "owner": "5b1a17d914b73d35a76ca0c7",
        "domain": "xyz",
        "revenue": 10000.34222,
        "category": "label_2",
        "industry": "flipkart",
        "phone_number": "81718441912",
        "number_of_contacts": 1,
        "number_of_employees": 100
      },
      "description": "Attributes for company update"
    },
    "countryCode": {
      "type": "integer",
      "format": "int64",
      "example": 91,
      "description": "Country code if phone_number is passed in attributes."
    }
  }
}
object Company
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "629475917295261d9b1f4403",
      "description": "Unique comoany id"
    },
    "attributes": {
      "type": "object",
      "example": {
        "name": "text",
        "owner": "62260474111b1101704a9d85",
        "domain": "xyz",
        "revenue": 10,
        "created_at": "2022-01-13T19:04:24.376+05:30",
        "phone_number": 8171844192,
        "last_updated_at": "2022-04-01T18:47:48.283+05:30",
        "owner_assign_date": "2022-04-01T18:21:13.379+05:30",
        "number_of_contacts": 0
      },
      "description": "Company attributes with values"
    },
    "linkedDealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "format": "objectID",
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Deals ids for companies linked to this company"
    },
    "linkedContactsIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "format": "in64",
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts linked to this company"
    }
  },
  "description": "Company Details"
}
array CompanyAttributes
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "label": {
        "type": "string",
        "example": "Company Name"
      },
      "isRequired": {
        "type": "boolean",
        "example": true
      },
      "internalName": {
        "type": "string",
        "example": "name"
      },
      "attributeOptions": {
        "type": "array",
        "items": {
          "type": "object",
          "example": {
            "key": "custom key",
            "value": "custom label"
          }
        }
      },
      "attributeTypeName": {
        "type": "string",
        "example": "text"
      }
    },
    "description": "List of attributes"
  },
  "description": "List of company attributes"
}
object ContactsAddToListRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/addContactToListByEmails"
    },
    {
      "$ref": "#/components/schemas/addContactToListByIDs"
    }
  ]
}
object ContactsRemoveContactFromListRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/removeContactFromListByEmails"
    },
    {
      "$ref": "#/components/schemas/removeContactFromListByIDs"
    },
    {
      "$ref": "#/components/schemas/removeContactFromListByAll"
    }
  ]
}
object ConversationsMessage
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "eYBEm3gq3zc5ayE2g",
      "description": "Message ID. It can be used for further manipulations with the message."
    },
    "file": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "url",
          "example": "https://ucarecdn.com/cee5c10c-8302-45c1-b1fb-43860ca941a9/",
          "description": "URL of the file"
        },
        "size": {
          "type": "integer",
          "format": "int64",
          "example": 15538,
          "minimum": 0,
          "description": "Size in bytes"
        },
        "isImage": {
          "type": "boolean",
          "example": true,
          "description": "Whether the file is an image"
        },
        "filename": {
          "type": "string",
          "example": "conversations.png",
          "description": "Name of the file"
        },
        "imageInfo": {
          "type": "object",
          "properties": {
            "width": {
              "type": "integer",
              "format": "int64",
              "example": 1129,
              "minimum": 0,
              "description": "Width of the image"
            },
            "height": {
              "type": "integer",
              "format": "int64",
              "example": 525,
              "minimum": 0,
              "description": "height of the image"
            },
            "previewUrl": {
              "type": "string",
              "format": "url",
              "example": "https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/lighter/",
              "description": "URL of the preview"
            }
          },
          "description": "image info is passed in case the file is an image"
        }
      }
    },
    "text": {
      "type": "string",
      "example": "Good morning! How can I help you?",
      "description": "Message text or name of the attached file"
    },
    "type": {
      "enum": [
        "agent",
        "visitor"
      ],
      "type": "string",
      "example": "agent",
      "description": "`\"agent\"` for agents’ messages, `\"visitor\"` for visitors’ messages."
    },
    "agentId": {
      "type": "string",
      "example": "d9nKoegKSjmCtyK78",
      "description": "ID of the agent on whose behalf the message was sent (only in messages sent by an agent)."
    },
    "isPushed": {
      "type": "boolean",
      "example": true,
      "description": "`true` for pushed messages"
    },
    "agentName": {
      "type": "string",
      "example": "Liz",
      "description": "Agent’s name as displayed to the visitor. Only in the messages sent by an agent."
    },
    "createdAt": {
      "type": "integer",
      "format": "int64",
      "example": 1470222622433,
      "minimum": 0,
      "description": "Timestamp in milliseconds."
    },
    "visitorId": {
      "type": "string",
      "example": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg",
      "description": "visitor’s ID"
    },
    "receivedFrom": {
      "type": "string",
      "example": "SuperAwesomeHelpdesk",
      "description": "In two-way integrations, messages sent via REST API can be marked with receivedFrom property and then filtered out when received in a webhook to avoid infinite loop."
    }
  },
  "description": "a Conversations message"
}
object ConversationsSendAutomatedMessageRequest
{
  "type": "object",
  "required": [
    "visitorId",
    "text"
  ],
  "properties": {
    "text": {
      "description": "message text"
    },
    "agentId": {
      "description": "agent ID. It can be found on agent’s page or received <a href=\"https://developers.brevo.com/docs/conversations-webhooks\">from a webhook</a>."
    },
    "groupId": {
      "description": "group ID. It can be found on group’s page."
    },
    "visitorId": {
      "description": "visitor’s ID received <a href=\"https://developers.brevo.com/docs/conversations-webhooks\">from a webhook</a> or generated by you to <a href=\"https://developers.brevo.com/docs/customize-the-widget#identifying-existing-users\">bind existing user account to Conversations</a>"
    }
  }
}
object ConversationsSendMessageAsAgentRequest
{
  "type": "object",
  "required": [
    "visitorId",
    "text"
  ],
  "properties": {
    "text": {
      "description": "message text"
    },
    "agentId": {
      "description": "agent ID. It can be found on agent’s page or received <a href=\"https://developers.brevo.com/docs/conversations-webhooks\">from a webhook</a>. Alternatively, you can use `agentEmail` + `agentName` + `receivedFrom` instead (all 3 fields required)."
    },
    "agentName": {
      "description": "agent name"
    },
    "visitorId": {
      "description": "visitor’s ID received <a href=\"https://developers.brevo.com/docs/conversations-webhooks\">from a webhook</a> or generated by you to <a href=\"https://developers.brevo.com/docs/customize-the-widget#identifying-existing-users\">bind existing user account to Conversations</a>"
    },
    "agentEmail": {
      "description": "agent email. When sending messages from a standalone system, it’s hard to maintain a 1-to-1 relationship between the users of both systems. In this case, an agent can be specified by their email address."
    },
    "receivedFrom": {
      "description": "mark your messages to distinguish messages created by you from the others."
    }
  }
}
object ConversationsSetAgentOnlineStatusRequest
{
  "type": "object",
  "properties": {
    "agentId": {
      "description": "agent ID. It can be found on agent’s page or received <a href=\"https://developers.brevo.com/docs/conversations-webhooks\">from a webhook</a>. Alternatively, you can use `agentEmail` + `agentName` + `receivedFrom` instead (all 3 fields required)."
    },
    "agentName": {
      "description": "agent name"
    },
    "agentEmail": {
      "description": "agent email. When sending online pings from a standalone system, it’s hard to maintain a 1-to-1 relationship between the users of both systems. In this case, an agent can be specified by their email address. If there’s no agent with the specified email address in your Brevo organization, a dummy agent will be created automatically."
    },
    "receivedFrom": {
      "description": "mark your messages to distinguish messages created by you from the others."
    }
  }
}
object ConversationsUpdateAgentMessageRequest
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "edited message text"
    }
  }
}
object ConversationsUpdatePushedMessageRequest
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "edited message text"
    }
  }
}
object ConversionSourceMetrics
{
  "type": "object",
  "required": [
    "id",
    "conversionSource",
    "ordersCount",
    "revenue",
    "averageBasket"
  ],
  "properties": {
    "id": {
      "type": "number",
      "format": "integer"
    },
    "revenue": {
      "type": "number",
      "format": "float"
    },
    "ordersCount": {
      "type": "number",
      "format": "integer"
    },
    "averageBasket": {
      "type": "number",
      "format": "float"
    },
    "conversionSource": {
      "enum": [
        "email_campaign"
      ],
      "type": "string"
    }
  }
}
object ConversionSourceProduct
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "1"
    },
    "sku": {
      "type": "string",
      "example": "sku-1"
    },
    "url": {
      "type": "string",
      "example": "https://mydomain.com/products/alpina-panoma-classic"
    },
    "name": {
      "type": "string",
      "example": "Milky Way Galaxy"
    },
    "price": {
      "type": "number",
      "format": "float",
      "example": 1000
    },
    "revenue": {
      "type": "number",
      "format": "float",
      "example": 999.99
    },
    "imageUrl": {
      "type": "string",
      "example": "http://mydomain.com/product-absoulte-url/img.jpeg"
    },
    "ordersCount": {
      "type": "integer",
      "example": 200
    }
  }
}
object CouponsCreateCollectionRequest
{
  "type": "object",
  "required": [
    "name",
    "defaultCoupon"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "10%OFF",
      "description": "Name of the coupons collection"
    },
    "defaultCoupon": {
      "type": "string",
      "example": "Winter",
      "description": "Default coupons collection name"
    },
    "expirationDate": {
      "type": "string",
      "format": "date-time",
      "example": "2022-01-02T00:00:00Z",
      "description": "Specify an expiration date for the coupon collection in RFC3339 format. Use null to remove the expiration date."
    },
    "remainingDaysAlert": {
      "type": "integer",
      "example": 5,
      "description": "Send a notification alert (email) when the remaining days until the expiration date are equal or fall bellow this number. Use null to disable alerts."
    },
    "remainingCouponsAlert": {
      "type": "integer",
      "example": 5,
      "description": "Send a notification alert (email) when the remaining coupons count is equal or fall bellow this number. Use null to disable alerts."
    }
  }
}
object CouponsCreateCollectionResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuidv4",
      "example": "23befbae-1505-47a8-bd27-e30ef739f32c",
      "description": "The id of the created collection"
    }
  }
}
object CouponsCreateCouponCollectionRequest
{
  "type": "object",
  "required": [
    "collectionId",
    "coupons"
  ],
  "properties": {
    "coupons": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "Uf12AF",
        "description": "Name of the coupon"
      },
      "maxItems": 1000,
      "minItems": 1,
      "uniqueItems": true
    },
    "collectionId": {
      "type": "string",
      "format": "uuidv4",
      "example": "23befbae-1505-47a8-bd27-e30ef739f32c",
      "description": "The id of the coupon collection for which the coupons will be created"
    }
  }
}
object CouponsUpdateCouponCollectionByIdRequest
{
  "type": "object",
  "properties": {
    "defaultCoupon": {
      "type": "string",
      "example": "10 OFF",
      "description": "A default coupon to be used in case there are no coupons left"
    },
    "expirationDate": {
      "type": "string",
      "format": "date-time",
      "example": "2024-01-01T00:00:00Z",
      "description": "Specify an expiration date for the coupon collection in RFC3339 format. Use null to remove the expiration date."
    },
    "remainingDaysAlert": {
      "type": "integer",
      "example": 5,
      "description": "Send a notification alert (email) when the remaining days until the expiration date are equal or fall bellow this number. Use null to disable alerts."
    },
    "remainingCouponsAlert": {
      "type": "integer",
      "example": 5,
      "description": "Send a notification alert (email) when the remaining coupons count is equal or fall bellow this number. Use null to disable alerts."
    }
  }
}
object CouponsUpdateCouponCollectionByIdResponse
{
  "type": "object",
  "required": [
    "id",
    "name",
    "defaultCoupon"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuidv4",
      "example": "23befbae-1505-47a8-bd27-e30ef739f32c",
      "description": "The id of the collection"
    },
    "name": {
      "type": "string",
      "format": "uuidv4",
      "example": "SummerPromotions",
      "description": "The name of the collection"
    },
    "defaultCoupon": {
      "type": "string",
      "example": "10 OFF",
      "description": "The default coupon of the collection"
    }
  }
}
object Deal
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "629475917295261d9b1f4403",
      "description": "Unique deal id"
    },
    "attributes": {
      "type": "object",
      "example": {
        "amount": 12,
        "pipeline": "6093d296ad1e9c5cf2140a58",
        "deal_name": "testname",
        "created_at": "2022-05-30T07:42:05.671Z",
        "deal_owner": "6093d2425a9b436e9519d034",
        "deal_stage": "9e577ff7-8e42-4ab3-be26-2b5e01b42518",
        "stage_updated_at": "2022-05-30T07:42:05.671Z",
        "last_updated_date": "2022-06-06T08:38:36.761Z",
        "last_activity_date": "2022-06-06T08:38:36.000Z",
        "next_activity_date": null,
        "number_of_contacts": 1,
        "number_of_activities": 0
      },
      "description": "Deal attributes with values"
    },
    "linkedContactsIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts linked to this deal"
    },
    "linkedCompaniesIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Companies ids for companies linked to this deal"
    }
  },
  "description": "Deal Details"
}
array DealAttributes
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "label": {
        "type": "string",
        "example": "Deal Name"
      },
      "isRequired": {
        "type": "boolean",
        "example": true
      },
      "internalName": {
        "type": "string",
        "example": "deal_name"
      },
      "attributeOptions": {
        "type": "array",
        "items": {
          "type": "object",
          "example": {
            "key": "custom key",
            "value": "custom label"
          }
        }
      },
      "attributeTypeName": {
        "type": "string",
        "example": "text"
      }
    },
    "description": "List of attributes"
  },
  "description": "List of deal attributes"
}
object DealsCreateNewDealRequest
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Deal: Connect with company",
      "description": "Name of deal"
    },
    "attributes": {
      "type": "object",
      "example": {
        "amount": 12,
        "deal_owner": "6093d2425a9b436e9519d034"
      },
      "description": "Attributes for deal creation\n\nTo assign owner of a Deal you can send attributes.deal_owner and utilize the account email or ID.\n\nIf you want to create a deal on a specific pipeline and stage you can use the following attributes `pipeline` and `deal_stage`.\n\nPipeline and deal_stage are ids you can fetch using this endpoint `/crm/pipeline/details/{pipelineID}`\n"
    }
  }
}
object DealsCreateNewDealResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad06",
      "description": "Unique deal id"
    }
  },
  "description": "Created deal id"
}
object DealsLinkUnlinkPatchRequest
{
  "type": "object",
  "properties": {
    "linkCompanyIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Company ids to be linked with deal"
    },
    "linkContactIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts to be linked with deal"
    },
    "unlinkCompanyIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045994",
        "61a5ce58c5d479576104595",
        "61a5ce58c5d4795761045996"
      ],
      "description": "Company ids to be unlinked from deal"
    },
    "unlinkContactIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        4,
        5,
        6
      ],
      "description": "Contact ids for contacts to be unlinked from deal"
    }
  }
}
object DealsList
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Deal"
      },
      "description": "List of deals"
    }
  },
  "description": "List of Deals"
}
object DealsUpdateDealByIdRequest
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "Deal: Connect with client",
      "description": "Name of deal"
    },
    "attributes": {
      "type": "object",
      "example": {
        "amount": 12,
        "deal_owner": "6093d2425a9b436e9519d034"
      },
      "description": "Attributes for deal update\n\nTo assign owner of a Deal you can send attributes.deal_owner and utilize the account email or ID.\n\nIf you wish to update the pipeline of a deal you need to provide the `pipeline` and the `deal_stage`\n\nPipeline and deal_stage are ids you can fetch using this endpoint `/crm/pipeline/details/{pipelineID}`\n"
    }
  }
}
object EcommerceGetAttributedProductSalesResponse
{
  "type": "object",
  "required": [
    "products"
  ],
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConversionSourceProduct",
        "type": "object"
      },
      "description": "List of attributed products"
    }
  }
}
object EcommerceGetAttributionMetrics200Response
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ConversionSourceMetrics"
    },
    {
      "type": "object",
      "required": [
        "newCustomersCount"
      ],
      "properties": {
        "newCustomersCount": {
          "type": "number",
          "format": "integer"
        }
      }
    }
  ]
}
object EcommerceGetAttributionMetricsResponse
{
  "type": "object",
  "required": [
    "results",
    "totals"
  ],
  "properties": {
    "totals": {
      "type": "object",
      "example": {
        "revenue": 1700,
        "ordersCount": 500,
        "averageBasket": 3.4
      },
      "required": [
        "ordersCount",
        "revenue",
        "averageBasket"
      ],
      "properties": {
        "revenue": {
          "type": "number",
          "format": "float"
        },
        "ordersCount": {
          "type": "number",
          "format": "integer"
        },
        "averageBasket": {
          "type": "number",
          "format": "float"
        }
      },
      "description": "Attribution list aggregated totals"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConversionSourceMetrics",
        "type": "object"
      },
      "example": [
        {
          "id": 2,
          "revenue": 900,
          "ordersCount": 300,
          "averageBasket": 3,
          "conversionSource": "email_campaign"
        },
        {
          "id": 1,
          "revenue": 800,
          "ordersCount": 200,
          "averageBasket": 4,
          "conversionSource": "email_campaign"
        }
      ],
      "description": "List of conversion attribution metrics"
    }
  }
}
object EcommerceGetOrdersResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "orders": [
      {
        "id": "order1803X",
        "email": "testvisitor@sendinblue.com",
        "amount": 2000,
        "status": "complete",
        "billing": {
          "city": "Noida",
          "phone": 9238283982,
          "region": "North India",
          "address": "Sec 62, Noida",
          "postCode": 110001,
          "countryCode": "IN",
          "paymentMethod": "Net banking"
        },
        "coupons": [
          "flat50",
          "flat40"
        ],
        "products": [
          {
            "price": 100,
            "quantity": 2,
            "productId": 21,
            "variantId": "P100"
          },
          {
            "price": 100,
            "quantity": 2,
            "productId": 21,
            "variantId": "P15756"
          }
        ],
        "createdAt": "2021-12-31T11:42:35.638Z",
        "updatedAt": "2022-03-03T14:48:31.867Z",
        "contact_id": 2
      }
    ]
  },
  "properties": {
    "count": {
      "type": "number",
      "example": 1
    },
    "orders": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "order1803"
          },
          "email": {
            "type": "string",
            "example": "testvisitor@sendinblue.com"
          },
          "amount": {
            "type": "number",
            "example": 2000
          },
          "status": {
            "type": "string",
            "example": "complete"
          },
          "billing": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string",
                "example": "Noida"
              },
              "phone": {
                "type": "number",
                "example": 9238283982
              },
              "region": {
                "type": "string",
                "example": "North India"
              },
              "address": {
                "type": "string",
                "example": "Sec 62, Noida"
              },
              "postCode": {
                "type": "number",
                "example": 110001
              },
              "countryCode": {
                "type": "string",
                "example": "IN"
              },
              "paymentMethod": {
                "type": "string",
                "example": "Net banking"
              }
            }
          },
          "coupons": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "flat50"
            }
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "price": {
                  "type": "number",
                  "example": 100
                },
                "quantity": {
                  "type": "number",
                  "example": 2
                },
                "productId": {
                  "type": "number",
                  "example": 21
                },
                "variantId": {
                  "type": "string",
                  "example": "P100"
                }
              }
            }
          },
          "createdAt": {
            "type": "string",
            "example": "2021-12-31T11:42:35.638Z"
          },
          "updatedAt": {
            "type": "string",
            "example": "2022-03-03T14:48:31.867Z"
          },
          "contact_id": {
            "type": "number",
            "example": 2
          }
        }
      }
    }
  }
}
object ExternalFeedsCreateFeedResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuidv4",
      "example": "23befbae-1505-47a8-bd27-e30ef739f32c",
      "description": "ID of the object created"
    }
  }
}
object FileData
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "example.png",
      "description": "Name of uploaded file"
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "example": 10,
      "description": "Size of file in bytes"
    },
    "dealId": {
      "type": "string",
      "example": "61a5ce58c5d4795761045991",
      "description": "Deal id linked to a file"
    },
    "authorId": {
      "type": "string",
      "example": "61a5ce58y5d4795761045991",
      "description": "Account id of user which created the file"
    },
    "companyId": {
      "type": "string",
      "example": "61a5ce58c5d4795761045991",
      "description": "Company id linked to a file"
    },
    "contactId": {
      "type": "integer",
      "format": "int64",
      "example": 1,
      "description": "Contact id of contact on which file is uploaded"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "example": "2017-05-01T17:05:03.000Z",
      "description": "File created date/time"
    }
  },
  "description": "File data that is uploaded"
}
object FileDownloadableLink
{
  "type": "object",
  "properties": {
    "fileUrl": {
      "type": "string",
      "example": "https://storage.googleapis.com/brevo-app-crm.......-sample.pdf",
      "description": "A unique link to download the requested file."
    }
  },
  "description": "Downloadable file link"
}
array FileList
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/FileData"
  },
  "description": "List of files"
}
object FilesUploadFileRequest
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "type": "string",
      "format": "binary",
      "description": "File data to create a file."
    },
    "dealId": {
      "type": "string"
    },
    "companyId": {
      "type": "string"
    },
    "contactId": {
      "type": "integer",
      "format": "int64"
    }
  }
}
string InboundParsingGetAttachmentByTokenResponse
{
  "type": "string",
  "format": "binary"
}
object MasterAccountCreateGroupOfSubAccountsRequest
{
  "type": "object",
  "required": [
    "groupName"
  ],
  "properties": {
    "groupName": {
      "type": "string",
      "example": "My group",
      "description": "The name of the group of sub-accounts"
    },
    "subAccountIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        234322,
        325553,
        893432
      ],
      "description": "Pass the list of sub-account Ids to be included in the group"
    }
  }
}
object MasterAccountCreateGroupOfSubAccountsResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object MasterAccountCreateSubAccountKeyRequest
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 3232323,
      "description": "Id of the sub-account organization"
    },
    "name": {
      "type": "string",
      "example": "My Api Key",
      "description": "Name of the API key"
    }
  }
}
object MasterAccountGenerateSsoTokenRequest
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "example": "vipin+ent-user@brevo.com",
      "description": "User email of admin account"
    }
  }
}
object MasterAccountGenerateSsoTokenRequest1
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 3232323,
      "description": "Id of the sub-account organization"
    },
    "url": {
      "type": "string",
      "example": "https://app.brevo.com/senders/domain/list",
      "description": "Set the full target URL after login success. The user will land directly on this target URL after login"
    },
    "email": {
      "type": "string",
      "example": "vipin+subaccount@brevo.com",
      "description": "User email of sub-account organization"
    },
    "target": {
      "enum": [
        "automation",
        "email_campaign",
        "contacts",
        "landing_pages",
        "email_transactional",
        "senders",
        "sms_campaign",
        "sms_transactional"
      ],
      "type": "string",
      "example": "contacts",
      "description": "**Set target after login success**\n* **automation** - Redirect to Automation after login\n* **email_campaign** - Redirect to Email Campaign after login\n* **contacts** - Redirect to Contacts after login\n* **landing_pages** - Redirect to Landing Pages after login\n* **email_transactional** - Redirect to Email Transactional after login\n* **senders** - Redirect to Senders after login\n* **sms_campaign** - Redirect to Sms Campaign after login\n* **sms_transactional** - Redirect to Sms Transactional after login\n"
    }
  }
}
array MasterAccountListGroupsResponse
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "Unique id of the group"
      },
      "groupName": {
        "type": "string",
        "description": "The name of the group of sub-accounts"
      }
    }
  }
}
object MasterAccountResendCancelAdminUserInvitationResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Action success message"
    }
  }
}
object MasterAccountSendInvitationToAdminUserResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object MasterAccountUnlinkSubAccountFromGroupRequest
{
  "type": "object",
  "required": [
    "subAccountIds"
  ],
  "properties": {
    "subAccountIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        423432,
        234323,
        87678
      ],
      "description": "List of sub-account ids"
    }
  }
}
object MasterAccountUpdateGroupSubAccountsRequest
{
  "type": "object",
  "properties": {
    "groupName": {
      "type": "string",
      "example": "My group",
      "description": "The name of the group of sub-accounts"
    },
    "subAccountIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        234322,
        325553,
        893432
      ],
      "description": "Pass the list of sub-account Ids to be included in the group"
    }
  }
}
object Note
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad09",
      "description": "Unique note Id"
    },
    "text": {
      "type": "string",
      "example": "In communication with client for resolution of queries.",
      "maxLength": 3000,
      "minLength": 1,
      "description": "Text content of a note"
    },
    "dealIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991"
      ],
      "description": "Deal ids linked to a note"
    },
    "authorId": {
      "type": "object",
      "example": {
        "id": "61a5ce58y5d4795761045991",
        "name": {
          "fullName": "John Doe"
        },
        "email": "johndoe@example.com",
        "locale": "en_GB",
        "timezone": "Asia/Kolkata"
      },
      "description": "Account details of user which created the note"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "example": "2017-05-01T17:05:03.000Z",
      "description": "Note created date/time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "example": "2017-05-01T17:05:03.000Z",
      "description": "Note updated date/time"
    },
    "contactIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        247,
        1,
        2
      ],
      "description": "Contact ids linked to a note"
    }
  },
  "description": "Note Details"
}