Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.brevo.com/v3
/account
GET /account
/organization/activities
| 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. |
GET /organization/activities
/companies
| 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. |
GET /companies
/companies
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompaniesCreateCompanyRequest"
}
}
},
"required": true,
"description": "Company create data."
}
POST /companies
/companies/attributes
GET /companies/attributes
/companies/link-unlink/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompaniesLinkUnlinkWithContactDealRequest"
}
}
},
"required": true,
"description": "Linked / Unlinked contacts and deals ids."
}
PATCH /companies/link-unlink/{id}
/companies/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Company ID to delete |
DELETE /companies/{id}
/companies/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Get Company Details |
GET /companies/{id}
/companies/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompaniesUpdateCompanyRequest"
}
}
},
"required": true,
"description": "Updated company details."
}
PATCH /companies/{id}
/contacts
| 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.** |
GET /contacts
/contacts
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createContact"
}
}
},
"required": true,
"description": "Values to create a contact"
}
POST /contacts
/contacts/attributes
GET /contacts/attributes
/contacts/attributes/{attributeCategory}/{attributeName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attributeCategory | path | required | string | Category of the attribute |
| attributeName | path | required | string | Name of the existing attribute |
DELETE /contacts/attributes/{attributeCategory}/{attributeName}
/contacts/attributes/{attributeCategory}/{attributeName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attributeCategory | path | required | string | Category of the attribute |
| attributeName | path | required | string | Name of the attribute |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAttribute"
}
}
},
"required": true,
"description": "Values to create an attribute"
}
POST /contacts/attributes/{attributeCategory}/{attributeName}
/contacts/attributes/{attributeCategory}/{attributeName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attributeCategory | path | required | string | Category of the attribute |
| attributeName | path | required | string | Name of the existing attribute |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateAttribute"
}
}
},
"required": true,
"description": "Values to update an attribute"
}
PUT /contacts/attributes/{attributeCategory}/{attributeName}
/contacts/batch
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateBatchContacts"
}
}
},
"required": true,
"description": "Values to update multiple contacts"
}
POST /contacts/batch
/contacts/doubleOptinConfirmation
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createDoiContact"
}
}
},
"required": true,
"description": "Values to create the Double opt-in (DOI) contact"
}
POST /contacts/doubleOptinConfirmation
/contacts/export
It returns the background process ID which on completion calls the notify URL that you have set in the input. File will be available in csv.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/requestContactExport"
}
}
},
"required": true,
"description": "Values to request a contact export"
}
POST /contacts/export
/contacts/folders
| 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 |
GET /contacts/folders
/contacts/folders
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateFolder"
}
}
},
"required": true,
"description": "Name of the folder"
}
POST /contacts/folders
/contacts/folders/{folderId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| folderId | path | required | integer | Id of the folder |
DELETE /contacts/folders/{folderId}
/contacts/folders/{folderId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| folderId | path | required | integer | id of the folder |
GET /contacts/folders/{folderId}
/contacts/folders/{folderId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| folderId | path | required | integer | Id of the folder |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateFolder"
}
}
},
"required": true,
"description": "Name of the folder"
}
PUT /contacts/folders/{folderId}
/contacts/folders/{folderId}/lists
| 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 |
GET /contacts/folders/{folderId}/lists
/contacts/import
It returns the background process ID which on completion calls the notify URL that you have set in the input. **Note**: - Any contact attribute that doesn't exist in your account will be ignored at import end.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/requestContactImport"
}
}
},
"required": true,
"description": "Values to import contacts in Brevo. To know more about the expected format, please have a look at ``https://help.brevo.com/hc/en-us/articles/209499265-Build-contacts-lists-for-your-email-marketing-campaigns``"
}
POST /contacts/import
/contacts/lists
| 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 |
GET /contacts/lists
/contacts/lists
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createList"
}
}
},
"required": true,
"description": "Values to create a list"
}
POST /contacts/lists
/contacts/lists/{listId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| listId | path | required | integer | Id of the list |
DELETE /contacts/lists/{listId}
/contacts/lists/{listId}
| 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** |
GET /contacts/lists/{listId}
/contacts/lists/{listId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| listId | path | required | integer | Id of the list |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateList"
}
}
},
"required": true,
"description": "Values to update a list"
}
PUT /contacts/lists/{listId}
/contacts/lists/{listId}/contacts
| 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 |
GET /contacts/lists/{listId}/contacts
/contacts/lists/{listId}/contacts/add
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| listId | path | required | integer | Id of the list |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactsAddToListRequest"
},
"examples": {
"idsArray": {
"value": {
"ids": [
1,
2
]
},
"summary": "Passing ids array"
},
"emailsArray": {
"value": {
"emails": [
"jeff32@example.com",
"jim56@example.com"
]
},
"summary": "Passing emails array"
}
}
}
},
"required": true,
"description": "Emails addresses OR IDs of the contacts"
}
POST /contacts/lists/{listId}/contacts/add
/contacts/lists/{listId}/contacts/remove
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| listId | path | required | integer | Id of the list |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactsRemoveContactFromListRequest"
},
"examples": {
"allTrue": {
"value": {
"all": true
},
"summary": "Passing 'all' true"
},
"idsArray": {
"value": {
"ids": [
1,
2
]
},
"summary": "Passing ids array"
},
"emailsArray": {
"value": {
"emails": [
"jeff32@example.com",
"jim56@example.com"
]
},
"summary": "Passing emails array"
}
}
}
},
"required": true,
"description": "Emails adresses OR IDs of the contacts OR 'all' true"
}
POST /contacts/lists/{listId}/contacts/remove
/contacts/segments
| 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 |
GET /contacts/segments
/contacts/{identifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identifier | path | required | Email (urlencoded) OR ID of the contact |
DELETE /contacts/{identifier}
/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.
| 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. |
GET /contacts/{identifier}
/contacts/{identifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identifier | path | required | Email (urlencoded) OR ID of the contact |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateContact"
}
}
},
"required": true,
"description": "Values to update a contact"
}
PUT /contacts/{identifier}
/contacts/{identifier}/campaignStats
| 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 |
GET /contacts/{identifier}/campaignStats
/conversations/agentOnlinePing
We recommend pinging this endpoint every minute for as long as the agent has to be considered online.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationsSetAgentOnlineStatusRequest"
},
"examples": {
"Basic use": {
"value": {
"agentId": "d9nKoegKSjmCtyK78"
}
},
"agentEmail + agentName + receivedFrom": {
"value": {
"agentName": "Liz",
"agentEmail": "liz@getwear.com",
"receivedFrom": "SuperAwesomeHelpdesk"
}
}
}
}
},
"required": true
}
POST /conversations/agentOnlinePing
/conversations/messages
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationsSendMessageAsAgentRequest"
},
"examples": {
"Basic use": {
"value": {
"text": "Hello! How can I help you?",
"agentId": "d9nKoegKSjmCtyK78",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg"
}
},
"receivedFrom": {
"value": {
"text": "Hello! How can I help you?",
"agentId": "d9nKoegKSjmCtyK78",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg",
"receivedFrom": "SuperAwesomeHelpdesk"
},
"description": "When you receive a webhook, you might want to distinguish messages created by you from the others. Use receivedFrom property to mark your messages"
},
"agentEmail + agentName + receivedFrom": {
"value": {
"text": "Hello! How can I help you?",
"agentName": "Liz",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg",
"agentEmail": "liz@getwear.com",
"receivedFrom": "SuperAwesomeHelpdesk"
},
"description": "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. If there’s no agent with the specified email address in your Brevo organization, a dummy agent will be created automatically."
}
}
}
},
"required": true
}
POST /conversations/messages
/conversations/messages/{id}
Only agents’ messages can be deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message |
DELETE /conversations/messages/{id}
/conversations/messages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message |
GET /conversations/messages/{id}
/conversations/messages/{id}
Only agents’ messages can be edited.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationsUpdateAgentMessageRequest"
},
"examples": {
"edition": {
"value": {
"text": "Good morning! How can I help you?"
}
}
}
}
},
"required": true
}
PUT /conversations/messages/{id}
/conversations/pushedMessages
Example of automated messages: order status, announce new features in your web app, etc.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationsSendAutomatedMessageRequest"
},
"examples": {
"Agent group": {
"value": {
"text": "Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88",
"groupId": "PjRBMhWGen6aRHjif",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg"
},
"description": "Send a message on behalf of a random agent from one of your agent groups"
},
"Random agent": {
"value": {
"text": "Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg"
}
},
"Specific agent": {
"value": {
"text": "Your order has shipped! Here’s your tracking number: 9114 5847 3325 9667 4328 88",
"agentId": "d9nKoegKSjmCtyK78",
"visitorId": "kZMvWhf8npAu3H6qd57w2Hv6nh6rnxvg"
},
"description": "Send a message on behalf of a specific agent"
}
}
}
},
"required": true
}
POST /conversations/pushedMessages
/conversations/pushedMessages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message |
DELETE /conversations/pushedMessages/{id}
/conversations/pushedMessages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message sent previously |
GET /conversations/pushedMessages/{id}
/conversations/pushedMessages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationsUpdatePushedMessageRequest"
},
"examples": {
"edition": {
"value": {
"text": "Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54"
}
}
}
}
},
"required": true
}
PUT /conversations/pushedMessages/{id}
/couponCollections
| 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 |
GET /couponCollections
/couponCollections
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponsCreateCollectionRequest"
}
}
},
"required": true,
"description": "Values to create a coupon collection"
}
POST /couponCollections
/couponCollections/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the collection to return |
GET /couponCollections/{id}
/couponCollections/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the collection to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponsUpdateCouponCollectionByIdRequest"
}
}
},
"description": "Values to update the coupon collection"
}
PATCH /couponCollections/{id}
/coupons
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponsCreateCouponCollectionRequest"
}
}
},
"required": true,
"description": "Values to create coupons"
}
POST /coupons
/crm/attributes/deals
GET /crm/attributes/deals
/crm/deals
| 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 |
GET /crm/deals
/crm/deals
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealsCreateNewDealRequest"
}
}
},
"required": true,
"description": "Deal create data."
}
POST /crm/deals
/crm/deals/link-unlink/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealsLinkUnlinkPatchRequest"
}
}
},
"required": true,
"description": "Linked / Unlinked contacts and companies ids."
}
PATCH /crm/deals/link-unlink/{id}
/crm/deals/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
DELETE /crm/deals/{id}
/crm/deals/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
GET /crm/deals/{id}
/crm/deals/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealsUpdateDealByIdRequest"
}
}
},
"required": true,
"description": "Updated deal details."
}
PATCH /crm/deals/{id}
/crm/pipeline/details/all
GET /crm/pipeline/details/all
/crm/pipeline/details/{pipelineID}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| pipelineID | path | required | string |
GET /crm/pipeline/details/{pipelineID}
/senders/domains
GET /senders/domains
/senders/domains
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createDomain"
}
}
},
"required": false,
"description": "domain's name"
}
POST /senders/domains
/senders/domains/{domainName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| domainName | path | required | string | Domain name |
DELETE /senders/domains/{domainName}
/senders/domains/{domainName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| domainName | path | required | string | Domain name |
GET /senders/domains/{domainName}
/senders/domains/{domainName}/authenticate
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| domainName | path | required | string | Domain name |
PUT /senders/domains/{domainName}/authenticate
/categories
| 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.** |
GET /categories
/categories
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateCategory"
}
}
},
"required": true,
"description": "Values to create/update a category"
}
POST /categories
/categories/batch
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateBatchCategory"
}
}
},
"required": true,
"description": "Values to create a batch of categories"
}
POST /categories/batch
/categories/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Category ID |
GET /categories/{id}
/ecommerce/activate
Getting access to Brevo eCommerce.
POST /ecommerce/activate
/ecommerce/attribution/metrics
| 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 |
GET /ecommerce/attribution/metrics
/ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}
| 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 |
GET /ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}
/ecommerce/attribution/products/{conversionSource}/{conversionSourceId}
| 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 |
GET /ecommerce/attribution/products/{conversionSource}/{conversionSourceId}
/orders
Get all the orders
| 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.** |
GET /orders
/orders/status
Manages the transactional status of the order
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/order"
}
}
},
"required": true
}
POST /orders/status
/orders/status/batch
Create multiple orders at one time instead of one order at a time
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/orderBatch"
}
}
},
"required": true
}
POST /orders/status/batch
/products
| 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.** |
GET /products
/products
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateProduct"
}
}
},
"required": true,
"description": "Values to create/update a product"
}
POST /products
/products/batch
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createUpdateBatchProducts"
}
}
},
"required": true,
"description": "Values to create a batch of products"
}
POST /products/batch
/products/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Product ID |
GET /products/{id}
/emailCampaigns
| 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 |
GET /emailCampaigns
/emailCampaigns
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createEmailCampaign"
}
}
},
"required": true,
"description": "Values to create a campaign"
}
POST /emailCampaigns
/emailCampaigns/images
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/uploadImageToGallery"
}
}
},
"required": true,
"description": "Parameters to upload an image"
}
POST /emailCampaigns/images
/emailCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
DELETE /emailCampaigns/{campaignId}
/emailCampaigns/{campaignId}
| 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. |
GET /emailCampaigns/{campaignId}
/emailCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateEmailCampaign"
}
}
},
"required": true,
"description": "Values to update a campaign"
}
PUT /emailCampaigns/{campaignId}
/emailCampaigns/{campaignId}/abTestCampaignResult
Obtain winning version of an A/B test email campaign
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the A/B test campaign |
GET /emailCampaigns/{campaignId}/abTestCampaignResult
/emailCampaigns/{campaignId}/exportRecipients
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/emailExportRecipients"
}
}
},
"required": false,
"description": "Values to send for a recipient export request"
}
POST /emailCampaigns/{campaignId}/exportRecipients
/emailCampaigns/{campaignId}/sendNow
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
POST /emailCampaigns/{campaignId}/sendNow
/emailCampaigns/{campaignId}/sendReport
A PDF will be sent to the specified email addresses
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendReport"
}
}
},
"required": true,
"description": "Values for send a report"
}
POST /emailCampaigns/{campaignId}/sendReport
/emailCampaigns/{campaignId}/sendTest
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTestEmail"
}
}
},
"required": true
}
POST /emailCampaigns/{campaignId}/sendTest
/emailCampaigns/{campaignId}/sharedUrl
Get a unique URL to share & import an email template from one Brevo account to another.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign or template |
GET /emailCampaigns/{campaignId}/sharedUrl
/emailCampaigns/{campaignId}/status
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateCampaignStatus"
}
}
},
"required": true,
"description": "Status of the campaign"
}
PUT /emailCampaigns/{campaignId}/status
/events
Create an event to track a contact's interaction.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/event"
}
}
},
"required": true
}
POST /events
/feeds
This endpoint can fetch all created external feeds.
| 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. |
GET /feeds
/feeds
This endpoint will create an external feed.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createExternalFeed"
}
}
},
"required": true,
"description": "Values to create a feed"
}
POST /feeds
/feeds/{uuid}
This endpoint will delete an external feed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| uuid | path | required | string | UUID of the feed to delete |
DELETE /feeds/{uuid}
/feeds/{uuid}
This endpoint will update an external feed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| uuid | path | required | string | UUID of the feed to fetch |
GET /feeds/{uuid}
/feeds/{uuid}
This endpoint will update an external feed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| uuid | path | required | string | UUID of the feed to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateExternalFeed"
}
}
},
"required": true,
"description": "Values to update a feed"
}
PUT /feeds/{uuid}
/crm/files
| 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 |
GET /crm/files
/crm/files
{
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/FilesUploadFileRequest"
}
}
},
"required": true
}
POST /crm/files
/crm/files/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | File id to delete. |
DELETE /crm/files/{id}
/crm/files/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | File id to download. |
GET /crm/files/{id}
/crm/files/{id}/data
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | File id to get file data. |
GET /crm/files/{id}/data
/inbound/attachments/{downloadToken}
This endpoint will retrieve inbound attachment with download token.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| downloadToken | path | required | string | Token to fetch a particular attachment |
GET /inbound/attachments/{downloadToken}
/inbound/events
This endpoint will show the list of all the events for the received emails.
| 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 |
GET /inbound/events
/inbound/events/{uuid}
This endpoint will show the list of all events history for one particular received email.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| uuid | path | required | string | UUID to fetch events specific to recieved email |
GET /inbound/events/{uuid}
/corporate/group
This endpoint allows to create a group of sub-accounts
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountCreateGroupOfSubAccountsRequest"
}
}
}
}
POST /corporate/group
/corporate/group/unlink/{groupId}/subAccounts
This endpoint allows you to remove a sub-organization from a group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| groupId | path | required | string | Group id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountUnlinkSubAccountFromGroupRequest"
}
}
},
"required": true,
"description": "List of sub-account ids"
}
PUT /corporate/group/unlink/{groupId}/subAccounts
/corporate/group/{id}
This endpoint allows you to delete a group of sub-organizations. When a group is deleted, the sub-organizations are no longer part of this group. The users associated with the group are no longer associated with the group once deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the group |
DELETE /corporate/group/{id}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the group of sub-organization |
GET /corporate/group/{id}
/corporate/group/{id}
This endpoint allows to update a group of sub-accounts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the group |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountUpdateGroupSubAccountsRequest"
}
}
},
"required": true,
"description": "Group details to be updated."
}
PUT /corporate/group/{id}
/corporate/groups
This endpoint allows you to list all groups created on your Admin account.
GET /corporate/groups
/corporate/invited/users
This endpoint allows you to list all Admin users of your Admin account
GET /corporate/invited/users
/corporate/masterAccount
This endpoint will provide the details of the master account.
GET /corporate/masterAccount
/corporate/ssoToken
This endpoint generates an SSO token to authenticate and access the admin account using the endpoint https://account-app.brevo.com/account/login/corporate/sso/[token], where [token] will be replaced by the actual token.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountGenerateSsoTokenRequest"
}
}
}
}
POST /corporate/ssoToken
/corporate/subAccount
This endpoint will provide the list all the sub-accounts of the master account.
| 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 |
GET /corporate/subAccount
/corporate/subAccount
This endpoint will create a new sub-account under a master account
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSubAccount"
}
}
},
"required": true,
"description": "Request body with sub-account organization name"
}
POST /corporate/subAccount
/corporate/subAccount/key
This endpoint will generate an API v3 key for a sub account
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountCreateSubAccountKeyRequest"
}
}
}
}
POST /corporate/subAccount/key
/corporate/subAccount/ssoToken
This endpoint generates an sso token to authenticate and access a sub-account of the master using the account endpoint https://account-app.brevo.com/account/login/sub-account/sso/[token], where [token] will be replaced by the actual token.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MasterAccountGenerateSsoTokenRequest1"
}
}
}
}
POST /corporate/subAccount/ssoToken
/corporate/subAccount/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Id of the sub-account organization to be deleted |
DELETE /corporate/subAccount/{id}
/corporate/subAccount/{id}
This endpoint will provide the details for the specified sub-account company
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Id of the sub-account organization |
GET /corporate/subAccount/{id}
/corporate/subAccount/{id}/applications/toggle
API endpoints for the Corporate owner to enable/disable applications on the sub-account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Id of the sub-account organization (mandatory) |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/subAccountAppsToggleRequest"
}
}
},
"required": true,
"description": "List of applications to activate or deactivate on a sub-account"
}
PUT /corporate/subAccount/{id}/applications/toggle
/corporate/subAccount/{id}/plan
This endpoint will update the sub-account plan
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Id of the sub-account organization |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/subAccountUpdatePlanRequest"
}
}
},
"required": true,
"description": "Values to update a sub-account plan"
}
PUT /corporate/subAccount/{id}/plan
/corporate/user/invitation/send
`This endpoint allows you to invite a member to manage the Admin account Features and their respective permissions are as below: - `my_plan`: - "all" - `api`: - "none" - `user_management`: - "all" - `app_management` | Not available in ENTv2: - "all" **Note**: - If `all_features_access: false` then only privileges are required otherwise if `true` then it's assumed that all permissions will be there for the invited admin user.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inviteAdminUser"
}
}
},
"required": true,
"description": "Payload to send an invitation"
}
POST /corporate/user/invitation/send
/corporate/user/invitation/{action}/{email}
This endpoint will allow the user to: - Resend an admin user invitation - Cancel an admin user invitation
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| action | path | required | string | Action to be performed (cancel / resend) |
| path | required | string | Email address of the recipient |
PUT /corporate/user/invitation/{action}/{email}
/corporate/user/revoke/{email}
This endpoint allows to revoke/remove an invited member of your Admin account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | Email of the invited user |
DELETE /corporate/user/revoke/{email}
/corporate/user/{email}/permissions
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | Email of the invited user. |
GET /corporate/user/{email}/permissions
/crm/notes
| 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 |
GET /crm/notes
/crm/notes
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteData"
}
}
},
"required": true,
"description": "Note data to create a note."
}
POST /crm/notes
/crm/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Note ID to delete |
DELETE /crm/notes/{id}
/crm/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Note ID to get |
GET /crm/notes/{id}
/crm/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Note ID to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteData"
}
}
},
"required": true,
"description": "Note data to update a note."
}
PATCH /crm/notes/{id}
/payments/requests
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createPaymentRequest"
}
}
},
"required": true,
"description": "Create a payment request\n"
}
POST /payments/requests
/payments/requests/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the payment request. |
DELETE /payments/requests/{id}
/payments/requests/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the payment Request |
GET /payments/requests/{id}
/processes
| 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 |
GET /processes
/processes/{processId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| processId | path | required | integer | Id of the process |
GET /processes/{processId}
/reseller/children
| 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 |
GET /reseller/children
/reseller/children
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createChild"
}
}
},
"required": false,
"description": "reseller child to add"
}
POST /reseller/children
/reseller/children/{childIdentifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or child id of reseller's child |
DELETE /reseller/children/{childIdentifier}
/reseller/children/{childIdentifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
GET /reseller/children/{childIdentifier}
/reseller/children/{childIdentifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateChild"
}
}
},
"required": true,
"description": "values to update in child profile"
}
PUT /reseller/children/{childIdentifier}
/reseller/children/{childIdentifier}/accountCreationStatus
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
GET /reseller/children/{childIdentifier}/accountCreationStatus
/reseller/children/{childIdentifier}/accountStatus
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateChildAccountStatus"
}
}
},
"required": true,
"description": "values to update in child account status"
}
PUT /reseller/children/{childIdentifier}/accountStatus
/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]
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
GET /reseller/children/{childIdentifier}/auth
/reseller/children/{childIdentifier}/credits/add
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/addCredits"
}
}
},
"required": true,
"description": "Values to post to add credit to a specific child account"
}
POST /reseller/children/{childIdentifier}/credits/add
/reseller/children/{childIdentifier}/credits/remove
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/removeCredits"
}
}
},
"required": true,
"description": "Values to post to remove email or SMS credits from a specific child account"
}
POST /reseller/children/{childIdentifier}/credits/remove
/reseller/children/{childIdentifier}/domains
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
GET /reseller/children/{childIdentifier}/domains
/reseller/children/{childIdentifier}/domains
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/addChildDomain"
}
}
},
"required": true,
"description": "Sender domain to add for a specific child account. This will not be displayed to the parent account."
}
POST /reseller/children/{childIdentifier}/domains
/reseller/children/{childIdentifier}/domains/{domainName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
| domainName | path | required | string | Pass the existing domain that needs to be deleted |
DELETE /reseller/children/{childIdentifier}/domains/{domainName}
/reseller/children/{childIdentifier}/domains/{domainName}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
| domainName | path | required | string | Pass the existing domain that needs to be updated |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateChildDomain"
}
}
},
"required": true,
"description": "value to update for sender domain"
}
PUT /reseller/children/{childIdentifier}/domains/{domainName}
/reseller/children/{childIdentifier}/ips/associate
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/manageIp"
}
}
},
"required": true,
"description": "IP to associate"
}
POST /reseller/children/{childIdentifier}/ips/associate
/reseller/children/{childIdentifier}/ips/dissociate
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| childIdentifier | path | required | string | Either auth key or id of reseller's child |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/manageIp"
}
}
},
"required": true,
"description": "IP to dissociate"
}
POST /reseller/children/{childIdentifier}/ips/dissociate
/smsCampaigns
| 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 |
GET /smsCampaigns
/smsCampaigns
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSmsCampaign"
}
}
},
"required": true,
"description": "Values to create an SMS Campaign"
}
POST /smsCampaigns
/smsCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the SMS campaign |
DELETE /smsCampaigns/{campaignId}
/smsCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the SMS campaign |
GET /smsCampaigns/{campaignId}
/smsCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the SMS campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateSmsCampaign"
}
}
},
"required": true,
"description": "Values to update an SMS Campaign"
}
PUT /smsCampaigns/{campaignId}
/smsCampaigns/{campaignId}/exportRecipients
It returns the background process ID which on completion calls the notify URL that you have set in the input.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/requestSmsRecipientExport"
}
}
},
"required": false,
"description": "Values to send for a recipient export request"
}
POST /smsCampaigns/{campaignId}/exportRecipients
/smsCampaigns/{campaignId}/sendNow
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
POST /smsCampaigns/{campaignId}/sendNow
/smsCampaigns/{campaignId}/sendReport
Send report of Sent and Archived campaign, to the specified email addresses, with respective data and a pdf attachment in detail.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendReport"
}
}
},
"required": true,
"description": "Values for send a report"
}
POST /smsCampaigns/{campaignId}/sendReport
/smsCampaigns/{campaignId}/sendTest
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the SMS campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTestSms"
}
}
},
"required": true,
"description": "Mobile number of the recipient with the country code. This number **must belong to one of your contacts in Brevo account and must not be blacklisted**\n"
}
POST /smsCampaigns/{campaignId}/sendTest
/smsCampaigns/{campaignId}/status
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateCampaignStatus"
}
}
},
"required": true,
"description": "Status of the campaign."
}
PUT /smsCampaigns/{campaignId}/status
/senders
| 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 |
GET /senders
/senders
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSender"
}
}
},
"required": false,
"description": "sender's name"
}
POST /senders
/senders/ips
GET /senders/ips
/senders/{senderId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| senderId | path | required | integer | Id of the sender |
DELETE /senders/{senderId}
/senders/{senderId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| senderId | path | required | integer | Id of the sender |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateSender"
}
}
},
"required": false,
"description": "sender's name"
}
PUT /senders/{senderId}
/senders/{senderId}/ips
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| senderId | path | required | integer | Id of the sender |
GET /senders/{senderId}/ips
/senders/{senderId}/validate
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| senderId | path | required | integer | Id of the sender |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/otp"
}
}
},
"required": false,
"description": "otp"
}
PUT /senders/{senderId}/validate
/crm/tasks
| 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. |
GET /crm/tasks
/crm/tasks
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TasksCreateNewTaskRequest"
}
}
},
"required": true,
"description": "Task name."
}
POST /crm/tasks
/crm/tasks/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
DELETE /crm/tasks/{id}
/crm/tasks/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
GET /crm/tasks/{id}
/crm/tasks/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TasksUpdateTaskRequest"
}
}
},
"required": true,
"description": "Updated task details."
}
PATCH /crm/tasks/{id}
/crm/tasktypes
GET /crm/tasktypes
/transactionalSMS/sms
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTransacSms"
}
}
},
"required": true,
"description": "Values to send a transactional SMS"
}
POST /transactionalSMS/sms
/transactionalSMS/statistics/aggregatedReport
| 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 |
GET /transactionalSMS/statistics/aggregatedReport
/transactionalSMS/statistics/events
| 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 |
GET /transactionalSMS/statistics/events
/transactionalSMS/statistics/reports
| 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 |
GET /transactionalSMS/statistics/reports
/whatsapp/sendMessage
This endpoint is used to send a WhatsApp message. <br/>(**The first message you send using the API must contain a Template ID. You must create a template on WhatsApp on the Brevo platform to fetch the Template ID.**)
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TransactionalWhatsAppSendMessageRequest"
}
}
},
"required": true,
"description": "Values to send WhatsApp message"
}
POST /whatsapp/sendMessage
/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)
| 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 |
GET /whatsapp/statistics/events
/smtp/blockedContacts
| 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 |
GET /smtp/blockedContacts
/smtp/blockedContacts/{email}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | contact email (urlencoded) to unblock. |
DELETE /smtp/blockedContacts/{email}
/smtp/blockedDomains
Get the list of blocked domains
GET /smtp/blockedDomains
/smtp/blockedDomains
Blocks a new domain in order to avoid messages being sent to the same
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/blockDomain"
}
}
},
"required": true,
"description": "Name of the domain to be blocked"
}
POST /smtp/blockedDomains
/smtp/blockedDomains/{domain}
Unblocks an existing domain from the list of blocked domains
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| domain | path | required | string | The name of the domain to be deleted |
DELETE /smtp/blockedDomains/{domain}
/smtp/deleteHardbounces
Delete hardbounces. To use carefully (e.g. in case of temporary ISP failures)
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/deleteHardbounces"
}
}
},
"required": false,
"description": "values to delete hardbounces"
}
POST /smtp/deleteHardbounces
/smtp/email
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendSmtpEmail"
}
}
},
"required": true,
"description": "Values to send a transactional email"
}
POST /smtp/email
/smtp/email/{identifier}
Delete scheduled batch of emails by batchId or single scheduled email by messageId
| 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. |
DELETE /smtp/email/{identifier}
/smtp/emailStatus/{identifier}
Fetch scheduled batch of emails by batchId or single scheduled email by messageId (Can retrieve data upto 30 days old)
| 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`. |
GET /smtp/emailStatus/{identifier}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| 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 |
GET /smtp/emails
/smtp/emails/{uuid}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| uuid | path | required | string | Unique id of the transactional email that has been sent to a particular contact |
GET /smtp/emails/{uuid}
/smtp/log/{identifier}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identifier | path | required | string | MessageId or Email of the transactional log(s) to delete |
DELETE /smtp/log/{identifier}
/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
| 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 |
GET /smtp/statistics/aggregatedReport
/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
| 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'_ |
| 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 |
GET /smtp/statistics/events
/smtp/statistics/reports
| 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 |
GET /smtp/statistics/reports
/smtp/templates
| 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 |
GET /smtp/templates
/smtp/templates
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSmtpTemplate"
}
}
},
"required": true,
"description": "values to update in transactional email template"
}
POST /smtp/templates
/smtp/templates/{templateId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateId | path | required | integer | id of the template |
DELETE /smtp/templates/{templateId}
/smtp/templates/{templateId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateId | path | required | integer | id of the template |
GET /smtp/templates/{templateId}
/smtp/templates/{templateId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateId | path | required | integer | id of the template |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateSmtpTemplate"
}
}
},
"required": true,
"description": "values to update in transactional email template"
}
PUT /smtp/templates/{templateId}
/smtp/templates/{templateId}/sendTest
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateId | path | required | integer | Id of the template |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTestEmail"
}
}
},
"required": true
}
POST /smtp/templates/{templateId}/sendTest
/organization/invited/users
GET /organization/invited/users
/organization/user/invitation/revoke/{email}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | Email of the invited user. |
PUT /organization/user/invitation/revoke/{email}
/organization/user/invitation/send
`Feature` - A Feature represents a specific functionality like Email campaign, Deals, Calls, Automations, etc. on Brevo. While inviting a user, determine which feature you want to manage access to. You must specify the feature accurately to avoid errors. `Permission` - A Permission defines the level of access or control a user has over a specific feature. While inviting user, decide on the permission level required for the selected feature. Make sure the chosen permission is related to the selected feature. Features and their respective permissions are as below: - `email_campaigns`: - "create_edit_delete" - "send_schedule_suspend" - `sms_campaigns`: - "create_edit_delete" - "send_schedule_suspend" - `contacts`: - "view" - "create_edit_delete" - "import" - "export" - "list_and_attributes" - "forms" - `templates`: - "create_edit_delete" - "activate_deactivate" - `workflows`: - "create_edit_delete" - "activate_deactivate_pause" - "settings" - `facebook_ads`: - "create_edit_delete" - "schedule_pause" - `landing_pages`: - "all" - `transactional_emails`: - "settings" - "logs" - `smtp_api`: - "smtp" - "api_keys" - "authorized_ips" - `user_management`: - "all" - `sales_platform`: - "manage_owned_deals_tasks_companies" - "manage_others_deals_tasks_companies" - "reports" - "settings" - `phone`: - "all" - `conversations`: - "access" - "assign" - "configure" - `senders_domains_dedicated_ips`: - "senders_management" - "domains_management" - "dedicated_ips_management" - `push_notifications`: - "view" - "create_edit_delete" - "send" - "settings" **Note**: - If `all_features_access: false` then only privileges are required otherwise if `true` then it's assumed that all permissions will be there for the invited user. - The availability of feature and its permission depends on your current plan. Please select the features and permissions accordingly.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inviteuser"
}
}
},
"required": true,
"description": "Values to create an invitation"
}
POST /organization/user/invitation/send
/organization/user/invitation/{action}/{email}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| action | path | required | string | action |
| path | required | string | Email of the invited user. |
PUT /organization/user/invitation/{action}/{email}
/organization/user/update/permissions
`Feature` - A Feature represents a specific functionality like Email campaign, Deals, Calls, Automations, etc. on Brevo. While inviting a user, determine which feature you want to manage access to. You must specify the feature accurately to avoid errors. `Permission` - A Permission defines the level of access or control a user has over a specific feature. While inviting user, decide on the permission level required for the selected feature. Make sure the chosen permission is related to the selected feature. Features and their respective permissions are as below: - `email_campaigns`: - "create_edit_delete" - "send_schedule_suspend" - `sms_campaigns`: - "create_edit_delete" - "send_schedule_suspend" - `contacts`: - "view" - "create_edit_delete" - "import" - "export" - "list_and_attributes" - "forms" - `templates`: - "create_edit_delete" - "activate_deactivate" - `workflows`: - "create_edit_delete" - "activate_deactivate_pause" - "settings" - `facebook_ads`: - "create_edit_delete" - "schedule_pause" - `landing_pages`: - "all" - `transactional_emails`: - "settings" - "logs" - `smtp_api`: - "smtp" - "api_keys" - "authorized_ips" - `user_management`: - "all" - `sales_platform`: - "manage_owned_deals_tasks_companies" - "manage_others_deals_tasks_companies" - "reports" - "settings" - `phone`: - "all" - `conversations`: - "access" - "assign" - "configure" - `senders_domains_dedicated_ips`: - "senders_management" - "domains_management" - "dedicated_ips_management" - `push_notifications`: - "view" - "create_edit_delete" - "send" - "settings" **Note**: - The privileges array remains the same as in the send invitation; the user simply needs to provide the permissions that need to be updated. - The availability of feature and its permission depends on your current plan. Please select the features and permissions accordingly.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inviteuser"
}
}
},
"required": true,
"description": "Values to create an invitation"
}
POST /organization/user/update/permissions
/organization/user/{email}/permissions
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | Email of the invited user. |
GET /organization/user/{email}/permissions
/webhooks
| 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 |
GET /webhooks
/webhooks
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createWebhook"
}
}
},
"required": true,
"description": "Values to create a webhook"
}
POST /webhooks
/webhooks/export
This endpoint will submit a request to get the history of webhooks in the CSV file. The link to download the CSV file will be sent to the webhook that was provided in the notifyURL.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhooksExportAllEventsRequest"
}
}
},
"required": true,
"description": "Values to submit for webhooks history"
}
POST /webhooks/export
/webhooks/{webhookId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| webhookId | path | required | integer | Id of the webhook |
DELETE /webhooks/{webhookId}
/webhooks/{webhookId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| webhookId | path | required | integer | Id of the webhook |
GET /webhooks/{webhookId}
/webhooks/{webhookId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| webhookId | path | required | integer | Id of the webhook |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateWebhook"
}
}
},
"required": true,
"description": "Values to update a webhook"
}
PUT /webhooks/{webhookId}
/whatsappCampaigns
| 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 |
GET /whatsappCampaigns
/whatsappCampaigns
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createWhatsAppCampaign"
}
}
},
"required": true,
"description": "Values to create a WhatsApp Campaign"
}
POST /whatsappCampaigns
/whatsappCampaigns/config
GET /whatsappCampaigns/config
/whatsappCampaigns/template
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createWhatsAppTemplate"
}
}
},
"required": true,
"description": "Values to create a WhatsApp template"
}
POST /whatsappCampaigns/template
/whatsappCampaigns/template-list
| 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 |
GET /whatsappCampaigns/template-list
/whatsappCampaigns/template/approval/{templateId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateId | path | required | integer | id of the template |
POST /whatsappCampaigns/template/approval/{templateId}
/whatsappCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
DELETE /whatsappCampaigns/{campaignId}
/whatsappCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | Id of the campaign |
GET /whatsappCampaigns/{campaignId}
/whatsappCampaigns/{campaignId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| campaignId | path | required | integer | id of the campaign |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateWhatsAppCampaign"
}
}
},
"required": true,
"description": "Values to update a WhatsApp Campaign"
}
PUT /whatsappCampaigns/{campaignId}
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."
}
}
}
CompaniesCreateCompanyResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "61a5cd07ca1347c82306ad06",
"description": "Unique company id"
}
},
"description": "Created company id"
}
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"
}
}
}
CompaniesList
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Company"
},
"description": "List of compaies"
}
},
"description": "List of companies"
}
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."
}
}
}
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"
}
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"
}
ContactsAddToListRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/addContactToListByEmails"
},
{
"$ref": "#/components/schemas/addContactToListByIDs"
}
]
}
ContactsRemoveContactFromListRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/removeContactFromListByEmails"
},
{
"$ref": "#/components/schemas/removeContactFromListByIDs"
},
{
"$ref": "#/components/schemas/removeContactFromListByAll"
}
]
}
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"
}
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>"
}
}
}
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."
}
}
}
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."
}
}
}
ConversationsUpdateAgentMessageRequest
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "edited message text"
}
}
}
ConversationsUpdatePushedMessageRequest
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "edited message text"
}
}
}
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"
}
}
}
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
}
}
}
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."
}
}
}
CouponsCreateCollectionResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuidv4",
"example": "23befbae-1505-47a8-bd27-e30ef739f32c",
"description": "The id of the created collection"
}
}
}
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"
}
}
}
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."
}
}
}
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"
}
}
}
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"
}
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"
}
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"
}
}
}
DealsCreateNewDealResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "61a5cd07ca1347c82306ad06",
"description": "Unique deal id"
}
},
"description": "Created deal id"
}
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"
}
}
}
DealsList
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Deal"
},
"description": "List of deals"
}
},
"description": "List of Deals"
}
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"
}
}
}
EcommerceGetAttributedProductSalesResponse
{
"type": "object",
"required": [
"products"
],
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConversionSourceProduct",
"type": "object"
},
"description": "List of attributed products"
}
}
}
EcommerceGetAttributionMetrics200Response
{
"allOf": [
{
"$ref": "#/components/schemas/ConversionSourceMetrics"
},
{
"type": "object",
"required": [
"newCustomersCount"
],
"properties": {
"newCustomersCount": {
"type": "number",
"format": "integer"
}
}
}
]
}
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"
}
}
}
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
}
}
}
}
}
}
ExternalFeedsCreateFeedResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuidv4",
"example": "23befbae-1505-47a8-bd27-e30ef739f32c",
"description": "ID of the object created"
}
}
}
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"
}
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"
}
FileList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/FileData"
},
"description": "List of files"
}
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"
}
}
}
InboundParsingGetAttachmentByTokenResponse
{
"type": "string",
"format": "binary"
}
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"
}
}
}
MasterAccountCreateGroupOfSubAccountsResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
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"
}
}
}
MasterAccountGenerateSsoTokenRequest
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"example": "vipin+ent-user@brevo.com",
"description": "User email of admin account"
}
}
}
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"
}
}
}
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"
}
}
}
}
MasterAccountResendCancelAdminUserInvitationResponse
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Action success message"
}
}
}
MasterAccountSendInvitationToAdminUserResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
MasterAccountUnlinkSubAccountFromGroupRequest
{
"type": "object",
"required": [
"subAccountIds"
],
"properties": {
"subAccountIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
423432,
234323,
87678
],
"description": "List of sub-account ids"
}
}
}
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"
}
}
}
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"
}
NoteData
{
"type": "object",
"required": [
"text"
],
"properties": {
"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"
},
"companyIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991"
],
"description": "Company Ids linked to a note"
},
"contactIds": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
247,
1,
2
],
"description": "Contact Ids linked to a note"
}
},
"description": "Note data to be saved"
}
NoteId
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "61a5cd07ca1347c82306ad09",
"description": "Unique note Id"
}
},
"description": "Updated Note ID"
}
NoteList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Note"
},
"description": "List of notes"
}
Pipeline
{
"type": "object",
"properties": {
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStage"
},
"description": "List of stages"
},
"pipeline": {
"type": "string",
"example": "5ea675e3da0dd085acaea610",
"description": "Pipeline id"
},
"pipeline_name": {
"type": "string",
"example": "Sales Pipeline",
"description": "Pipeline name"
}
},
"description": "List of stages"
}
PipelineStage
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "9e577ff7-8e42-4ab3-be26-2b5e01b42518",
"description": "Stage id"
},
"name": {
"type": "string",
"example": "New",
"description": "Stage name"
}
},
"description": "List of stages"
}
Pipelines
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Pipeline"
},
"description": "List of pipeline"
}
Task
{
"type": "object",
"required": [
"taskTypeId",
"name",
"date"
],
"properties": {
"id": {
"type": "string",
"example": "61a5cd07ca1347c82306ad06",
"description": "Unique task id"
},
"name": {
"type": "string",
"example": "Task: Connect with client",
"description": "Name of task"
},
"dealsIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Deal ids for deals a task is linked to"
},
"taskTypeId": {
"type": "string",
"example": "61a5cd07ca1347c82306ad09",
"description": "Id for type of task e.g Call / Email / Meeting etc."
},
"contactsIds": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2,
3
],
"description": "Contact ids for contacts linked to this task"
},
"companiesIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Companies ids for companies a task is linked to"
}
},
"description": "Task Details"
}
TaskList
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Task"
},
"description": "List of tasks"
}
},
"description": "List of tasks"
}
TaskReminder
{
"type": "object",
"required": [
"value",
"unit",
"types"
],
"properties": {
"unit": {
"enum": [
"minutes",
"hours",
"weeks",
"days"
],
"type": "string",
"description": "Unit of time before reminder is to be sent"
},
"types": {
"type": "array",
"items": {
"enum": [
"email",
"push"
],
"type": "string"
},
"example": [
"email"
],
"description": "Type of task reminder e.g email, push"
},
"value": {
"type": "integer",
"example": 10,
"description": "Value of time unit before reminder is to be sent"
}
},
"description": "Task reminder date/time for a task"
}
TaskTypes
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "61a88a2eb7a574180261234",
"description": "Id of task type"
},
"title": {
"type": "string",
"example": "Email",
"description": "Title of task type"
}
},
"description": "Task types details"
}
TasksCreateNewTaskRequest
{
"type": "object",
"required": [
"name",
"taskTypeId",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2021-11-01T17:44:54.668Z",
"description": "Task due date and time"
},
"done": {
"type": "boolean",
"example": false,
"description": "Task marked as done"
},
"name": {
"type": "string",
"example": "Task: Connect with client",
"description": "Name of task"
},
"notes": {
"type": "string",
"example": "In communication with client for resolution of queries.",
"description": "Notes added to a task"
},
"dealsIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Deal ids for deals a task is linked to"
},
"duration": {
"type": "integer",
"format": "int64",
"example": 600000,
"minimum": 0,
"description": "Duration of task in milliseconds [1 minute = 60000 ms]"
},
"reminder": {
"$ref": "#/components/schemas/TaskReminder"
},
"assignToId": {
"type": "string",
"example": "5faab4b7f195bb3c4c31e62a",
"description": "To assign a task to a user you can use either the account email or ID."
},
"taskTypeId": {
"type": "string",
"example": "61a5cd07ca1347c82306ad09",
"description": "Id for type of task e.g Call / Email / Meeting etc."
},
"contactsIds": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2,
3
],
"description": "Contact ids for contacts linked to this task"
},
"companiesIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Companies ids for companies a task is linked to"
}
}
}
TasksCreateNewTaskResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"example": "61a5cd07ca1347c82306ad06",
"description": "Unique task id"
}
},
"description": "Task Details"
}
TasksUpdateTaskRequest
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2021-11-01T17:44:54.668Z",
"description": "Task date/time"
},
"done": {
"type": "boolean",
"example": false,
"description": "Task marked as done"
},
"name": {
"type": "string",
"example": "Task: Connect with client",
"description": "Name of task"
},
"notes": {
"type": "string",
"example": "In communication with client for resolution of queries.",
"description": "Notes added to a task"
},
"dealsIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Deal ids for deals a task is linked to"
},
"duration": {
"type": "integer",
"format": "int64",
"example": 600000,
"description": "Duration of task in milliseconds [1 minute = 60000 ms]"
},
"reminder": {
"$ref": "#/components/schemas/TaskReminder"
},
"assignToId": {
"type": "string",
"example": "5faab4b7f195bb3c4c31e62a",
"description": "To assign a task to a user you can use either the account email or ID."
},
"taskTypeId": {
"type": "string",
"example": "61a5cd07ca1347c82306ad09",
"description": "Id for type of task e.g Call / Email / Meeting etc."
},
"contactsIds": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1,
2,
3
],
"description": "Contact ids for contacts linked to this task"
},
"companiesIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"61a5ce58c5d4795761045990",
"61a5ce58c5d4795761045991",
"61a5ce58c5d4795761045992"
],
"description": "Companies ids for companies a task is linked to"
}
}
}
TransactionalEmailsGetEmailStatusByIdResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/getScheduledEmailByBatchId"
},
{
"$ref": "#/components/schemas/getScheduledEmailByMessageId"
}
]
}
TransactionalWhatsAppSendMessageRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/sendWhatsappMessageTemplate"
},
{
"$ref": "#/components/schemas/sendWhatsappMessageText"
}
]
}
TransactionalWhatsAppSendMessageResponse
{
"type": "object",
"required": [
"messageId"
],
"properties": {
"messageId": {
"type": "string",
"format": "uuidv4",
"example": "23befbae-1505-47a8-bd27-e30ef739f32c",
"description": "messageId of sent message"
}
}
}
WebhooksExportAllEventsRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/exportWebhooksHistory"
}
]
}
WhatsappCampStats
{
"type": "object",
"required": [
"sent",
"delivered",
"read",
"unsubscribe",
"notSent"
],
"properties": {
"read": {
"type": "integer",
"example": 2
},
"sent": {
"type": "integer",
"example": 3
},
"notSent": {
"type": "integer",
"example": 4
},
"delivered": {
"type": "integer",
"example": 3
},
"unsubscribe": {
"type": "integer",
"example": 0
}
}
}
WhatsappCampTemplate
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "wta107",
"description": "name of the template"
},
"category": {
"type": "string",
"example": "Marketing",
"description": "description of the template"
},
"language": {
"type": "string",
"example": "en_GB",
"description": "language of the template"
},
"components": {
"type": "array",
"items": {
"$ref": "#/components/schemas/componentItems"
},
"description": "array of component item objects"
},
"button_type": {
"type": "string",
"example": "QUICK_REPLIES"
},
"header_type": {
"type": "string",
"example": "text",
"description": "type of header"
},
"hide_footer": {
"type": "boolean",
"example": true
},
"body_variables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/variablesItems"
},
"description": "array of variables item variables"
},
"display_header": {
"type": "boolean",
"example": true
},
"contains_button": {
"type": "boolean",
"example": false
},
"header_variables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/variablesItems"
},
"description": "array of variables item object"
}
}
}
abTestCampaignResult
{
"type": "object",
"properties": {
"openRate": {
"type": "string",
"example": "70%",
"description": "Open rate for current winning version"
},
"clickRate": {
"type": "string",
"example": "70%",
"description": "Click rate for current winning version"
},
"statistics": {
"type": "object",
"required": [
"clicks",
"complaints",
"hardBounces",
"openers",
"softBounces",
"unsubscribed"
],
"properties": {
"clicks": {
"$ref": "#/components/schemas/abTestVersionStats"
},
"openers": {
"$ref": "#/components/schemas/abTestVersionStats"
},
"complaints": {
"$ref": "#/components/schemas/abTestVersionStats"
},
"hardBounces": {
"$ref": "#/components/schemas/abTestVersionStats"
},
"softBounces": {
"$ref": "#/components/schemas/abTestVersionStats"
},
"unsubscribed": {
"$ref": "#/components/schemas/abTestVersionStats"
}
}
},
"clickedLinks": {
"type": "object",
"required": [
"Version A",
"Version B"
],
"properties": {
"Version A": {
"$ref": "#/components/schemas/abTestVersionClicks"
},
"Version B": {
"$ref": "#/components/schemas/abTestVersionClicks"
}
}
},
"winningVersion": {
"enum": [
"notAvailable",
"pending",
"tie",
"A",
"B"
],
"type": "string",
"example": "A",
"description": "Winning Campaign Info. pending = Campaign has been picked for sending and winning version is yet to be decided, tie = A tie happened between both the versions, notAvailable = Campaign has not yet been picked for sending."
},
"winningCriteria": {
"enum": [
"Open",
"Click"
],
"type": "string",
"example": "Open",
"description": "Criteria choosen for winning version (Open/Click)"
},
"winningSubjectLine": {
"type": "string",
"example": "Subject Line A",
"description": "Subject Line of current winning version"
},
"winningVersionRate": {
"type": "string",
"example": "70%",
"description": "Open/Click rate for the winner version"
}
}
}
abTestVersionClicks
{
"type": "array",
"items": {
"type": "object",
"required": [
"clickRate",
"clicksCount",
"link"
],
"properties": {
"link": {
"type": "string",
"example": "https://facbook.com/versionA",
"description": "URL of the link"
},
"clickRate": {
"type": "string",
"example": "40%",
"description": "Percentage of clicks of link with respect to total clicks"
},
"clicksCount": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Number of times a link is clicked"
}
}
},
"description": "Information on clicked links for a particular version"
}
abTestVersionStats
{
"type": "object",
"required": [
"Version A",
"Version B"
],
"properties": {
"Version A": {
"type": "string",
"example": "50%",
"description": "percentage of an event for version A"
},
"Version B": {
"type": "string",
"example": "50%",
"description": "percentage of an event for version B"
}
},
"description": "Percentage of a particular event for both versions"
}
addChildDomain
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"example": "mychilddomain.com",
"description": "Sender domain to add for a specific child account"
}
}
}
addContactToListByEmails
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "john.smith@contact.com",
"description": "Email to add to a list"
},
"maxItems": 150,
"minItems": 1,
"description": "Emails to add to a list. You can pass a **maximum of 150 emails** for addition in one request. **_If you need to add the emails in bulk, please prefer /contacts/import api._**\n"
}
}
}
addContactToListByIDs
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "ID to add to a list"
},
"maxItems": 150,
"minItems": 1,
"description": "IDs to add to a list. You can pass a **maximum of 150 IDs** for addition in one request. **_If you need to add the emails in bulk, please prefer /contacts/import api._**\n"
}
}
}
addCredits
{
"type": "object",
"properties": {
"sms": {
"type": "integer",
"format": "int64",
"example": 450,
"description": "**Required if email credits are empty.** SMS credits to be added to the child account\n"
},
"email": {
"type": "integer",
"format": "int64",
"example": 1200,
"description": "**Required if sms credits are empty.** Email credits to be added to the child account\n"
}
}
}
authenticateDomainModel
{
"type": "object",
"required": [
"domain_name",
"message"
],
"properties": {
"message": {
"type": "string",
"example": "Domain has been authenticated successfully.",
"description": "Success message"
},
"domain_name": {
"type": "string",
"example": "myexample.com",
"description": "Domain"
}
}
}
blockDomain
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"example": "example.com",
"description": "name of the domain to be blocked"
}
}
}
bodyVariablesItems
{
"type": "object"
}
cart
{
"type": "object",
"required": [
"currency",
"specificAmount"
],
"properties": {
"currency": {
"enum": [
"EUR"
],
"type": "string",
"example": "EUR",
"description": "Currency code for the payment amount.\n"
},
"specificAmount": {
"type": "integer",
"format": "int64",
"example": 1200,
"description": "Payment amount, in cents.\ne.g. if you want to request €12.00, then the amount in cents is 1200.\n"
}
},
"description": "Specify the payment currency and amount.\n"
}
componentItems
{
"type": "object",
"properties": {
"text": {
"type": "string",
"example": "Life is a long lesson in humility"
},
"type": {
"type": "string",
"example": "BODY"
}
}
}
configuration
{
"required": [
"customSuccessUrl"
],
"properties": {
"customSuccessUrl": {
"type": "string",
"format": "url",
"example": "https://my-company.com/payment-success",
"description": "Absolute URL of the custom success page.\n"
}
},
"description": "Optional. Redirect contact to a custom success page once payment is successful. If empty the default Brevo page will be displayed once a payment is validated\n"
}
corporateGroupDetailsResponse
{
"type": "object",
"properties": {
"group": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Group id"
},
"createdAt": {
"type": "string",
"description": "Group creation date"
},
"groupName": {
"type": "string",
"description": "Name of the group"
}
}
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address of the user"
},
"lastName": {
"type": "string",
"description": "Last name of the user"
},
"firstName": {
"type": "string",
"description": "First name of the user"
}
}
}
},
"sub-accounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Id of the sub-account organzation"
},
"createdAt": {
"type": "string",
"description": "Creation date of the sub-account organzation"
},
"companyName": {
"type": "string",
"description": "Name of the sub-account organzation"
}
}
}
}
}
}
createApiKeyResponse
{
"type": "object",
"required": [
"status",
"key"
],
"properties": {
"key": {
"type": "string",
"example": "xkeysib-21881axxxxxcc92e04-mIrexxxx7z",
"description": "API key"
},
"status": {
"type": "string",
"example": "success",
"description": "Status of the API operation."
}
}
}
createAttribute
{
"type": "object",
"properties": {
"type": {
"enum": [
"text",
"date",
"float",
"boolean",
"id",
"category"
],
"type": "string",
"example": "text",
"description": "Type of the attribute. **Use only if the attribute's category is 'normal', 'category' or 'transactional'**\nType **boolean** is only available if the category is **normal** attribute\nType **id** is only available if the category is **transactional** attribute\nType **category** is only available if the category is **category** attribute\n"
},
"value": {
"type": "string",
"example": "COUNT[BLACKLISTED,BLACKLISTED,<,NOW()]",
"description": "Value of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**\n"
},
"enumeration": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Women",
"description": "Label of the value"
},
"value": {
"type": "integer",
"example": 1,
"description": "Id of the value"
}
}
},
"description": "List of values and labels that the attribute can take. **Use only if the attribute's category is \"category\"**. For example:\n**[{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}]**\n"
},
"isRecurring": {
"type": "boolean",
"example": true,
"description": "Type of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**\n"
}
}
}
createCategoryModel
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 122,
"description": "ID of the category when a new category is created"
}
}
}
createChild
{
"type": "object",
"required": [
"companyName",
"email",
"firstName",
"lastName",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "josh.cruise@example.com",
"description": "Email address to create the child account"
},
"language": {
"enum": [
"fr",
"es",
"pt",
"it",
"de",
"en"
],
"type": "string",
"example": "en",
"description": "Language of the child account"
},
"lastName": {
"type": "string",
"example": "Cruise",
"description": "Last name to use to create the child account"
},
"password": {
"type": "string",
"format": "password",
"example": "Pa55w0rd65",
"description": "Password for the child account to login"
},
"firstName": {
"type": "string",
"example": "Josh",
"description": "First name to use to create the child account"
},
"companyName": {
"type": "string",
"example": "Your Company",
"description": "Company name to use to create the child account"
}
}
}
createContact
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "elly@example.com",
"description": "Email address of the user. **Mandatory if \"SMS\" field is not passed in \"attributes\" parameter**. Mobile Number in **SMS** field should be passed with proper country code. For example:\n**{\"SMS\":\"+91xxxxxxxxxx\"}** or **{\"SMS\":\"0091xxxxxxxxxx\"}**\n"
},
"ext_id": {
"type": "string",
"example": "externalId",
"description": "Pass your own Id to create a contact."
},
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 36,
"description": "Id of the list to add the contact to"
},
"description": "Ids of the lists to add the contact to"
},
"attributes": {
"type": "object",
"example": {
"FNAME": "Elly",
"LNAME": "Roger"
},
"description": "Pass the set of attributes and their values. The attribute's parameter should be passed in capital letter while creating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored. **These attributes must be present in your Brevo account.**. For eg:\n**{\"FNAME\":\"Elly\", \"LNAME\":\"Roger\"}**\n",
"additionalProperties": {}
},
"updateEnabled": {
"type": "boolean",
"default": false,
"example": false,
"description": "Facilitate to update the existing contact in the same request (updateEnabled = true)"
},
"smsBlacklisted": {
"type": "boolean",
"example": false,
"description": "Set this field to blacklist the contact for SMS (smsBlacklisted = true)"
},
"emailBlacklisted": {
"type": "boolean",
"example": false,
"description": "Set this field to blacklist the contact for emails (emailBlacklisted = true)"
},
"smtpBlacklistSender": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"description": "transactional email forbidden sender for contact. Use only for email Contact ( only available if updateEnabled = true )"
}
}
}
createDoiContact
{
"type": "object",
"required": [
"email",
"includeListIds",
"redirectionUrl",
"templateId"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "elly@example.com",
"description": "Email address where the confirmation email will be sent. This email address will be the identifier for all other contact attributes."
},
"attributes": {
"type": "object",
"example": {
"FNAME": "Elly",
"LNAME": "Roger"
},
"description": "Pass the set of attributes and their values. **These attributes must be present in your Brevo account**. For eg. **{'FNAME':'Elly', 'LNAME':'Roger'}**\n",
"additionalProperties": {}
},
"templateId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the Double opt-in (DOI) template"
},
"excludeListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 36,
"description": "Id of the list"
},
"description": "Lists under user account where contact should not be added"
},
"includeListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 36,
"description": "Id of the list"
},
"description": "Lists under user account where contact should be added"
},
"redirectionUrl": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the web page that user will be redirected to after clicking on the double opt in URL. When editing your DOI template you can reference this URL by using the tag **{{ params.DOIurl }}**.\n"
}
}
}
createDomain
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "mycompany.com",
"description": "Domain name"
}
}
}
createDomainModel
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "ID of the Domain created"
},
"message": {
"type": "string",
"example": "Domain added successfully. To authenticate it, add following DNS records",
"description": "Success message"
},
"dns_records": {
"type": "object",
"properties": {
"brevo_code": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
},
"dkim_record": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
},
"dmarc_record": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
}
}
},
"domain_name": {
"type": "string",
"example": "example.com",
"description": "Domain"
},
"domain_provider": {
"type": "string",
"example": "GoDaddy",
"description": "Domain Provider"
}
}
}
createEmailCampaign
{
"type": "object",
"required": [
"name",
"sender"
],
"properties": {
"tag": {
"type": "string",
"example": "Newsletter",
"description": "Tag of the campaign"
},
"name": {
"type": "string",
"example": "Newsletter - May 2017",
"description": "Name of the campaign"
},
"footer": {
"type": "string",
"example": "[DEFAULT_FOOTER]",
"description": "Footer of the email campaign"
},
"header": {
"type": "string",
"example": "[DEFAULT_HEADER]",
"description": "Header of the email campaign"
},
"params": {
"type": "object",
"example": {
"FNAME": "Joe",
"LNAME": "Doe"
},
"description": "Pass the set of attributes to customize the type classic campaign. For example: **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. Only available if **type** is **classic**. It's considered only if campaign is in _New Template Language format_. The New Template Language is dependent on the values of **subject, htmlContent/htmlUrl, sender.name & toField**\n",
"additionalProperties": {}
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Select the sender for the campaign on the basis of sender id.\n_In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.\n"
},
"name": {
"type": "string",
"example": "Mary from MyShop",
"description": "Sender Name"
},
"email": {
"type": "string",
"format": "email",
"example": "newsletter@myshop.com",
"description": "Sender email"
}
},
"description": "Sender details including id or email and name (_optional_). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
},
"htmlUrl": {
"type": "string",
"format": "url",
"example": "https://html.domain.com",
"description": "**Mandatory if htmlContent and templateId are empty**. Url to the message (HTML). For example:\n**https://html.domain.com**\n"
},
"replyTo": {
"type": "string",
"format": "email",
"example": "support@myshop.com",
"description": "Email on which the campaign recipients will be able to reply to"
},
"subject": {
"type": "string",
"example": "Discover the New Collection !",
"description": "Subject of the campaign. **Mandatory if abTesting is false**.\nIgnored if abTesting is true.\n"
},
"toField": {
"type": "string",
"example": "{FNAME} {LNAME}",
"description": "To personalize the **To** Field. If you want to include the first name and last name of your recipient, add **{FNAME} {LNAME}**. These contact attributes must already exist in your Brevo account. If input parameter **params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n"
},
"subjectA": {
"type": "string",
"example": "Discover the New Collection!",
"description": "Subject A of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
},
"subjectB": {
"type": "string",
"example": "Want to discover the New Collection?",
"description": "Subject B of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
},
"abTesting": {
"type": "boolean",
"default": false,
"example": true,
"description": "Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. **subjectA, subjectB, splitRule, winnerCriteria & winnerDelay** will be considered when abTesting is set to true.\nsubjectA & subjectB are mandatory together & subject if passed is ignored. **Can be set to true only if sendAtBestTime is false**.\nYou will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B\n"
},
"splitRule": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 50,
"minimum": 1,
"description": "Add the size of your test groups. **Mandatory if abTesting = true & 'recipients' is passed**. We'll send version A and B to a random sample of recipients, and then the winning version to everyone else\n"
},
"recipients": {
"type": "object",
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 32
},
"description": "**Mandatory if scheduledAt is not empty**. List Ids to send the campaign to\n"
},
"segmentIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 23
},
"description": "**Mandatory if listIds are not used**. Segment ids to send the campaign to.\n"
},
"exclusionListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 8
},
"description": "List ids to exclude from the campaign"
}
},
"description": "Segment ids and List ids to include/exclude from campaign"
},
"templateId": {
"type": "integer",
"format": "int64",
"description": "**Mandatory if htmlContent and htmlUrl are empty**. Id of the transactional\nemail template with status _active_. Used to copy only its content fetched\nfrom htmlContent/htmlUrl to an email campaign for RSS feature.\n"
},
"htmlContent": {
"type": "string",
"example": "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>",
"description": "Mandatory if htmlUrl and templateId are empty. Body of the message (HTML).\n"
},
"previewText": {
"type": "string",
"example": "Thanks for your order!",
"description": "Preview text or preheader of the email campaign"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T10:30:00.000Z",
"description": "Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result**.\nIf sendAtBestTime is set to true, your campaign will be sent according to the date passed (ignoring the time part). For example:\n**2017-06-01T12:30:00+02:00**\n"
},
"utmCampaign": {
"type": "string",
"example": "NL_05_2017",
"description": "Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed"
},
"winnerDelay": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 168,
"minimum": 1,
"description": "Choose the duration of the test in hours. Maximum is 7 days, pass 24*7 = 168 hours. The winning version will be sent at the end of the test. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerDelay` is ignored if passed\n"
},
"increaseRate": {
"type": "integer",
"format": "int64",
"example": 70,
"maximum": 100,
"minimum": 0,
"description": "**Mandatory if ipWarmupEnable is set to true**. Set a percentage increase rate for warming up your ip. We recommend you set the increase rate to 30% per day. If you want to send the same number of emails every day, set the daily increase value to 0%.\n"
},
"initialQuota": {
"type": "integer",
"format": "int64",
"example": 3000,
"description": "**Mandatory if ipWarmupEnable is set to true**. Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.\n"
},
"mirrorActive": {
"type": "boolean",
"example": true,
"description": "Use true to enable the mirror link"
},
"updateFormId": {
"type": "string",
"example": "6313436b9ad40e23b371d095",
"description": "**Mandatory if templateId is used containing the {{ update_profile }} tag**. Enter an update profile form id. The form id is a 24 digit alphanumeric id that can be found in the URL when editing the form. If not entered, then the default update profile form will be used.\n"
},
"attachmentUrl": {
"type": "string",
"format": "url",
"example": "https://attachment.domain.com",
"description": "Absolute url of the attachment (no local file).\nExtension allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps\n"
},
"ipWarmupEnable": {
"type": "boolean",
"default": false,
"example": true,
"description": "**Available for dedicated ip clients**. Set this to true if you wish to warm up your ip.\n"
},
"sendAtBestTime": {
"type": "boolean",
"default": false,
"example": true,
"description": "Set this to true if you want to send your campaign at best time."
},
"winnerCriteria": {
"enum": [
"open",
"click"
],
"type": "string",
"example": "open",
"description": "Choose the metrics that will determinate the winning version. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerCriteria` is ignored if passed\n"
},
"unsubscriptionPageId": {
"type": "string",
"example": "62cbb7fabbe85021021aac52",
"description": "Enter an unsubscription page id. The page id is a 24 digit alphanumeric id that can be found in the URL when editing the page. If not entered, then the default unsubscription page will be used.\n"
},
"inlineImageActivation": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use true to embedded the images in your email. Final size of\nthe email should be less than **4MB**. Campaigns with embedded images can\n_not be sent to more than 5000 contacts_\n"
}
}
}
createExternalFeed
{
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the feed"
},
"name": {
"type": "string",
"example": "New feed",
"description": "Name of the feed"
},
"cache": {
"type": "boolean",
"default": false,
"example": true,
"description": "Toggle caching of feed url response"
},
"token": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"description": "Token for authType `token`"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "userId",
"description": "Name of the header"
},
"value": {
"type": "string",
"example": "user12345",
"description": "Value of the header"
}
}
},
"example": [
{
"name": "header1",
"value": "value1"
},
{
"name": "header2",
"value": "value2"
}
],
"description": "Custom headers for the feed"
},
"authType": {
"enum": [
"basic",
"token",
"noAuth"
],
"type": "string",
"default": "noAuth",
"description": "Auth type of the feed:\n * `basic`\n * `token`\n * `noAuth`\n"
},
"password": {
"type": "string",
"example": "password",
"description": "Password for authType `basic`"
},
"username": {
"type": "string",
"example": "user",
"description": "Username for authType `basic`"
},
"maxRetries": {
"type": "integer",
"default": 5,
"example": 5,
"maximum": 5,
"minimum": 0,
"description": "Maximum number of retries on the feed url"
}
}
}
createList
{
"type": "object",
"required": [
"folderId",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Magento Customer - ES",
"description": "Name of the list"
},
"folderId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the parent folder in which this list is to be created"
}
}
}
createModel
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "ID of the object created"
}
}
}
createPaymentRequest
{
"type": "object",
"required": [
"reference",
"contactId",
"cart",
"configuration"
],
"properties": {
"cart": {
"$ref": "#/components/schemas/cart"
},
"contactId": {
"type": "integer",
"format": "int64",
"example": 43,
"description": "Brevo ID of the contact requested to pay.\n"
},
"reference": {
"type": "string",
"example": "Invoice #INV0001",
"description": "Reference of the payment request, it will appear on the payment page.\n"
},
"notification": {
"$ref": "#/components/schemas/notification"
},
"configuration": {
"$ref": "#/components/schemas/configuration"
}
}
}
createProductModel
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 122,
"description": "ID of the Product when a new product is created"
}
}
}
createReseller
{
"type": "object",
"required": [
"authKey"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1234567,
"description": "Id of Reseller child created"
},
"authKey": {
"type": "string",
"example": "xkeysib-21881axxxxxcc92e04-mIrexxxx7z",
"description": "AuthKey of Reseller child created"
}
}
}
createSender
{
"type": "object",
"required": [
"email",
"name"
],
"properties": {
"ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"domain",
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "123.98.689.7",
"description": "Dedicated IP available in your account"
},
"domain": {
"type": "string",
"example": "mycompany.com",
"description": "Domain of the IP"
},
"weight": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 100,
"minimum": 1,
"description": "Weight to apply to the IP. Sum of all IP weights must be 100. Should be passed for either ALL or NONE of the IPs. If it's not passed, the sending will be equally balanced on all IPs."
}
}
},
"description": "**Mandatory in case of dedicated IP**. IPs to associate to the sender\n"
},
"name": {
"type": "string",
"example": "Newsletter",
"description": "From Name to use for the sender"
},
"email": {
"type": "string",
"format": "email",
"example": "newsletter@mycompany.com",
"description": "From email to use for the sender. A verification email will be sent to this address."
}
}
}
createSenderModel
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "ID of the Sender created"
},
"spfError": {
"type": "boolean",
"example": true,
"description": "Status of SPF configuration for the sender (true = SPF not well configured, false = SPF well configured)"
},
"dkimError": {
"type": "boolean",
"example": false,
"description": "Status of DKIM configuration for the sender (true = DKIM not well configured, false = DKIM well configured)"
}
}
}
createSmsCampaign
{
"type": "object",
"required": [
"content",
"name",
"sender"
],
"properties": {
"name": {
"type": "string",
"example": "Spring Promo Code",
"description": "Name of the campaign"
},
"sender": {
"type": "string",
"example": "MyShop",
"maxLength": 15,
"description": "Name of the sender. **The number of characters is limited to 11 for alphanumeric characters and 15 for numeric characters**\n"
},
"content": {
"type": "string",
"example": "Get a discount by visiting our NY store and saying : Happy Spring!",
"description": "Content of the message. The **maximum characters used per SMS is 160**, if used more than that, it will be counted as more than one SMS\n"
},
"recipients": {
"type": "object",
"required": [
"listIds"
],
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 54,
"description": "List Id to send the campaign to"
},
"description": "Lists Ids to send the campaign to. **REQUIRED if scheduledAt is not empty**\n"
},
"exclusionListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 15,
"description": "List Id to exclude from the campaign"
},
"description": "List ids which have to be excluded from a campaign"
}
}
},
"scheduledAt": {
"type": "string",
"example": "2017-05-05T10:30:00.000Z",
"description": "UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**\n"
},
"unicodeEnabled": {
"type": "boolean",
"default": false,
"example": true,
"description": "Format of the message. It indicates whether the content should be treated as unicode or not.\n"
},
"organisationPrefix": {
"type": "string",
"example": "MyCompany",
"description": "A recognizable prefix will ensure your audience knows who you are. Recommended by U.S. carriers. This will be added as your Brand Name before the message content. **Prefer verifying maximum length of 160 characters including this prefix in message content to avoid multiple sending of same sms.**"
},
"unsubscribeInstruction": {
"type": "string",
"example": "send Stop if you want to unsubscribe.",
"description": "Instructions to unsubscribe from future communications. Recommended by U.S. carriers. Must include **STOP** keyword. This will be added as instructions after the end of message content. **Prefer verifying maximum length of 160 characters including this instructions in message content to avoid multiple sending of same sms.**"
}
}
}
createSmtpEmail
{
"type": "object",
"properties": {
"messageId": {
"type": "string",
"example": "<201798300811.5787683@relay.domain.com>",
"description": "Message ID of the transactional email sent"
},
"messageIds": {
"type": "array",
"items": {
"type": "string",
"example": [
"<201798300811.5787683@relay.domain.com>",
"<201798300811.5787683@relay.domain.com>"
],
"description": "version wise message ID's of the transactional emails sent"
}
}
}
}
createSmtpTemplate
{
"type": "object",
"required": [
"sender",
"subject",
"templateName"
],
"properties": {
"tag": {
"type": "string",
"example": "OrderConfirmation",
"description": "Tag of the template"
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Select the sender for the template on the basis of sender id.\n_In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.\n"
},
"name": {
"type": "string",
"example": "Mary from MyShop",
"description": "Name of the sender. **If not passed, will be set to default**\n"
},
"email": {
"type": "string",
"format": "email",
"example": "contact@myshop.com",
"description": "Email of the sender"
}
},
"description": "Sender details including id or email and name (_optional_). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
},
"htmlUrl": {
"type": "string",
"format": "url",
"example": "https://html.domain.com",
"description": "Url which contents the body of the email message. REQUIRED if htmlContent is empty"
},
"replyTo": {
"type": "string",
"format": "email",
"example": "support@myshop.com",
"description": "Email on which campaign recipients will be able to reply to"
},
"subject": {
"type": "string",
"example": "Thanks for your purchase !",
"description": "Subject of the template"
},
"toField": {
"type": "string",
"example": "{FNAME} {LNAME}",
"description": "To personalize the **To** Field. If you want to include the first name and last name of your recipient, add **{FNAME} {LNAME}**. These contact attributes must already exist in your Brevo account. If input parameter **params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n"
},
"isActive": {
"type": "boolean",
"example": true,
"description": "Status of template. isActive = true means template is active and isActive = false means template is inactive"
},
"htmlContent": {
"type": "string",
"example": "The order n°xxxxx has been confirmed. Thanks for your purchase",
"description": "Body of the message (HTML version). The field must have more than 10 characters. **REQUIRED if htmlUrl is empty**\n"
},
"templateName": {
"type": "string",
"example": "Order Confirmation - EN",
"description": "Name of the template"
},
"attachmentUrl": {
"type": "string",
"format": "url",
"example": "https://attachment.domain.com",
"description": "Absolute url of the attachment (**no local file**). Extension allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps'\n"
}
}
}
createSubAccount
{
"type": "object",
"example": {
"email": "test-sub@example.com",
"language": "en",
"timezone": "Europe/Paris",
"companyName": "Test Sub-account"
},
"required": [
"companyName",
"email"
],
"properties": {
"email": {
"type": "string",
"description": "Email address for the organization"
},
"language": {
"enum": [
"en",
"fr",
"it",
"es",
"pt",
"de"
],
"type": "string",
"description": "Set the language of the sub-account"
},
"timezone": {
"type": "string",
"description": "Set the timezone of the sub-account"
},
"companyName": {
"type": "string",
"description": "Set the name of the sub-account company"
}
}
}
createSubAccountResponse
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "ID of the sub-account created"
}
}
}
createUpdateBatchCategory
{
"type": "object",
"required": [
"categories"
],
"properties": {
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/createUpdateCategories"
},
"description": "array of categories objects"
},
"updateEnabled": {
"type": "boolean",
"description": "Facilitate to update the existing categories in the same request (updateEnabled = true)"
}
}
}
createUpdateBatchCategoryModel
{
"type": "object",
"properties": {
"createdCount": {
"type": "integer",
"format": "int64",
"example": 7,
"description": "Number of the new created categories"
},
"updatedCount": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of the existing categories updated"
}
}
}
createUpdateBatchProducts
{
"type": "object",
"required": [
"products"
],
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/createUpdateProducts"
},
"description": "array of products objects"
},
"updateEnabled": {
"type": "boolean",
"description": "Facilitate to update the existing categories in the same request (updateEnabled = true)"
}
}
}
createUpdateBatchProductsModel
{
"type": "object",
"properties": {
"createdCount": {
"type": "integer",
"format": "int64",
"example": 7,
"description": "Number of the new created products"
},
"updatedCount": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of the existing products updated"
}
}
}
createUpdateCategories
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "email",
"example": "CAT123",
"description": "Unique Category ID as saved in the shop\n"
},
"url": {
"type": "string",
"example": "http://mydomain.com/category/electronics",
"description": "URL to the category"
},
"name": {
"type": "string",
"example": "Electronics",
"description": "**Mandatory in case of creation**. Name of the Category, as displayed in the shop\n"
},
"deletedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the category deleted from the shop's database"
}
}
}
createUpdateCategory
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "email",
"example": "CAT123",
"description": "Unique Category ID as saved in the shop\n"
},
"url": {
"type": "string",
"example": "http://mydomain.com/category/electronics",
"description": "URL to the category"
},
"name": {
"type": "string",
"example": "Electronics",
"description": "**Mandatory in case of creation**. Name of the Category, as displayed in the shop\n"
},
"deletedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the category deleted from the shop's database"
},
"updateEnabled": {
"type": "boolean",
"default": false,
"example": false,
"description": "Facilitate to update the existing category in the same request (updateEnabled = true)"
}
}
}
createUpdateContactModel
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 122,
"description": "ID of the contact when a new contact is created"
}
}
}
createUpdateFolder
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Wordpress Contacts",
"description": "Name of the folder"
}
}
}
createUpdateProduct
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"format": "string",
"example": "P11",
"description": "Product ID for which you requested the details"
},
"sku": {
"type": "string",
"format": "string",
"description": "Product identifier from the shop"
},
"url": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product/electronics/product1",
"description": "URL to the product"
},
"name": {
"type": "string",
"format": "string",
"example": "Iphone 11",
"description": "Mandatory in case of creation**. Name of the product for which you requested the details"
},
"price": {
"type": "number",
"format": "float",
"description": "Price of the product"
},
"imageUrl": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product-absoulte-url/img.jpeg",
"description": "Absolute URL to the cover image of the product"
},
"metaInfo": {
"type": "object",
"example": {
"brand": "addidas",
"description": "Shoes for sports"
},
"description": "Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 10.",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
},
"parentId": {
"type": "string",
"format": "string",
"description": "Parent product id of the product"
},
"deletedAt": {
"type": "string",
"description": "UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Category ID-s of the product"
},
"updateEnabled": {
"type": "boolean",
"default": false,
"example": false,
"description": "Facilitate to update the existing category in the same request (updateEnabled = true)"
}
}
}
createUpdateProducts
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"format": "string",
"example": "P11",
"description": "Product ID for which you requested the details"
},
"sku": {
"type": "string",
"format": "string",
"description": "Product identifier from the shop"
},
"url": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product/electronics/product1",
"description": "URL to the product"
},
"name": {
"type": "string",
"format": "string",
"example": "Iphone 11",
"description": "Mandatory in case of creation**. Name of the product for which you requested the details"
},
"price": {
"type": "number",
"format": "float",
"description": "Price of the product"
},
"imageUrl": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product-absoulte-url/img.jpeg",
"description": "Absolute URL to the cover image of the product"
},
"metaInfo": {
"type": "object",
"example": {
"brand": "addidas",
"description": "Shoes for sports"
},
"description": "Meta data of product such as description, vendor, producer, stock level. The size of cumulative metaInfo shall not exceed **1000 KB**. Maximum length of metaInfo object can be 10.",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
},
"parentId": {
"type": "string",
"format": "string",
"description": "Parent product id of the product"
},
"deletedAt": {
"type": "string",
"description": "UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the product deleted from the shop's database"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Category ID-s of the product"
}
}
}
createWebhook
{
"type": "object",
"required": [
"events",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the webhook"
},
"auth": {
"type": "object",
"example": {
"type": "bearer",
"token": "test-auth-token1234"
},
"description": "Authentication header to be send with the webhook requests"
},
"type": {
"enum": [
"transactional",
"marketing",
"inbound"
],
"type": "string",
"default": "transactional",
"example": "marketing",
"description": "Type of the webhook"
},
"domain": {
"type": "string",
"example": "example.com",
"description": "Inbound domain of webhook, required in case of event type `inbound`"
},
"events": {
"type": "array",
"items": {
"enum": [
"sent",
"hardBounce",
"softBounce",
"blocked",
"spam",
"delivered",
"request",
"click",
"invalid",
"deferred",
"opened",
"uniqueOpened",
"unsubscribed",
"listAddition",
"contactUpdated",
"contactDeleted",
"inboundEmailProcessed"
],
"type": "string",
"example": "unsubscribed"
},
"description": "- Events triggering the webhook. Possible values for **Transactional** type webhook:\n#### `sent` OR `request`, `delivered`, `hardBounce`, `softBounce`, `blocked`, `spam`, `invalid`, `deferred`, `click`, `opened`, `uniqueOpened` and `unsubscribed`\n- Possible values for **Marketing** type webhook:\n#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`, `unsubscribed`, `listAddition` & `delivered`\n- Possible values for **Inbound** type webhook:\n#### `inboundEmailProcessed`\n"
},
"batched": {
"type": "boolean",
"example": true,
"description": "Batching configuration of the webhook, we send batched webhooks if its true"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"example": {
"key": "cf-secret",
"value": "test-header-value"
},
"description": "Headers send with the requests to the webhook"
}
},
"description": {
"type": "string",
"example": "Webhook triggered on unsubscription",
"description": "Description of the webhook"
}
}
}
createWhatsAppCampaign
{
"type": "object",
"required": [
"name",
"templateId",
"scheduledAt",
"recipients"
],
"properties": {
"name": {
"type": "string",
"example": "Test Campaign",
"description": "Name of the WhatsApp campaign creation"
},
"recipients": {
"type": "object",
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 32
},
"description": "**Mandatory if scheduledAt is not empty**. List Ids to send the campaign to\n"
},
"segments": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 23
},
"description": "**Mandatory if listIds are not used**. Segment ids to send the campaign to.\n"
},
"excludedListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 8
},
"description": "List ids to exclude from the campaign"
}
},
"description": "Segment ids and List ids to include/exclude from campaign"
},
"templateId": {
"type": "integer",
"example": 19,
"description": "Id of the WhatsApp template in **approved** state"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T10:30:00.000Z",
"description": "Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.For example: **2017-06-01T12:30:00+02:00**\n"
}
}
}
createWhatsAppTemplate
{
"type": "object",
"required": [
"name",
"language",
"category",
"bodyText"
],
"properties": {
"name": {
"type": "string",
"example": "Test template",
"description": "Name of the template"
},
"source": {
"enum": [
"Automation",
"Conversations"
],
"type": "string",
"description": "source of the template"
},
"bodyText": {
"type": "string",
"example": "making it look like readable English",
"description": "Body of the template. **Maximum allowed characters are 1024**"
},
"category": {
"enum": [
"MARKETING",
"UTILITY"
],
"type": "string",
"example": "MARKETING",
"description": "Category of the template"
},
"language": {
"type": "string",
"example": "en",
"description": "Language of the template. For Example :\n**en** for English\n"
},
"mediaUrl": {
"type": "string",
"example": "https://attachment.domain.com",
"description": "Absolute url of the media file **(no local file)** for the header. **Use this field in you want to add media in Template header and headerText is empty**.\nAllowed extensions for media files are:\n#### jpeg | png | mp4 | pdf\n"
},
"headerText": {
"type": "string",
"example": "Test WhatsApp campaign",
"description": "Text content of the header in the template. **Maximum allowed characters are 45**\n**Use this field to add text content in template header and if mediaUrl is empty**\n"
}
}
}
createdBatchId
{
"type": "object",
"required": [
"batchId"
],
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 17655,
"description": "Number of orders"
},
"batchId": {
"type": "number",
"example": 1,
"description": "Batch ID of the request"
}
}
}
createdProcessId
{
"type": "object",
"required": [
"processId"
],
"properties": {
"processId": {
"type": "integer",
"format": "int64",
"example": 78,
"description": "Id of the process created"
}
}
}
deleteHardbounces
{
"type": "object",
"properties": {
"endDate": {
"type": "string",
"example": "2017-01-31T00:00:00.000Z",
"description": "Ending date (YYYY-MM-DD) of the time period for deletion. The hardbounces until this date will be deleted. Must be greater than or equal to the startDate"
},
"startDate": {
"type": "string",
"example": "2016-12-31T00:00:00.000Z",
"description": "Starting date (YYYY-MM-DD) of the time period for deletion. The hardbounces occurred after this date will be deleted. Must be less than or equal to the endDate"
},
"contactEmail": {
"type": "string",
"format": "email",
"example": "alex76@example.com",
"description": "Target a specific email address"
}
}
}
emailExportRecipients
{
"type": "object",
"required": [
"recipientsType"
],
"properties": {
"notifyURL": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "Webhook called once the export process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
},
"recipientsType": {
"enum": [
"all",
"nonClickers",
"nonOpeners",
"clickers",
"openers",
"softBounces",
"hardBounces",
"unsubscribed"
],
"type": "string",
"example": "openers",
"description": "Type of recipients to export for a campaign"
}
}
}
errorModel
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"enum": [
"invalid_parameter",
"missing_parameter",
"out_of_range",
"campaign_processing",
"campaign_sent",
"document_not_found",
"reseller_permission_denied",
"not_enough_credits",
"permission_denied",
"duplicate_parameter",
"duplicate_request",
"method_not_allowed",
"unauthorized",
"account_under_validation",
"not_acceptable",
"bad_request"
],
"type": "string",
"example": "method_not_allowed",
"description": "Error code displayed in case of a failure"
},
"message": {
"type": "string",
"example": "POST Method is not allowed on this path",
"description": "Readable message associated to the failure"
}
}
}
event
{
"type": "object",
"required": [
"event_name",
"identifiers"
],
"properties": {
"event_date": {
"type": "string",
"example": "2024-02-06T20:59:23.383Z",
"description": "Timestamp of when the event occurred (e.g. \"2024-01-24T17:39:57+01:00\"). If no value is passed, the timestamp of the event creation is used."
},
"event_name": {
"type": "string",
"example": "video_played",
"description": "The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters, alphanumerical characters and - _ only."
},
"identifiers": {
"type": "object",
"properties": {
"sms": {
"type": "string",
"example": "+91xxxxxxxxxx",
"description": "SMS associated with the event"
},
"ext_id": {
"type": "string",
"example": "abc123",
"description": "ext_id associated with the event"
},
"email_id": {
"type": "string",
"example": "jane.doe@example.com",
"description": "Email Id associated with the event"
},
"whatsapp": {
"type": "string",
"example": "+91xxxxxxxxxx",
"description": "whatsapp associated with the event"
},
"landline_number": {
"type": "string",
"example": "+91xxxxxxxxxx",
"description": "landline_number associated with the event"
}
},
"description": "Identifies the contact associated with the event. At least one identifier is required.",
"minProperties": 1
},
"event_properties": {
"type": "object",
"example": {
"duration": 142,
"autoplayed": false,
"upload_date": "2023-11-24T12:09:10+01:00",
"video_title": "Brevo — The most approachable CRM suite",
"vide_description": "Create your free account today!"
},
"description": "Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field type are supported: string, number, boolean (true/false), date (Timestamp e.g. \"2024-01-24T17:39:57+01:00\"). Keys are limited to 255 characters, alphanumerical characters and - _ only. Size is limited to 50Kb.",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "object"
},
{
"type": "array",
"items": {
"description": "WARNING: Missing items property in array schema. Missing items property has been filled with this AnyType schema."
}
}
]
}
},
"contact_properties": {
"type": "object",
"example": {
"AGE": 32,
"GENDER": "FEMALE"
},
"description": "Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **\"FIRSTNAME\": \"Jane\" , \"AGE\": 37**",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
}
}
}
exportWebhooksHistory
{
"type": "object",
"required": [
"event",
"notifyURL",
"type"
],
"properties": {
"days": {
"type": "integer",
"example": 7,
"description": "Number of days in the past including today (positive integer). _Not compatible with 'startDate' and 'endDate'_"
},
"sort": {
"type": "string",
"example": "desc",
"description": "Sorting order of records (asc or desc)"
},
"type": {
"enum": [
"transactional",
"marketing"
],
"type": "string",
"example": "transactional",
"description": "Filter the history based on webhook type"
},
"email": {
"type": "string",
"example": "example@brevo.com",
"description": "Filter the history for a specific email"
},
"event": {
"enum": [
"invalid_parameter",
"missing_parameter",
"hardBounce",
"softBounce",
"delivered",
"spam",
"request",
"opened",
"click",
"invalid",
"deferred",
"blocked",
"unsubscribed",
"error",
"uniqueOpened",
"loadedByProxy",
"allEvents"
],
"type": "string",
"example": "request",
"description": "Filter the history for a specific event type"
},
"endDate": {
"type": "string",
"example": "2023-02-17T00:00:00.000Z",
"description": "Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate"
},
"messageId": {
"type": "integer",
"example": null,
"description": "Filter the history for a specific message id. Applicable only for transactional webhooks."
},
"notifyURL": {
"type": "string",
"example": "https://brevo.com",
"description": "Webhook URL to receive CSV file link"
},
"startDate": {
"type": "string",
"example": "2023-02-13T00:00:00.000Z",
"description": "Mandatory if endDate is used. Starting date of the history (YYYY-MM-DD). Must be lower than equal to endDate"
},
"webhookId": {
"type": "integer",
"example": 2345,
"description": "Filter the history for a specific webhook id"
}
}
}
getAccount
{
"allOf": [
{
"$ref": "#/components/schemas/getExtendedClient"
},
{
"type": "object",
"required": [
"plan",
"relay"
],
"properties": {
"plan": {
"type": "array",
"items": {
"type": "object",
"required": [
"credits",
"creditsType",
"type"
],
"properties": {
"type": {
"enum": [
"payAsYouGo",
"free",
"subscription",
"sms",
"reseller"
],
"type": "string",
"example": "subscription",
"description": "Displays the plan type of the user"
},
"credits": {
"type": "number",
"format": "float",
"example": 8755,
"description": "Remaining credits of the user"
},
"endDate": {
"type": "string",
"format": "date",
"example": "2017-01-31T00:00:00.000Z",
"description": "Date of the period from which the plan will end (only available for \"subscription\" and \"reseller\" plan type)"
},
"startDate": {
"type": "string",
"format": "date",
"example": "2016-12-31T00:00:00.000Z",
"description": "Date of the period from which the plan will start (only available for \"subscription\" and \"reseller\" plan type)"
},
"userLimit": {
"type": "integer",
"example": 10,
"description": "Only in case of reseller account. It implies the total number of child accounts you can add to your account."
},
"creditsType": {
"enum": [
"sendLimit"
],
"type": "string",
"example": "sendLimit",
"description": "This is the type of the credit, \"Send Limit\" is one of the possible types of credit of a user. \"Send Limit\" implies the total number of emails you can send to the subscribers in your account."
}
}
},
"description": "Information about your plans and credits"
},
"relay": {
"type": "object",
"required": [
"data",
"enabled"
],
"properties": {
"data": {
"type": "object",
"required": [
"port",
"relay",
"userName"
],
"properties": {
"port": {
"type": "integer",
"example": 125,
"description": "Port used for SMTP Relay"
},
"relay": {
"type": "string",
"example": "relay.domain.com",
"description": "URL of the SMTP Relay"
},
"userName": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Email to use as login on transactional platform"
}
},
"description": "Data regarding the transactional email account"
},
"enabled": {
"type": "boolean",
"example": true,
"description": "Status of your transactional email Account (true=Enabled, false=Disabled)"
}
},
"description": "Information about your transactional email account"
},
"marketingAutomation": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"key": {
"type": "string",
"example": "iso05aopqych87ysy0jymf",
"description": "Marketing Automation Tracker ID"
},
"enabled": {
"type": "boolean",
"example": false,
"description": "Status of Marketing Automation Plateform activation for your account (true=enabled, false=disabled)"
}
}
}
}
}
]
}
getAccountActivity
{
"type": "object",
"properties": {
"logs": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"date",
"user_email",
"user_ip",
"user_agent"
],
"properties": {
"date": {
"type": "string",
"example": "2023-03-27T16:30:00Z",
"description": "Time of the activity."
},
"action": {
"type": "string",
"example": "login-success",
"description": "Type of activity in the account."
},
"user_ip": {
"type": "string",
"example": "192.158.1.38",
"description": "IP address of the user who performed activity in the account."
},
"user_agent": {
"type": "string",
"example": "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)",
"description": "Browser details of the user who performed the activity."
},
"user_email": {
"type": "string",
"example": "test@mycompany.com",
"description": "Email address of the user who performed activity in the account."
}
}
},
"description": "Get user activity logs"
}
}
}
getAggregatedReport
{
"type": "object",
"properties": {
"opens": {
"type": "integer",
"format": "int64",
"example": 47,
"description": "Number of openings for the timeframe"
},
"range": {
"type": "string",
"example": "2016-09-08|2017-04-06",
"description": "Time frame of the report"
},
"clicks": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "Number of clicks for the timeframe"
},
"blocked": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Number of blocked contact emails for the timeframe"
},
"invalid": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of invalid emails for the timeframe"
},
"requests": {
"type": "integer",
"format": "int64",
"example": 263,
"description": "Number of requests for the timeframe"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 249,
"description": "Number of delivered emails for the timeframe"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of hardbounces for the timeframe"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 4,
"description": "Number of softbounces for the timeframe"
},
"spamReports": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of complaint (spam report) for the timeframe"
},
"uniqueOpens": {
"type": "integer",
"format": "int64",
"example": 37,
"description": "Number of unique openings for the timeframe"
},
"uniqueClicks": {
"type": "integer",
"format": "int64",
"example": 8,
"description": "Number of unique clicks for the timeframe"
},
"unsubscribed": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of unsubscribed emails for the timeframe"
}
}
}
getAllExternalFeeds
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Total number of batches"
},
"feeds": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"url",
"authType",
"headers",
"maxRetries",
"cache",
"createdAt",
"modifiedAt"
],
"properties": {
"id": {
"type": "string",
"format": "uuidv4",
"example": "54377442-20a2-4c20-b761-d636c72de7b7",
"description": "ID of the feed"
},
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the feed"
},
"name": {
"type": "string",
"example": "New feed",
"description": "Name of the feed"
},
"cache": {
"type": "boolean",
"example": true,
"description": "Toggle caching of feed url response"
},
"token": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"description": "Token for authType `token`"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "userId",
"description": "Name of the header"
},
"value": {
"type": "string",
"example": "user12345",
"description": "Value of the header"
}
}
},
"description": "Custom headers for the feed"
},
"authType": {
"enum": [
"basic",
"token",
"noAuth"
],
"type": "string",
"description": "Auth type of the feed: * `basic` * `token` * `noAuth`\n"
},
"password": {
"type": "string",
"example": "password",
"description": "Password for authType `basic`"
},
"username": {
"type": "string",
"example": "user",
"description": "Username for authType `basic`"
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2022-10-06T05:03:47.053000000Z",
"description": "Datetime on which the feed was created"
},
"maxRetries": {
"type": "integer",
"default": 5,
"example": 5,
"maximum": 5,
"minimum": 0,
"description": "Maximum number of retries on the feed url"
},
"modifiedAt": {
"type": "string",
"format": "date-time",
"example": "2022-10-06T05:03:47.053000000Z",
"description": "Datetime on which the feed was modified"
}
}
}
}
}
}
getAttributes
{
"type": "object",
"required": [
"attributes"
],
"properties": {
"attributes": {
"type": "array",
"items": {
"type": "object",
"required": [
"category",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "LASTNAME",
"description": "Name of the attribute"
},
"type": {
"enum": [
"text",
"date",
"float",
"id",
"boolean"
],
"type": "string",
"example": "text",
"description": "Type of the attribute"
},
"category": {
"enum": [
"normal",
"transactional",
"category",
"calculated",
"global"
],
"type": "string",
"example": "category",
"description": "Category of the attribute"
},
"enumeration": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Women",
"description": "Label of the \"category\" type attribute"
},
"value": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of Value of the \"category\" type attribute"
}
}
},
"description": "Parameter only available for \"category\" type attributes."
},
"calculatedValue": {
"type": "string",
"example": "COUNT[ORDER_ID,ORDER_DATE,==,NOW(-1)]",
"description": "Calculated value formula"
}
}
},
"description": "Listing of available contact attributes in your account"
}
}
}
getBlockedDomains
{
"type": "object",
"required": [
"domains"
],
"properties": {
"domains": {
"type": "array",
"items": {
"type": "string",
"example": "contact.com",
"description": "name of blocked domain"
},
"description": "List of all blocked domains"
}
}
}
getCampaignOverview
{
"type": "object",
"required": [
"id",
"name",
"status",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "ID of the campaign"
},
"name": {
"type": "string",
"example": "EN - Sales Summer 2017",
"description": "Name of the campaign"
},
"type": {
"enum": [
"classic",
"trigger"
],
"type": "string",
"example": "classic",
"description": "Type of campaign"
},
"status": {
"enum": [
"draft",
"sent",
"archive",
"queued",
"suspended",
"in_process"
],
"type": "string",
"example": "sent",
"description": "Status of the campaign"
},
"subject": {
"type": "string",
"example": "20% OFF for 2017 Summer Sales",
"description": "Subject of the campaign. Only available if `abTesting` flag of the campaign is `false`"
},
"subjectA": {
"type": "string",
"example": "Discover the New Collection!",
"description": "Subject A of the ab-test campaign. Only available if `abTesting` flag of the campaign is `true`"
},
"subjectB": {
"type": "string",
"example": "Want to discover the New Collection?",
"description": "Subject B of the ab-test campaign. Only available if `abTesting` flag of the campaign is `true`"
},
"abTesting": {
"type": "boolean",
"example": true,
"description": "Status of A/B Test for the campaign. abTesting = false means it is disabled, & abTesting = true means it is enabled."
},
"splitRule": {
"type": "integer",
"example": 25,
"description": "The size of your ab-test groups. Only available if `abTesting` flag of the campaign is `true`"
},
"previewText": {
"type": "string",
"example": "Thanks for your order!",
"description": "Preview text or preheader of the email campaign"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "UTC date-time on which campaign is scheduled (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"winnerDelay": {
"type": "integer",
"example": 50,
"description": "The duration of the test in hours at the end of which the winning version will be sent. Only available if `abTesting` flag of the campaign is `true`"
},
"sendAtBestTime": {
"type": "boolean",
"example": true,
"description": "It is true if you have chosen to send your campaign at best time, otherwise it is false"
},
"winnerCriteria": {
"type": "string",
"example": "open",
"description": "Criteria for the winning version. Only available if `abTesting` flag of the campaign is `true`"
}
}
}
getCampaignRecipients
{
"type": "object",
"required": [
"exclusionLists",
"lists"
],
"properties": {
"lists": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 21,
"description": "List IDs included in the campaign"
}
},
"exclusionLists": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 13,
"description": "List IDs excluded of the campaign"
}
}
}
}
getCampaignStats
{
"type": "object",
"required": [
"clickers",
"complaints",
"delivered",
"hardBounces",
"sent",
"softBounces",
"uniqueClicks",
"uniqueViews",
"unsubscriptions",
"viewed",
"trackableViews"
],
"properties": {
"sent": {
"type": "integer",
"format": "int64",
"example": 19887,
"description": "Number of sent emails for the campaign"
},
"listId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "List Id of email campaign (only in case of get email campaign(s)(not for global stats))"
},
"viewed": {
"type": "integer",
"format": "int64",
"example": 8999,
"description": "Number of openings for the campaign"
},
"clickers": {
"type": "integer",
"format": "int64",
"example": 2665,
"description": "Number of total clicks for the campaign"
},
"deferred": {
"type": "integer",
"format": "int64",
"example": 30,
"description": "Number of deferred emails for the campaign"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 19765,
"description": "Number of delivered emails for the campaign"
},
"complaints": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of complaints (Spam reports) for the campaign"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 87,
"description": "Number of harbounce for the campaign"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 100,
"description": "Number of softbounce for the campaign"
},
"uniqueViews": {
"type": "integer",
"format": "int64",
"example": 7779,
"description": "Number of unique openings for the campaign"
},
"returnBounce": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Total number of non-delivered campaigns for a particular campaign id."
},
"uniqueClicks": {
"type": "integer",
"format": "int64",
"example": 2300,
"description": "Number of unique clicks for the campaign"
},
"estimatedViews": {
"type": "integer",
"format": "int64",
"example": 560,
"description": "Rate of recipients without any privacy protection option enabled in their email client, applied to all delivered emails"
},
"trackableViews": {
"type": "integer",
"format": "int64",
"example": 5661,
"description": "Recipients without any privacy protection option enabled in their email client"
},
"unsubscriptions": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Number of unsubscription for the campaign"
},
"trackableViewsRate": {
"type": "number",
"format": "float",
"example": 23.45,
"description": "Rate of recipients without any privacy protection option enabled in their email client"
}
}
}
getCategories
{
"type": "object",
"required": [
"categories",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 17655,
"description": "Number of categories"
},
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getCategoryDetails"
}
}
}
}
getCategoryDetails
{
"type": "object",
"required": [
"id",
"name",
"createdAt",
"modifiedAt"
],
"properties": {
"id": {
"type": "string",
"format": "string",
"example": "C11",
"description": "Category ID for which you requested the details"
},
"url": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/category/clothing",
"description": "URL to the category"
},
"name": {
"type": "string",
"format": "string",
"example": "Electronics",
"description": "Name of the category for which you requested the details"
},
"createdAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Creation UTC date-time of the category (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"isDeleted": {
"type": "boolean",
"format": "string",
"example": true,
"description": "category deleted from the shop's database"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Last modification UTC date-time of the category (YYYY-MM-DDTHH:mm:ss.SSSZ)"
}
}
}
getChildAccountCreationStatus
{
"type": "object",
"required": [
"childAccountCreated"
],
"properties": {
"childAccountCreated": {
"type": "boolean",
"example": true,
"description": "Status of child account creation whether it is successfully created (exists) or not."
}
}
}
getChildDomain
{
"type": "object",
"properties": {
"active": {
"type": "boolean",
"example": true,
"description": "indicates whether a domain is verified or not"
},
"domain": {
"type": "string",
"example": "mycustomdomain.com",
"description": "Sender domain"
}
}
}
getChildDomains
{
"type": "array",
"items": {
"$ref": "#/components/schemas/getChildDomain"
}
}
getChildInfo
{
"allOf": [
{
"$ref": "#/components/schemas/getClient"
},
{
"type": "object",
"required": [
"password"
],
"properties": {
"ips": {
"type": "array",
"items": {
"type": "string",
"example": "",
"description": "IP(s) associated to the user"
},
"description": "IP(s) associated to a child account user"
},
"apiKeys": {
"type": "object",
"required": [
"v2"
],
"properties": {
"v2": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string",
"example": "nOpxxxxxy7z",
"description": "API Key for version 2"
},
"name": {
"type": "string",
"example": "N˚2",
"description": "Name of the key for version 2"
}
}
}
},
"v3": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string",
"example": "xkeysib-21881axxxxxcc92e04-mIrexxxx7z",
"description": "API Key for version 3"
},
"name": {
"type": "string",
"example": "N˚3",
"description": "Name of the key for version 3"
}
}
}
}
},
"description": "API Keys associated to child account"
},
"credits": {
"type": "object",
"properties": {
"smsCredits": {
"type": "integer",
"format": "int64",
"example": 87556,
"description": "SMS credits available for your child"
},
"emailCredits": {
"type": "integer",
"format": "int64",
"example": 98555,
"description": "Email credits available for your child"
}
},
"description": "Credits available for your child"
},
"password": {
"type": "string",
"format": "password",
"example": "abC01De2fGHI3jkL",
"description": "The encrypted password of child account"
},
"statistics": {
"type": "object",
"properties": {
"totalSent": {
"type": "integer",
"format": "int64",
"example": 987554,
"description": "Overall emails sent for since the account exists"
},
"currentMonthTotalSent": {
"type": "integer",
"format": "int64",
"example": 4566,
"description": "Overall emails sent for current month"
},
"previousMonthTotalSent": {
"type": "integer",
"format": "int64",
"example": 7654,
"description": "Overall emails sent for the previous month"
}
},
"description": "Statistics about your child account activity"
}
}
}
]
}
getChildrenList
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 24,
"description": "Number of child accounts"
},
"children": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/getChildInfo"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 187588,
"description": "ID of the child"
}
}
}
]
},
"description": "Your children's account information"
}
}
}
getClient
{
"type": "object",
"required": [
"companyName",
"email",
"firstName",
"lastName"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Login Email"
},
"lastName": {
"type": "string",
"example": "Smith",
"description": "Last Name"
},
"firstName": {
"type": "string",
"example": "John",
"description": "First Name"
},
"companyName": {
"type": "string",
"example": "MyCompany",
"description": "Name of the company"
}
}
}
getContactCampaignStats
{
"type": "object",
"properties": {
"opened": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"count",
"eventTime",
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has opened the campaign"
},
"count": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Number of openings of the campaign"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"clicked": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"links"
],
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"count",
"eventTime",
"ip",
"url"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has clicked on the link"
},
"url": {
"type": "string",
"example": "www.myshop.com",
"description": "URL of the clicked link"
},
"count": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of clicks on this link for the campaign"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
}
}
}
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"delivered": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"complaints": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"hardBounces": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"softBounces": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"messagesSent": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
}
},
"unsubscriptions": {
"type": "object",
"required": [
"adminUnsubscription",
"userUnsubscription"
],
"properties": {
"userUnsubscription": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has unsubscribed"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Contact has unsubscribed via the unsubscription link in the email"
},
"adminUnsubscription": {
"type": "array",
"items": {
"type": "object",
"required": [
"eventTime"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has been unsubscribed"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
}
}
},
"description": "Contact has been unsubscribed from the administrator"
}
}
},
"transacAttributes": {
"type": "array",
"items": {
"type": "object",
"required": [
"orderDate",
"orderId",
"orderPrice"
],
"properties": {
"orderId": {
"type": "integer",
"format": "int64",
"example": 248,
"description": "ID of the order"
},
"orderDate": {
"type": "string",
"format": "date",
"example": "2017-03-12T00:00:00.000Z",
"description": "Date of the order"
},
"orderPrice": {
"type": "number",
"format": "float",
"example": 24.99,
"description": "Price of the order"
}
}
}
}
},
"description": "Campaign Statistics for the contact"
}
getContactDetails
{
"type": "object",
"required": [
"attributes",
"createdAt",
"emailBlacklisted",
"id",
"listIds",
"modifiedAt",
"smsBlacklisted"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 32,
"description": "ID of the contact for which you requested the details"
},
"email": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Email address of the contact for which you requested the details"
},
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"description": "List(s) in which the contact is included"
}
},
"createdAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Creation UTC date-time of the contact (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"attributes": {
"type": "object",
"example": {
"name": "Joe",
"email": "joe@example.com"
},
"properties": {},
"description": "Set of attributes of the contact"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Last modification UTC date-time of the contact (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"smsBlacklisted": {
"type": "boolean",
"example": true,
"description": "Blacklist status for SMS campaigns (true=blacklisted, false=not blacklisted)"
},
"emailBlacklisted": {
"type": "boolean",
"example": false,
"description": "Blacklist status for email campaigns (true=blacklisted, false=not blacklisted)"
},
"listUnsubscribed": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"description": "List(s) in which the contact is included (only available if unsubscription per list is activated for the account)"
}
}
}
}
getContacts
{
"type": "object",
"required": [
"contacts",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 17655,
"description": "Number of contacts"
},
"contacts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getContactDetails"
}
}
}
}
getCorporateInvitedUsersList
{
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"required": [
"email",
"is_owner",
"status",
"feature_access"
],
"properties": {
"email": {
"type": "string",
"example": "pendingInvitedUser@company.com",
"description": "Email address of the user."
},
"groups": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "a5c4f22c08d9ed37ef1ca342",
"description": "group id"
},
"name": {
"type": "string",
"example": "My group",
"description": "group name"
}
},
"description": "Admin user groups list"
},
"status": {
"type": "string",
"example": "active",
"description": "Status of the invited user."
},
"is_owner": {
"type": "string",
"example": false,
"description": "Flag for indicating is user owner of the organization."
},
"feature_access": {
"type": "object",
"properties": {
"my_plan": {
"type": "array",
"items": {
"type": "string",
"example": "all / none"
},
"description": "My plan accessiblity."
},
"api_keys": {
"type": "array",
"items": {
"type": "string",
"example": "all / none"
},
"description": "Api keys accessiblity."
},
"apps_management": {
"type": "array",
"items": {
"type": "string",
"example": "all / none"
},
"description": "Apps management accessiblity | Not available in ENTv2"
},
"user_management": {
"type": "array",
"items": {
"type": "string",
"example": "all / none"
},
"description": "User management accessiblity."
}
},
"description": "Feature accessiblity given to the user. (Required only if status is active)"
}
}
},
"description": "Get invited users list"
}
}
}
getCorporateUserPermission
{
"type": "object",
"required": [
"email",
"status",
"groups",
"feature_access"
],
"properties": {
"email": {
"type": "string",
"example": "invitedUser@company.com",
"description": "Email address of the user."
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "6cbcxxxxxxxxxxxxxxxx457a",
"description": "group identifier"
},
"name": {
"type": "string",
"example": "Staff",
"description": "Group name"
}
},
"description": "Groups details"
}
},
"status": {
"type": "string",
"example": "active / pending",
"description": "Status of the invited user."
},
"feature_access": {
"type": "object",
"properties": {
"my_plan": {
"type": "array",
"items": {
"type": "string",
"example": "all",
"description": "Permission details"
},
"description": "Permission on my plan"
},
"api_keys": {
"type": "array",
"items": {
"type": "string",
"example": "all",
"description": "Permission details"
},
"description": "Permission on api keys"
},
"apps_management": {
"type": "array",
"items": {
"type": "string",
"example": "all",
"description": "Permission details"
},
"description": "Permission on apps management"
},
"user_management": {
"type": "array",
"items": {
"type": "string",
"example": "none",
"description": "Permission details"
},
"description": "Permission on user management"
}
},
"description": "Granular feature permissions given to the user."
}
},
"description": "Check admin user permissions"
}
getCouponCollection
{
"type": "object",
"required": [
"id",
"name",
"defaultCoupon",
"createdAt",
"totalCoupons",
"remainingCoupons"
],
"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."
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2023-01-06T05:03:47.053Z",
"description": "Datetime on which the collection was created."
},
"totalCoupons": {
"type": "integer",
"format": "int64",
"example": 10000,
"description": "Total number of coupons in the collection."
},
"defaultCoupon": {
"type": "string",
"example": "10 OFF",
"description": "The default coupon of the collection."
},
"expirationDate": {
"type": "string",
"format": "date-time",
"example": "2024-01-01T00:00:00Z",
"description": "Expiration date for the coupon collection in RFC3339 format."
},
"remainingCoupons": {
"type": "integer",
"format": "int64",
"example": 5000,
"description": "Number of coupons that have not been sent yet."
},
"remainingDaysAlert": {
"type": "integer",
"example": 5,
"description": "If present, an email notification is going to be sent the defined amount of days before to the expiration date."
},
"remainingCouponsAlert": {
"type": "integer",
"example": 5,
"description": "If present, an email notification is going to be sent when the total number of available coupons falls below the defined threshold."
}
}
}
getDeviceBrowserStats
{
"type": "object",
"required": [
"clickers",
"uniqueClicks",
"uniqueViews",
"viewed"
],
"properties": {
"viewed": {
"type": "integer",
"format": "int64",
"example": 8999,
"description": "Number of openings for the campaign using the particular browser"
},
"clickers": {
"type": "integer",
"format": "int64",
"example": 2665,
"description": "Number of total clicks for the campaign using the particular browser"
},
"uniqueViews": {
"type": "integer",
"format": "int64",
"example": 7779,
"description": "Number of unique openings for the campaign using the particular browser"
},
"uniqueClicks": {
"type": "integer",
"format": "int64",
"example": 2300,
"description": "Number of unique clicks for the campaign using the particular browser"
}
}
}
getDomainConfigurationModel
{
"type": "object",
"required": [
"domain",
"verified",
"authenticated",
"dns_records"
],
"properties": {
"domain": {
"type": "string",
"example": "myexample.com",
"description": "Domain"
},
"verified": {
"type": "boolean",
"example": true,
"description": "Status of domain verification (true=verified, false=non verified)"
},
"dns_records": {
"type": "object",
"properties": {
"brevo_code": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
},
"dkim_record": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
},
"dmarc_record": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"status": {
"type": "boolean"
},
"host_name": {
"type": "string"
}
}
}
}
},
"authenticated": {
"type": "boolean",
"example": false,
"description": "Status of domain authentication (true=authenticated, false=non authenticated)"
}
}
}
getDomainsList
{
"type": "object",
"properties": {
"domains": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"domain_name",
"authenticated",
"verified"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Id of the domain"
},
"ip": {
"type": "string",
"example": "123.98.689.7",
"description": "Dedicated IP associated with domain"
},
"verified": {
"type": "boolean",
"example": false,
"description": "Status of domain verification (true=verified, false=non verified)"
},
"domain_name": {
"type": "string",
"example": "mycompany.com",
"description": "Domain name"
},
"authenticated": {
"type": "boolean",
"example": true,
"description": "Status of domain authentication (true=authenticated, false=non authenticated)"
}
}
},
"description": "List of the domains available in your account"
}
}
}
getEmailCampaign
{
"allOf": [
{
"$ref": "#/components/schemas/getExtendedCampaignOverview"
},
{
"type": "object",
"required": [
"recipients",
"statistics"
],
"properties": {
"recipients": {
"$ref": "#/components/schemas/getCampaignRecipients"
},
"statistics": {
"$ref": "#/components/schemas/getExtendedCampaignStats"
}
},
"x-konfig-properties": {
"recipients": {
"type": "object"
},
"statistics": {
"type": "object"
}
}
}
]
}
getEmailCampaigns
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 24,
"description": "Number of Email campaigns retrieved"
},
"campaigns": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/getExtendedCampaignOverview"
},
{
"type": "object",
"required": [
"recipients",
"statistics"
],
"properties": {
"shareLink": {
"type": "string",
"format": "url",
"example": "http://dhh.brevo.com/fhsgccc.html?t=9865448900",
"description": "Link to share the campaign on social medias"
},
"recipients": {
"$ref": "#/components/schemas/getCampaignRecipients"
},
"statistics": {
"$ref": "#/components/schemas/getExtendedCampaignStats"
}
},
"x-konfig-properties": {
"recipients": {
"type": "object"
},
"statistics": {
"type": "object"
}
}
}
]
}
}
}
}
getEmailEventReport
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"email",
"event",
"messageId"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has opened the email or clicked on the link (only available if the event is opened or clicks)"
},
"tag": {
"type": "string",
"example": "OrderConfirmation",
"description": "Tag of the email which generated the event"
},
"date": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "UTC date-time on which the event has been generated"
},
"from": {
"type": "string",
"format": "email",
"example": "john@example.com",
"description": "Sender email from which the emails are sent"
},
"link": {
"type": "string",
"example": "https://www.someexamplelink.com",
"description": "The link which is sent to the user (only available if the event is requests or opened or clicks)"
},
"email": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Email address which generates the event"
},
"event": {
"enum": [
"bounces",
"hardBounces",
"softBounces",
"delivered",
"spam",
"requests",
"opened",
"clicks",
"invalid",
"deferred",
"blocked",
"unsubscribed",
"error",
"loadedByProxy"
],
"type": "string",
"example": "delivered",
"description": "Event which occurred"
},
"reason": {
"type": "string",
"example": "Error connection timeout",
"description": "Reason of bounce (only available if the event is hardbounce or softbounce)"
},
"subject": {
"type": "string",
"example": "Sib client test",
"description": "Subject of the event"
},
"messageId": {
"type": "string",
"example": "<201798300811.5787683@relay.domain.com>",
"description": "Message ID which generated the event"
},
"templateId": {
"type": "integer",
"format": "int64",
"example": 4,
"description": "ID of the template (only available if the email is template based)"
}
}
}
}
}
}
getExtendedCampaignOverview
{
"allOf": [
{
"$ref": "#/components/schemas/getCampaignOverview"
},
{
"type": "object",
"required": [
"createdAt",
"footer",
"header",
"htmlContent",
"modifiedAt",
"replyTo",
"sender",
"testSent"
],
"properties": {
"tag": {
"type": "string",
"example": "Newsletter",
"description": "Tag of the campaign"
},
"footer": {
"type": "string",
"example": "[DEFAULT_FOOTER]",
"description": "Footer of the campaign"
},
"header": {
"type": "string",
"example": "[DEFAULT_HEADER]",
"description": "Header of the campaign"
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 43,
"description": "Sender id of the campaign"
},
"name": {
"type": "string",
"example": "Marketing",
"description": "Sender name of the campaign"
},
"email": {
"type": "string",
"format": "email",
"example": "marketing@mycompany.com",
"description": "Sender email of the campaign"
}
}
},
"replyTo": {
"type": "string",
"format": "email",
"example": "replyto@domain.com",
"description": "Email defined as the \"Reply to\" of the campaign"
},
"toField": {
"type": "string",
"example": "{FNAME} {LNAME}",
"description": "Customisation of the \"to\" field of the campaign"
},
"sentDate": {
"type": "string",
"example": "2018-12-01T16:30:00.000Z",
"description": "Sent UTC date-time of the campaign (YYYY-MM-DDTHH:mm:ss.SSSZ). Only available if 'status' of the campaign is 'sent'"
},
"testSent": {
"type": "boolean",
"example": true,
"description": "Retrieved the status of test email sending. (true=Test email has been sent false=Test email has not been sent)"
},
"createdAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "Creation UTC date-time of the campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"recurring": {
"type": "boolean",
"example": true,
"description": "FOR TRIGGER ONLY ! Type of trigger campaign.recurring = false means contact can receive the same Trigger campaign only once, & recurring = true means contact can receive the same Trigger campaign several times"
},
"shareLink": {
"type": "string",
"format": "url",
"example": "http://dhh.brevo.com/fhsgccc.html?t=9865448900",
"description": "Link to share the campaign on social medias"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "UTC date-time of last modification of the campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"htmlContent": {
"type": "string",
"example": "This is my HTML Content",
"description": "HTML content of the campaign"
},
"mirrorActive": {
"type": "boolean",
"example": true,
"description": "Status of mirror links in campaign. mirrorActive = false means mirror links are deactivated, & mirrorActive = true means mirror links are activated, in the campaign"
},
"returnBounce": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Total number of non-delivered campaigns for a particular campaign id."
},
"inlineImageActivation": {
"type": "boolean",
"example": true,
"description": "Status of inline image. inlineImageActivation = false means image can’t be embedded, & inlineImageActivation = true means image can be embedded, in the email."
}
}
}
]
}
getExtendedCampaignStats
{
"type": "object",
"required": [
"campaignStats",
"globalStats",
"linksStats",
"mirrorClick",
"remaining",
"statsByBrowser",
"statsByDevice",
"statsByDomain"
],
"properties": {
"remaining": {
"type": "integer",
"format": "int64",
"example": 1000,
"description": "Number of remaning emails to send"
},
"linksStats": {
"type": "object",
"example": {
"example.abc.com": 7,
"example.domain.com": 10
},
"properties": {},
"description": "Statistics about the number of clicks for the links"
},
"globalStats": {
"$ref": "#/components/schemas/getCampaignStats"
},
"mirrorClick": {
"type": "integer",
"format": "int64",
"example": 120,
"description": "Number of clicks on mirror link"
},
"campaignStats": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getCampaignStats"
},
"description": "List-wise statistics of the campaign."
},
"statsByDevice": {
"$ref": "#/components/schemas/getStatsByDevice"
},
"statsByDomain": {
"$ref": "#/components/schemas/getStatsByDomain"
},
"statsByBrowser": {
"$ref": "#/components/schemas/getStatsByBrowser"
}
},
"x-konfig-properties": {
"globalStats": {
"type": "object",
"description": "Overall statistics of the campaign"
}
}
}
getExtendedClient
{
"allOf": [
{
"$ref": "#/components/schemas/getClient"
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "object",
"required": [
"city",
"country",
"street",
"zipCode"
],
"properties": {
"city": {
"type": "string",
"example": "New-York",
"description": "City information"
},
"street": {
"type": "string",
"example": "47 Harbour Street",
"description": "Street information"
},
"country": {
"type": "string",
"example": "United States of America",
"description": "Country information"
},
"zipCode": {
"type": "string",
"example": "9867",
"description": "Zip Code information"
}
},
"description": "Address informations"
}
}
}
]
}
getExtendedContactDetails
{
"allOf": [
{
"$ref": "#/components/schemas/getContactDetails"
},
{
"type": "object",
"required": [
"statistics"
],
"properties": {
"statistics": {
"type": "object",
"properties": {
"opened": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"count",
"eventTime",
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has opened the email"
},
"count": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of openings for the campaign"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the openings generated by the contact"
},
"clicked": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"links"
],
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"count",
"eventTime",
"ip",
"url"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has clicked on the link"
},
"url": {
"type": "string",
"example": "www.myshop.com",
"description": "URL of the clicked link"
},
"count": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of clicks on this link for the campaign"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
}
}
},
"description": "Listing of the clicked links for the campaign"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the clicks generated by the contact"
},
"delivered": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the delivered campaign for the contact"
},
"complaints": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the complaints generated by the contact"
},
"hardBounces": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the hardbounes generated by the contact"
},
"softBounces": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the softbounes generated by the contact"
},
"messagesSent": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Listing of the sent campaign for the contact"
},
"unsubscriptions": {
"type": "object",
"required": [
"adminUnsubscription",
"userUnsubscription"
],
"properties": {
"userUnsubscription": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"eventTime"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has unsubscribed"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the campaign which generated the event"
}
}
},
"description": "Contact unsubscribe via unsubscription link in a campaign"
},
"adminUnsubscription": {
"type": "array",
"items": {
"type": "object",
"required": [
"eventTime"
],
"properties": {
"ip": {
"type": "string",
"example": "165.87.3.15",
"description": "IP from which the user has been unsubscribed"
},
"eventTime": {
"type": "string",
"example": "2017-03-12T20:15:13.000Z",
"description": "UTC date-time of the event"
}
}
},
"description": "Contact has been unsubscribed from the administrator"
}
},
"description": "Listing of the unsubscription for the contact"
},
"transacAttributes": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"description": "Listing of the transactional attributes for the contact"
}
},
"description": "Campaign statistics of the contact"
}
}
}
]
}
getExtendedList
{
"allOf": [
{
"$ref": "#/components/schemas/getList"
},
{
"type": "object",
"required": [
"createdAt",
"folderId"
],
"properties": {
"folderId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "ID of the folder"
},
"createdAt": {
"type": "string",
"example": "2017-03-13T17:05:09.000Z",
"description": "Creation UTC date-time of the list (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"dynamicList": {
"type": "boolean",
"example": false,
"description": "Status telling if the list is dynamic or not (true=dynamic, false=not dynamic)"
},
"campaignStats": {
"type": "array",
"items": {
"type": "object",
"required": [
"campaignId",
"stats"
],
"properties": {
"stats": {
"$ref": "#/components/schemas/getCampaignStats"
},
"campaignId": {
"type": "integer",
"format": "int64",
"example": 143,
"description": "ID of the campaign"
}
}
}
}
}
}
]
}
getExternalFeedByUUID
{
"type": "object",
"required": [
"id",
"name",
"url",
"authType",
"headers",
"maxRetries",
"cache",
"createdAt",
"modifiedAt"
],
"properties": {
"id": {
"type": "string",
"format": "uuidv4",
"example": "54377442-20a2-4c20-b761-d636c72de7b7",
"description": "ID of the feed"
},
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the feed"
},
"name": {
"type": "string",
"example": "New feed",
"description": "Name of the feed"
},
"cache": {
"type": "boolean",
"example": true,
"description": "Toggle caching of feed url response"
},
"token": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"description": "Token for authType `token`"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "userId",
"description": "Name of the header"
},
"value": {
"type": "string",
"example": "user12345",
"description": "Value of the header"
}
}
},
"description": "Custom headers for the feed"
},
"authType": {
"enum": [
"basic",
"token",
"noAuth"
],
"type": "string",
"description": "Auth type of the feed: * `basic` * `token` * `noAuth`\n"
},
"password": {
"type": "string",
"example": "password",
"description": "Password for authType `basic`"
},
"username": {
"type": "string",
"example": "user",
"description": "Username for authType `basic`"
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2022-10-06T05:03:47.053000000Z",
"description": "Datetime on which the feed was created"
},
"maxRetries": {
"type": "integer",
"default": 5,
"example": 5,
"maximum": 5,
"minimum": 0,
"description": "Maximum number of retries on the feed url"
},
"modifiedAt": {
"type": "string",
"format": "date-time",
"example": "2022-10-06T05:03:47.053000000Z",
"description": "Datetime on which the feed was modified"
}
}
}
getFolder
{
"type": "object",
"required": [
"id",
"name",
"totalBlacklisted",
"totalSubscribers",
"uniqueSubscribers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "ID of the folder"
},
"name": {
"type": "string",
"example": "Magento Customers",
"description": "Name of the folder"
},
"totalBlacklisted": {
"type": "integer",
"format": "int64",
"example": 32,
"description": "Number of blacklisted contacts in the folder"
},
"totalSubscribers": {
"type": "integer",
"format": "int64",
"example": 19777,
"description": "Number of contacts in the folder"
},
"uniqueSubscribers": {
"type": "integer",
"format": "int64",
"example": 16222,
"description": "Number of unique contacts in the folder"
}
}
}
getFolderLists
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 6,
"description": "Number of lists in the folder"
},
"lists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getList"
}
}
}
}
getFolders
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of folders available in your account"
},
"folders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getFolder"
}
}
}
}
getInboundEmailEvents
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"uuid",
"sender",
"date",
"recipient"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "Date when email was received on SMTP relay"
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "UUID that can be used to fetch additional data"
},
"sender": {
"type": "string",
"format": "email",
"description": "Sender’s email address"
},
"recipient": {
"type": "string",
"format": "email",
"description": "Recipient’s email address"
}
}
}
}
}
}
getInboundEmailEventsByUuid
{
"type": "object",
"properties": {
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "Date of the event"
},
"type": {
"enum": [
"received",
"processed",
"webhookFailed",
"webhookDelivered"
],
"type": "string",
"description": "Type of the event"
}
}
},
"description": "List of events/logs that describe the lifecycle of the email on SIB platform"
},
"sender": {
"type": "string",
"format": "email",
"description": "Sender’s email address"
},
"subject": {
"type": "string",
"description": "Value of the Subject header. This will be present only after the processing is done. "
},
"messageId": {
"type": "string",
"description": "Value of the Message-ID header. This will be present only after the processing is done."
},
"recipient": {
"type": "string",
"format": "email",
"description": "Recipient’s email address"
},
"receivedAt": {
"type": "string",
"format": "date-time",
"example": "2019-05-25T11:53:26Z",
"description": "Date when email was received on SMTP relay"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "filename specified in the Content-Disposition header of the attachment"
},
"contentId": {
"type": "string",
"description": "value of the Content-ID header of the attachment."
},
"contentType": {
"type": "string",
"description": "value of the Content-Type header of the attachment"
},
"contentLength": {
"type": "integer",
"description": "size of the attachment in bytes"
}
}
},
"description": "List of attachments of the email. This will be present only after the processing is done."
},
"deliveredAt": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Date when email was delivered successfully to client’s webhook"
}
}
}
getInvitedUsersList
{
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"required": [
"email",
"is_owner",
"status",
"feature_access"
],
"properties": {
"email": {
"type": "string",
"example": "pendingInvitedUser@company.com",
"description": "Email address of the user."
},
"status": {
"type": "string",
"example": "active",
"description": "Status of the invited user."
},
"is_owner": {
"type": "string",
"example": true,
"description": "Flag for indicating is user owner of the organization."
},
"feature_access": {
"type": "object",
"properties": {
"crm": {
"type": "string",
"example": "full",
"description": "CRM features accessiblity."
},
"marketing": {
"type": "string",
"example": "custom",
"description": "Marketing features accessiblity."
},
"conversations": {
"type": "string",
"example": "none",
"description": "Conversations features accessiblity."
}
},
"description": "Feature accessiblity given to the user."
}
}
},
"description": "Get invited users list"
}
}
}
getIp
{
"type": "object",
"required": [
"active",
"domain",
"id",
"ip"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the dedicated IP"
},
"ip": {
"type": "string",
"example": "123.65.8.22",
"description": "Dedicated IP"
},
"active": {
"type": "boolean",
"example": true,
"description": "Status of the IP (true=active, false=inactive)"
},
"domain": {
"type": "string",
"example": "mailing.myshop.com",
"description": "Domain associated to the IP"
}
}
}
getIpFromSender
{
"type": "object",
"required": [
"domain",
"id",
"ip",
"weight"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "ID of the dedicated IP"
},
"ip": {
"type": "string",
"example": "123.65.8.22",
"description": "Dedicated IP"
},
"domain": {
"type": "string",
"example": "mailing.myshop.dom",
"description": "Domain associated to the IP"
},
"weight": {
"type": "integer",
"format": "int64",
"example": 75,
"description": "Weight of the IP"
}
}
}
getIps
{
"type": "object",
"required": [
"ips"
],
"properties": {
"ips": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getIp"
},
"description": "Dedicated IP(s) available on your account"
}
}
}
getIpsFromSender
{
"type": "object",
"required": [
"ips"
],
"properties": {
"ips": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getIpFromSender"
},
"description": "Dedicated IP(s) linked to a sender"
}
}
}
getList
{
"type": "object",
"required": [
"id",
"name",
"totalBlacklisted",
"totalSubscribers",
"uniqueSubscribers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 23,
"description": "ID of the list"
},
"name": {
"type": "string",
"example": "Magento Customers - EN",
"description": "Name of the list"
},
"totalBlacklisted": {
"type": "integer",
"format": "int64",
"example": 13,
"description": "Number of blacklisted contacts in the list"
},
"totalSubscribers": {
"type": "integer",
"format": "int64",
"example": 1776,
"description": "Number of contacts in the list"
},
"uniqueSubscribers": {
"type": "integer",
"format": "int64",
"example": 1789,
"description": "Number of unique contacts in the list"
}
}
}
getLists
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 150,
"description": "Number of lists in your account"
},
"lists": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/getList"
},
{
"type": "object",
"required": [
"folderId"
],
"properties": {
"folderId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "ID of the folder"
}
}
}
]
},
"description": "Listing of all the lists available in your account"
}
}
}
getPaymentRequest
{
"type": "object",
"required": [
"reference",
"status",
"cart",
"notification"
],
"properties": {
"cart": {
"$ref": "#/components/schemas/cart"
},
"status": {
"enum": [
"created",
"sent",
"reminderSent",
"paid"
],
"type": "string",
"example": "paid",
"description": "Status of the payment request."
},
"contactId": {
"type": "integer",
"format": "int64",
"example": 43,
"description": "Brevo ID of the contact requested to pay.\n"
},
"reference": {
"type": "string",
"example": "Invoice #INV0001\n",
"description": "Reference of the payment request, it will appear on the payment page.\n"
},
"notification": {
"$ref": "#/components/schemas/notification"
},
"configuration": {
"$ref": "#/components/schemas/configuration"
}
}
}
getProcess
{
"type": "object",
"required": [
"id",
"name",
"status"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 145,
"description": "Id of the process"
},
"name": {
"type": "string",
"example": "IMPORTUSER",
"description": "Process name"
},
"status": {
"enum": [
"queued",
"in_process",
"completed"
],
"type": "string",
"example": "queued",
"description": "Status of the process"
},
"export_url": {
"type": "string",
"example": "http://requestb.in/16ua3aj1",
"description": "URL on which send export the of contacts once the process is completed"
}
}
}
getProcesses
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of processes available on your account"
},
"processes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getProcess"
},
"description": "List of processes available on your account"
}
}
}
getProductDetails
{
"type": "object",
"required": [
"id",
"name",
"createdAt",
"modifiedAt",
"s3ThumbAnalytics",
"s3ThumbEditor"
],
"properties": {
"id": {
"type": "string",
"format": "string",
"example": "P11",
"description": "Product ID for which you requested the details"
},
"sku": {
"type": "string",
"format": "string",
"description": "Product identifier from the shop"
},
"url": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product/electronics/product1",
"description": "URL to the product"
},
"name": {
"type": "string",
"format": "string",
"example": "Iphone 11",
"description": "Name of the product for which you requested the details"
},
"price": {
"type": "number",
"format": "float",
"description": "Price of the product"
},
"imageUrl": {
"type": "string",
"format": "string",
"example": "http://mydomain.com/product-absoulte-url/img.jpeg",
"description": "Absolute URL to the cover image of the product"
},
"metaInfo": {
"type": "object",
"example": {
"brand": "addidas",
"description": "Shoes for sports"
},
"description": "Meta data of product such as description, vendor, producer, stock level, etc."
},
"parentId": {
"type": "string",
"format": "string",
"description": "Parent product id of the product"
},
"createdAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Creation UTC date-time of the product (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"isDeleted": {
"type": "boolean",
"example": true,
"description": "product deleted from the shop's database"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Category ID-s of the product"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Last modification UTC date-time of the product (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"s3Original": {
"type": "string",
"format": "string",
"description": "S3 url of original image"
},
"s3ThumbEditor": {
"type": "string",
"format": "string",
"description": "S3 thumbnail url of original image in 600x400 dimension for editor section"
},
"s3ThumbAnalytics": {
"type": "string",
"format": "string",
"description": "S3 thumbnail url of original image in 120x120 dimension for analytics section"
}
}
}
getProducts
{
"type": "object",
"required": [
"products",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 17655,
"description": "Number of products"
},
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getProductDetails"
}
}
}
}
getReports
{
"type": "object",
"properties": {
"reports": {
"type": "array",
"items": {
"type": "object",
"required": [
"blocked",
"clicks",
"date",
"delivered",
"hardBounces",
"invalid",
"opens",
"requests",
"softBounces",
"spamReports",
"uniqueClicks",
"uniqueOpens",
"unsubscribed"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"example": "2017-04-06T00:00:00.000Z",
"description": "Date of the statistics"
},
"opens": {
"type": "integer",
"format": "int64",
"example": 58,
"description": "Number of openings for the date"
},
"clicks": {
"type": "integer",
"format": "int64",
"example": 6,
"description": "Number of clicks for the date"
},
"blocked": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of blocked emails for the date"
},
"invalid": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of invalid emails for the date"
},
"requests": {
"type": "integer",
"format": "int64",
"example": 65,
"description": "Number of requests for the date"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 63,
"description": "Number of delivered emails for the date"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of hardbounces for the date"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of softbounces for the date"
},
"spamReports": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of complaints (spam reports) for the date"
},
"uniqueOpens": {
"type": "integer",
"format": "int64",
"example": 52,
"description": "Number of unique openings for the date"
},
"uniqueClicks": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of unique clicks for the date"
},
"unsubscribed": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of unsubscribed emails for the date"
}
}
}
}
}
}
getScheduledEmailByBatchId
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Total number of batches"
},
"batches": {
"type": "array",
"items": {
"type": "object",
"required": [
"scheduledAt",
"createdAt",
"status"
],
"properties": {
"status": {
"enum": [
"inProgress",
"queued",
"processed",
"error"
],
"type": "string",
"description": "Current status of the scheduled batch"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Datetime on which the batch was scheduled"
},
"scheduledAt": {
"type": "string",
"format": "date-time",
"description": "Datetime for which the batch was scheduled"
}
}
}
}
}
}
getScheduledEmailByMessageId
{
"type": "object",
"required": [
"scheduledAt",
"createdAt",
"status"
],
"properties": {
"status": {
"enum": [
"inProgress",
"queued",
"processed",
"error"
],
"type": "string",
"description": "Current status of the scheduled email"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Datetime on which the email was scheduled"
},
"scheduledAt": {
"type": "string",
"format": "date-time",
"description": "Datetime for which the email was scheduled"
}
}
}
getSegments
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of Segments in your account"
},
"segments": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"segmentName",
"categoryName"
]
},
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 23,
"description": "ID of the list"
},
"updatedAt": {
"type": "string",
"example": "2017-03-13T17:05:09Z",
"description": "Updation UTC date-time of the segment (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"segmentName": {
"type": "string",
"example": "My Segment",
"description": "Name of the Segment"
},
"categoryName": {
"type": "string",
"format": "string",
"example": "New Category",
"description": "Name of the Segment Category"
}
},
"description": "Listing of all the segments available in your account"
}
}
}
getSendersList
{
"type": "object",
"properties": {
"senders": {
"type": "array",
"items": {
"type": "object",
"required": [
"active",
"email",
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Id of the sender"
},
"ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"domain",
"ip",
"weight"
],
"properties": {
"ip": {
"type": "string",
"example": "123.98.689.7",
"description": "Dedicated IP available in your account"
},
"domain": {
"type": "string",
"example": "mycompany.com",
"description": "Domain of the IP"
},
"weight": {
"type": "integer",
"format": "int64",
"example": 50,
"description": "Weight of the IP for this sender"
}
}
},
"description": "List of dedicated IP(s) available in the account. This data is displayed only for dedicated IPs"
},
"name": {
"type": "string",
"example": "Marketing",
"description": "From Name associated to the sender"
},
"email": {
"type": "string",
"example": "marketing@mycompany.com",
"description": "From Email associated to the sender"
},
"active": {
"type": "boolean",
"example": false,
"description": "Status of sender (true=activated, false=deactivated)"
}
}
},
"description": "List of the senders available in your account"
}
}
}
getSharedTemplateUrl
{
"type": "object",
"required": [
"sharedUrl"
],
"properties": {
"sharedUrl": {
"type": "string",
"format": "url",
"example": "https://my.brevo.com/pt2YU7R5W_guXlowgumy_VX4pFsKu._zd0Gjj96x1_GMmzc1Qps5ZIpj6nx-",
"description": "A unique URL for the email campaign or transactional template. This URL can be shared with other Brevo users."
}
}
}
getSmsCampaign
{
"allOf": [
{
"$ref": "#/components/schemas/getSmsCampaignOverview"
},
{
"type": "object",
"required": [
"recipients",
"statistics"
],
"properties": {
"recipients": {
"$ref": "#/components/schemas/getCampaignRecipients"
},
"statistics": {
"$ref": "#/components/schemas/getSmsCampaignStats"
}
},
"x-konfig-properties": {
"recipients": {
"type": "object"
},
"statistics": {
"type": "object"
}
}
}
]
}
getSmsCampaignOverview
{
"type": "object",
"required": [
"content",
"createdAt",
"id",
"modifiedAt",
"name",
"sender",
"status"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "ID of the SMS Campaign"
},
"name": {
"type": "string",
"example": "PROMO CODE",
"description": "Name of the SMS Campaign"
},
"sender": {
"type": "string",
"example": "MyCompany",
"description": "Sender of the SMS Campaign"
},
"status": {
"enum": [
"draft",
"sent",
"archive",
"queued",
"suspended",
"inProcess"
],
"type": "string",
"example": "draft",
"description": "Status of the SMS Campaign"
},
"content": {
"type": "string",
"example": "Visit our Store and get some discount !",
"description": "Content of the SMS Campaign"
},
"createdAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "Creation UTC date-time of the SMS campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "UTC date-time of last modification of the SMS campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "UTC date-time on which SMS campaign is scheduled. Should be in YYYY-MM-DDTHH:mm:ss.SSSZ format"
}
}
}
getSmsCampaignStats
{
"type": "object",
"required": [
"answered",
"delivered",
"hardBounces",
"processing",
"sent",
"softBounces",
"unsubscriptions"
],
"properties": {
"sent": {
"type": "integer",
"format": "int64",
"example": 3000,
"description": "Number of sent SMS"
},
"answered": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Number of replies to the SMS"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 2987,
"description": "Number of delivered SMS"
},
"processing": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of processing SMS"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of hardbounced SMS"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Number of softbounced SMS"
},
"unsubscriptions": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Number of unsubscription SMS"
}
}
}
getSmsCampaigns
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "Number of SMS campaigns retrieved"
},
"campaigns": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/getSmsCampaignOverview"
},
{
"type": "object",
"required": [
"recipients",
"statistics"
],
"properties": {
"recipients": {
"$ref": "#/components/schemas/getCampaignRecipients"
},
"statistics": {
"$ref": "#/components/schemas/getSmsCampaignStats"
}
},
"x-konfig-properties": {
"recipients": {
"type": "object"
},
"statistics": {
"type": "object"
}
}
}
]
}
}
}
}
getSmsEventReport
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tag": {
"type": "string",
"example": "CabWaiting",
"description": "Tag of the SMS which generated the event"
},
"date": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "UTC date-time on which the event has been generated"
},
"event": {
"enum": [
"bounces",
"hardBounces",
"softBounces",
"delivered",
"sent",
"accepted",
"unsubscription",
"replies",
"blocked",
"rejected"
],
"type": "string",
"example": "accepted",
"description": "Event which occurred"
},
"reply": {
"type": "string"
},
"reason": {
"type": "string",
"example": "Message is undeliverable due to an incorrect / invalid / blacklisted / permanently barred MSISDN for this operator",
"description": "Reason of bounce (only available if the event is hardbounce or softbounce)"
},
"messageId": {
"type": "string",
"example": "1472640582425378",
"description": "Message ID which generated the event"
},
"phoneNumber": {
"type": "string",
"example": "00189001094",
"description": "Phone number which has generated the event"
}
}
}
}
}
}
getSmtpTemplateOverview
{
"type": "object",
"required": [
"createdAt",
"htmlContent",
"id",
"isActive",
"modifiedAt",
"name",
"replyTo",
"sender",
"subject",
"tag",
"testSent",
"toField"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4,
"description": "ID of the template"
},
"tag": {
"type": "string",
"example": "sports",
"description": "Tag of the template"
},
"name": {
"type": "string",
"example": "Order Confirmation - EN",
"description": "Name of the template"
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "43",
"description": "Sender id of the template"
},
"name": {
"type": "string",
"example": "Mary form MyShop",
"description": "From email for the template"
},
"email": {
"type": "string",
"format": "email",
"example": "contact@myshop.fr",
"description": "From email for the template"
}
}
},
"replyTo": {
"type": "string",
"format": "email",
"example": "replyto@domain.com",
"description": "Email defined as the \"Reply to\" for the template"
},
"subject": {
"type": "string",
"example": "Thanks for your order !",
"description": "Subject of the template"
},
"toField": {
"type": "string",
"example": "{FIRSTNAME} {LASTNAME}",
"description": "Customisation of the \"to\" field for the template"
},
"isActive": {
"type": "boolean",
"example": true,
"description": "Status of template (true=active, false=inactive)"
},
"testSent": {
"type": "boolean",
"example": true,
"description": "Status of test sending for the template (true=test email has been sent, false=test email has not been sent)"
},
"createdAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "Creation UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-12T12:30:00.000Z",
"description": "Last modification UTC date-time of the template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"doiTemplate": {
"type": "boolean",
"example": false,
"description": "It is true if template is a valid Double opt-in (DOI) template, otherwise it is false. This field will be available only in case of single template detail call."
},
"htmlContent": {
"type": "string",
"example": "Your order n°xxxxx has been confirmed. Thanks for your purchase.",
"description": "HTML content of the template"
}
}
}
getSmtpTemplates
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Count of transactional email templates"
},
"templates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getSmtpTemplateOverview"
}
}
}
}
getSsoToken
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"example": "ede520dxxxxxxxxxxxx76d631fba2",
"description": "Session token, it will remain valid for 15 days."
}
}
}
getStatsByBrowser
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/getDeviceBrowserStats"
}
}
getStatsByDevice
{
"type": "object",
"properties": {
"mobile": {
"type": "object",
"description": "Statistics of the campaign on the basis of mobile devices",
"additionalProperties": {
"$ref": "#/components/schemas/getDeviceBrowserStats"
}
},
"tablet": {
"type": "object",
"description": "Statistics of the campaign on the basis of tablet devices",
"additionalProperties": {
"$ref": "#/components/schemas/getDeviceBrowserStats"
}
},
"desktop": {
"type": "object",
"description": "Statistics of the campaign on the basis of desktop devices",
"additionalProperties": {
"$ref": "#/components/schemas/getDeviceBrowserStats"
}
},
"unknown": {
"type": "object",
"description": "Statistics of the campaign on the basis of unknown devices",
"additionalProperties": {
"$ref": "#/components/schemas/getDeviceBrowserStats"
}
}
}
}
getStatsByDomain
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/getCampaignStats"
}
}
getTransacAggregatedSmsReport
{
"type": "object",
"properties": {
"range": {
"type": "string",
"example": "2016-09-08|2017-04-06",
"description": "Time frame of the report"
},
"blocked": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Number of blocked contact for the timeframe"
},
"replied": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "Number of answered SMS for the timeframe"
},
"accepted": {
"type": "integer",
"format": "int64",
"example": 252,
"description": "Number of accepted for the timeframe"
},
"rejected": {
"type": "integer",
"format": "int64",
"example": 8,
"description": "Number of rejected for the timeframe"
},
"requests": {
"type": "integer",
"format": "int64",
"example": 263,
"description": "Number of requests for the timeframe"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 249,
"description": "Number of delivered SMS for the timeframe"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of hardbounces for the timeframe"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 4,
"description": "Number of softbounces for the timeframe"
},
"unsubscribed": {
"type": "integer",
"format": "int64",
"example": 6,
"description": "Number of unsubscription for the timeframe"
}
}
}
getTransacBlockedContacts
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Count of blocked or unsubscribed contact"
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"blockedAt",
"email",
"reason",
"senderEmail"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Email address of the blocked or unsubscribed contact"
},
"reason": {
"type": "object",
"example": "Admin blocked",
"properties": {
"code": {
"enum": [
"unsubscribedViaMA",
"unsubscribedViaEmail",
"adminBlocked",
"unsubscribedViaApi",
"hardBounce",
"contactFlaggedAsSpam"
],
"type": "string",
"example": "AdminBlocked",
"description": "Reason code for blocking / unsubscribing (This code is safe for comparison)"
},
"message": {
"type": "string",
"example": "Admin blocked",
"description": "Reason for blocking / unsubscribing (This string is not safe for comparison)"
}
},
"description": "Reason for blocking / unsubscribing"
},
"blockedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "Date when the contact was blocked or unsubscribed on"
},
"senderEmail": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Sender email address of the blocked or unsubscribed contact"
}
}
}
}
}
}
getTransacEmailContent
{
"type": "object",
"required": [
"attachmentCount",
"body",
"date",
"email",
"events",
"subject"
],
"properties": {
"body": {
"type": "string",
"example": "<!DOCTYPE html> <html> <body> <h1>Greetings from the team</h1> <p>This is the actual html content sent</p> </body> </html>",
"description": "Actual content of the transactional email that has been sent"
},
"date": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "Date on which transactional email was sent"
},
"email": {
"type": "string",
"format": "email",
"example": "abc@example.com",
"description": "Email address to which transactional email has been sent"
},
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"time"
],
"properties": {
"name": {
"type": "string",
"example": "delivered",
"description": "Name of the event that occurred on the sent email"
},
"time": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "Time at which the event occurred"
}
}
},
"description": "Series of events which occurred on the transactional email"
},
"subject": {
"type": "string",
"example": "Summer Camp",
"description": "Subject of the sent email"
},
"templateId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the template"
},
"attachmentCount": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Count of the attachments that were sent in the email"
}
}
}
getTransacEmailsList
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Total number of transactional emails available on your account according to the passed filter"
},
"transactionalEmails": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"email",
"messageId",
"subject",
"uuid"
],
"properties": {
"date": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "Date on which transactional email was sent"
},
"from": {
"type": "string",
"format": "email",
"example": "diana.doe@example.com",
"description": "Email address of the sender from which the email was sent"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"example": "tag1"
},
"description": "Tags used for your email"
},
"uuid": {
"type": "string",
"example": "5a78c-209ok98262910-s99a341",
"description": "Unique id of the email sent to a particular contact"
},
"email": {
"type": "string",
"format": "email",
"example": "john.smith@example.com",
"description": "Email address to which transactional email has been sent"
},
"subject": {
"type": "string",
"example": "Summer Camp",
"description": "Subject of the sent email"
},
"messageId": {
"type": "string",
"example": "<201798300811.5700093@relay.domain.com>",
"description": "Message Id of the sent email"
},
"templateId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the template"
}
}
}
}
}
}
getTransacSmsReport
{
"type": "object",
"properties": {
"reports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"example": "2017-03-17T00:00:00.000Z",
"description": "Date for which statistics are retrieved"
},
"blocked": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Number of blocked contact for the date"
},
"replied": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Number of answered SMS for the date"
},
"accepted": {
"type": "integer",
"format": "int64",
"example": 85,
"description": "Number of accepted for the date"
},
"rejected": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of rejected for the date"
},
"requests": {
"type": "integer",
"format": "int64",
"example": 87,
"description": "Number of requests for the date"
},
"delivered": {
"type": "integer",
"format": "int64",
"example": 85,
"description": "Number of delivered SMS for the date"
},
"hardBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of hardbounces for the date"
},
"softBounces": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of softbounces for the date"
},
"unsubscribed": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Number of unsubscription for the date"
}
}
}
}
}
}
getUserPermission
{
"type": "object",
"required": [
"email",
"status",
"privileges"
],
"properties": {
"email": {
"type": "string",
"example": "invitedUser@company.com",
"description": "Email address of the user."
},
"status": {
"type": "string",
"example": "active",
"description": "Status of the invited user."
},
"privileges": {
"type": "array",
"items": {
"type": "object",
"required": [
"feature",
"permissions"
],
"properties": {
"feature": {
"type": "string",
"example": "Email campaign"
},
"permissions": {
"type": "array",
"items": {
"type": "string",
"example": "Create / edit / delete"
}
}
}
},
"description": "Granular feature permissions given to the user."
}
},
"description": "Check user permission"
}
getWebhook
{
"type": "object",
"required": [
"createdAt",
"description",
"events",
"id",
"modifiedAt",
"type",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 654,
"description": "ID of the webhook"
},
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the webhook"
},
"auth": {
"type": "object",
"example": {
"type": "bearer",
"token": "test-auth-token1234"
},
"description": "Authentication header to be send with the webhook requests"
},
"type": {
"enum": [
"marketing",
"transactional"
],
"type": "string",
"example": "marketing",
"description": "Type of webhook (marketing or transactional)"
},
"events": {
"type": "array",
"items": {
"type": "string",
"example": "opens,clicks",
"description": "Events which will trigger the webhook when they occure"
}
},
"batched": {
"type": "boolean",
"example": true,
"description": "Batching configuration of the webhook, we send batched webhooks if its true"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"example": {
"key": "cf-secret",
"value": "test-header-value"
},
"description": "Headers send with the requests to the webhook"
}
},
"createdAt": {
"type": "string",
"example": "2016-12-01T12:50:00.000Z",
"description": "Creation UTC date-time of the webhook (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-12T13:15:00.000Z",
"description": "Last modification UTC date-time of the webhook (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"description": {
"type": "string",
"example": "Webhook triggered on campaign openings",
"description": "Description of the webhook"
}
}
}
getWebhooks
{
"type": "object",
"required": [
"webhooks"
],
"properties": {
"webhooks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/getWebhook"
}
}
}
}
getWhatsAppConfig
{
"type": "object",
"properties": {
"sendingLimit": {
"type": "string",
"example": "TIER_1K",
"description": "Sending limit Information of the WhatsApp API account"
},
"businessStatus": {
"type": "string",
"example": "verified",
"description": "Verification status information of the Business account"
},
"phoneNumberQuality": {
"enum": [
"GREEN",
"YELLOW",
"RED"
],
"type": "string",
"example": "GREEN",
"description": "Quality status of phone number associated with WhatsApp account. There are three quality ratings. example - **High (GREEN) , Medium (YELLOW) and Low(RED)**"
},
"phoneNumberNameStatus": {
"enum": [
"APPROVED",
"PENDING",
"REJECTED"
],
"type": "string",
"example": "APPROVED",
"description": "Status of the name associated with WhatsApp Phone number"
},
"whatsappBusinessAccountId": {
"type": "string",
"example": 105569359072383,
"description": "Id of the WhatsApp business account"
},
"whatsappBusinessAccountStatus": {
"enum": [
"APPROVED",
"PENDING",
"REJECTED"
],
"type": "string",
"example": "APPROVED",
"description": "Status information related to WhatsApp API account"
}
}
}
getWhatsappCampaignOverview
{
"type": "object",
"required": [
"id",
"campaignName",
"campaignStatus",
"senderNumber",
"recipients",
"createdAt",
"template",
"modifiedAt"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1672035851100690,
"description": "ID of the WhatsApp Campaign"
},
"stats": {
"$ref": "#/components/schemas/WhatsappCampStats"
},
"template": {
"$ref": "#/components/schemas/WhatsappCampTemplate"
},
"createdAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "Creation UTC date-time of the WhatsApp campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "UTC date-time of last modification of the WhatsApp campaign (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "UTC date-time on which WhatsApp campaign is scheduled. Should be in YYYY-MM-DDTHH:mm:ss.SSSZ format"
},
"campaignName": {
"type": "string",
"example": "Test Campaign",
"description": "Name of the WhatsApp Campaign"
},
"senderNumber": {
"type": "string",
"example": 9368207029,
"description": "Sender of the WhatsApp Campaign"
},
"campaignStatus": {
"enum": [
"draft",
"scheduled",
"pending",
"approved",
"running",
"suspended",
"rejected",
"sent"
],
"type": "string",
"example": "draft",
"description": "Status of the WhatsApp Campaign"
}
}
}
getWhatsappCampaigns
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 40,
"description": "Number of WhatsApp campaigns retrieved"
},
"campaigns": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"campaignName",
"campaignStatus",
"templateId",
"scheduledAt",
"createdAt",
"modifiedAt"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1672035851100690,
"description": "ID of the WhatsApp Campaign"
},
"stats": {
"$ref": "#/components/schemas/WhatsappCampStats"
},
"createdAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "Creation UTC date-time of the WhatsApp template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "UTC date-time of last modification of the WhatsApp template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"templateId": {
"type": "string",
"example": 637660278078655,
"description": "Id of the WhatsApp template"
},
"errorReason": {
"type": "string",
"description": "Error Reason associated with the WhatsApp campaign sending"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "UTC date-time on which WhatsApp campaign is scheduled. Should be in YYYY-MM-DDTHH:mm:ss.SSSZ format"
},
"campaignName": {
"type": "string",
"example": "Test Campaign",
"description": "Name of the WhatsApp Campaign"
},
"campaignStatus": {
"enum": [
"draft",
"scheduled",
"pending",
"approved",
"running",
"suspended",
"rejected",
"sent"
],
"type": "string",
"example": "draft",
"description": "Status of the WhatsApp Campaign"
},
"readPercentage": {
"type": "number",
"format": "float",
"example": 28.57,
"description": "Read percentage of the the WhatsApp campaign created"
},
"invalidatedContacts": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "Count of invalidated contacts"
}
}
}
}
}
}
getWhatsappEventReport
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"contactNumber",
"date",
"messageId",
"event",
"senderNumber"
],
"properties": {
"body": {
"type": "string",
"example": "Hi! I am a reply",
"description": "Text of the reply (will be there only in case of `reply` event with text)"
},
"date": {
"type": "string",
"example": "2017-03-12T12:30:00.000Z",
"description": "UTC date-time on which the event has been generated"
},
"event": {
"enum": [
"sent",
"delivered",
"read",
"error",
"unsubscribe",
"reply",
"soft-bounce"
],
"type": "string",
"example": "delivered",
"description": "Event which occurred"
},
"reason": {
"type": "string",
"example": "23befbae-1505-47a8-bd27-e30ef739f32c",
"description": "Reason for the event (will be there in case of `error` and `soft-bounce` events)"
},
"mediaUrl": {
"type": "string",
"format": "url",
"example": "https://example.com/media.png",
"description": "Url of the media reply (will be there only in case of `reply` event with media)"
},
"messageId": {
"type": "string",
"example": "23befbae-1505-47a8-bd27-e30ef739f32c",
"description": "Message ID which generated the event"
},
"senderNumber": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
},
"contactNumber": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
}
}
}
}
}
}
getWhatsappTemplates
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64",
"example": 24,
"description": "Number of WhatsApp templates retrieved"
},
"templates": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"status",
"type",
"language",
"category",
"createdAt",
"modifiedAt"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 235,
"description": "ID of the WhatsApp template"
},
"name": {
"type": "string",
"example": "Test template",
"description": "Name of the WhatsApp template"
},
"status": {
"type": "string",
"example": "approved",
"description": "Status of the WhatsApp template"
},
"category": {
"type": "string",
"example": "MARKETING",
"description": "category of the template"
},
"language": {
"type": "string",
"example": "en",
"description": "Language in which template exists"
},
"createdAt": {
"type": "string",
"example": "2017-06-01T12:30:00.000Z",
"description": "Creation UTC date-time of the WhatsApp template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"modifiedAt": {
"type": "string",
"example": "2017-05-01T12:30:00.000Z",
"description": "UTC date-time of last modification of the WhatsApp template (YYYY-MM-DDTHH:mm:ss.SSSZ)"
},
"errorReason": {
"type": "string",
"example": "NONE",
"description": "Error reason in the template creation"
}
}
}
}
}
}
inviteAdminUser
{
"type": "object",
"required": [
"email",
"all_features_access",
"privileges"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "inviteuser@example.com",
"description": "Email address for the organization"
},
"groupIds": {
"type": "array",
"items": {
"type": "string",
"description": "Group Id"
},
"example": [
"2baxxxxxxxxxxxxxxxxxxxxxcaa",
"65axxxxxxxxxxxxxxxxxxxxxc5a"
],
"description": "Ids of Group"
},
"privileges": {
"type": "array",
"items": {
"type": "object",
"example": [
{
"feature": "my_plan",
"permissions": [
"all"
]
},
{
"feature": "api",
"permissions": [
"none"
]
}
],
"properties": {
"feature": {
"enum": [
"my_plan",
"api",
"user_management",
"app_management"
],
"type": "string",
"example": "user_management",
"description": "Feature name"
},
"permissions": {
"type": "array",
"items": {
"enum": [
"all",
"none"
],
"type": "string",
"example": "'all', 'none'"
},
"description": "Permissions for a given feature"
}
},
"description": "Privileges given to the user"
}
},
"all_features_access": {
"enum": [
true,
false
],
"type": "boolean",
"example": true,
"description": "All access to the features"
}
}
}
inviteuser
{
"type": "object",
"required": [
"email",
"all_features_access",
"privileges"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "inviteuser@example.com",
"description": "Email address for the organization"
},
"privileges": {
"type": "array",
"items": {
"type": "object",
"example": [
{
"feature": "email_campaigns",
"permissions": [
"create_edit_delete",
"send_schedule_suspend"
]
},
{
"feature": "sms_campaigns",
"permissions": [
"create_edit_delete",
"send_schedule_suspend"
]
},
{
"feature": "facebook_ads",
"permissions": [
"create_edit_delete",
"schedule_pause"
]
}
],
"properties": {
"feature": {
"enum": [
"email_campaigns",
"sms_campaigns",
"contacts",
"templates",
"workflows",
"facebook_ads",
"landing_pages",
"transactional_emails",
"smtp_api",
"user_management",
"sales_platform",
"phone",
"conversations",
"senders_domains_dedicated_ips",
"push_notifications"
],
"type": "string",
"example": "email_campaigns",
"description": "Feature name"
},
"permissions": {
"type": "array",
"items": {
"enum": [
"create_edit_delete",
"send_schedule_suspend",
"view",
"import",
"export",
"list_and_attributes",
"forms",
"activate_deactivate",
"activate_deactivate_pause",
"settings",
"schedule_pause",
"all",
"logs",
"access",
"assign",
"configure",
"manage_owned_deals_tasks_companies",
"manage_others_deals_tasks_companies",
"reports",
"senders_management",
"domains_management",
"dedicated_ips_management",
"send",
"smtp",
"api_keys",
"authorized_ips",
"none"
],
"type": "string",
"example": "'create_edit_delete', 'send_schedule_suspend'"
},
"description": "Permissions for a given feature"
}
},
"description": "Privileges given to the user"
}
},
"all_features_access": {
"enum": [
true,
false
],
"type": "boolean",
"example": true,
"description": "All access to the features"
}
}
}
inviteuserResponse
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"example": "OK",
"description": "Status of the API operation."
},
"invoice_id": {
"type": "string",
"items": {
"type": "string",
"example": "TEST-ID"
},
"description": "Invoice id"
}
}
}
manageIp
{
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "123.65.8.22",
"description": "Dedicated ID"
}
}
}
masterDetailsResponse
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the master account organization"
},
"email": {
"type": "string",
"description": "Email id of master account"
},
"planInfo": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Plan amount"
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the feature"
},
"used": {
"type": "integer",
"format": "int64",
"description": "Quantity consumed by master"
},
"quantity": {
"type": "integer",
"format": "int64",
"description": "Quantity provided in the plan"
},
"remaining": {
"type": "integer",
"format": "int64",
"description": "Quantity remaining in the plan"
},
"unitValue": {
"type": "string",
"description": "Unit value of the feature"
},
"usedOverages": {
"type": "integer",
"format": "int64",
"description": "Quantity consumed by sub-organizations over the admin plan limit (only applicable on ENTv2)"
},
"quantityWithOverages": {
"type": "integer",
"format": "int64",
"description": "Quantity with overages provided in the plan (only applicable on ENTv2)"
}
}
},
"description": "List of provided features in the plan"
},
"planPeriod": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "Plan period type"
},
"subAccounts": {
"type": "integer",
"description": "Number of sub-accounts"
},
"currencyCode": {
"type": "string",
"description": "Plan currency"
},
"nextBillingAt": {
"type": "integer",
"format": "int64",
"description": "Timestamp of next billing date"
}
},
"description": "Plan details"
},
"timezone": {
"type": "string",
"description": "Timezone of the master account organization"
},
"billingInfo": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"givenName": {
"type": "string",
"description": "First name for billing"
},
"familyName": {
"type": "string",
"description": "Last name for billing"
}
},
"description": "Billing name of master account holder"
},
"email": {
"type": "string",
"description": "Billing email id of master account"
},
"address": {
"type": "object",
"properties": {
"locality": {
"type": "string",
"description": "Locality"
},
"stateCode": {
"type": "string",
"description": "State code"
},
"postalCode": {
"type": "string",
"description": "Postal code"
},
"countryCode": {
"type": "string",
"description": "Country code"
},
"streetAddress": {
"type": "string",
"description": "Street address"
}
},
"description": "Billing address of master account"
},
"companyName": {
"type": "string",
"description": "Company name of master account"
}
},
"description": "Billing details of the master account organization"
},
"companyName": {
"type": "string",
"description": "Company name of master account organization"
},
"currencyCode": {
"type": "string",
"description": "Currency code of the master account organization"
}
}
}
notification
{
"type": "object",
"required": [
"channel",
"text"
],
"properties": {
"text": {
"type": "string",
"example": "Please pay for your yoga class.",
"description": "Use this field if you want to give more context to your contact about the payment request.\n"
},
"channel": {
"enum": [
"email"
],
"type": "string",
"example": "email",
"description": "Channel used to send the notifications.\n"
}
},
"description": "Optional. Use this object if you want to let Brevo send an email to the contact, with the payment request URL. If empty, no notifications (message and reminders) will be sent.\n"
}
order
{
"type": "object",
"required": [
"id",
"createdAt",
"updatedAt",
"status",
"amount",
"products"
],
"properties": {
"id": {
"type": "string",
"example": "14",
"description": "Unique ID of the order."
},
"email": {
"type": "string",
"example": "example@brevo.com",
"description": "Email of the contact, Mandatory if \"phone\" field is not passed in \"billing\" parameter."
},
"amount": {
"type": "number",
"example": 308.42,
"description": "Total amount of the order, including all shipping expenses, tax and the price of items."
},
"status": {
"type": "string",
"example": "completed",
"description": "State of the order."
},
"billing": {
"type": "object",
"properties": {
"city": {
"type": "string",
"example": "Basel",
"description": "Exact city of the address."
},
"phone": {
"type": "string",
"example": "01559 032133",
"description": "Phone number to contact for further details about the order, Mandatory if \"email\" field is not passed."
},
"region": {
"type": "string",
"example": "Northwestern Switzerland",
"description": "Exact region (state/province) for delivery and billing."
},
"address": {
"type": "string",
"example": "15 Somewhere Road, Brynmenyn",
"description": "Full billing address."
},
"postCode": {
"type": "string",
"example": "4052",
"description": "Postcode for delivery and billing."
},
"countryCode": {
"type": "string",
"example": "CA",
"description": "Billing country 2-letter ISO code."
},
"paymentMethod": {
"type": "string",
"example": "PayPal",
"description": "How the visitor will pay for the item(s), e.g. paypal, check, etc."
}
},
"description": "Billing details of an order."
},
"coupons": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"EASTER15OFF"
],
"description": "Coupons applied to the order. Stored case insensitive."
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"productId",
"quantity",
"price"
],
"properties": {
"price": {
"type": "number",
"example": 99.99,
"description": "The price of a unit of product"
},
"quantity": {
"type": "number",
"example": 10,
"description": "How many pieces of the product the visitor has added to the cart."
},
"productId": {
"type": "string",
"example": "P1",
"description": "ID of the product."
},
"variantId": {
"type": "string",
"example": "P100",
"description": "Product ID of the red color shirts."
}
},
"description": "Details for the Products in an order."
}
},
"createdAt": {
"type": "string",
"example": "2021-07-29T20:59:23.383Z",
"description": "Event occurrence UTC date-time (YYYY-MM-DDTHH:mm:ssZ), when order is actually created."
},
"updatedAt": {
"type": "string",
"example": "2021-07-30T10:59:23.383Z",
"description": "Event updated UTC date-time (YYYY-MM-DDTHH:mm:ssZ), when the status of the order is actually changed/updated."
}
}
}
orderBatch
{
"type": "object",
"required": [
"orders"
],
"properties": {
"orders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/order"
},
"description": "array of order objects"
},
"notifyUrl": {
"type": "string",
"example": "https://en.wikipedia.org/wiki/Webhook",
"description": "Notify Url provided by client to get the status of batch request"
},
"historical": {
"type": "boolean",
"default": true,
"example": true,
"description": "Defines wether you want your orders to be considered as live data or as historical data (import of past data, synchronising data). True: orders will not trigger any automation workflows. False: orders will trigger workflows as usual."
}
}
}
otp
{
"type": "object",
"required": [
"otp"
],
"properties": {
"otp": {
"type": "integer",
"example": 123456,
"description": "6 digit OTP received on email"
}
}
}
postContactInfo
{
"type": "object",
"required": [
"contacts"
],
"properties": {
"contacts": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64",
"example": 27,
"description": "Displays the count of total number of contacts removed from list when user opts for \"all\" option."
},
"failure": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "jeff32@example.com, jim56@example.com",
"description": "Email addresses which can not be imported/removed, could be already in/out list and/or doesn't exist"
}
},
{
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "IDs which can not be imported/removed, could be already in/out list and/or doesn't exist"
}
}
]
},
"success": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
"format": "email",
"description": "Email addresses which are successfully imported/removed"
},
"example": "jeff32@example.com, jim56@example.com"
},
{
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"description": "IDs which are successfully imported/removed"
},
"example": "1, 2"
}
]
},
"processId": {
"type": "integer",
"format": "int64",
"example": 78,
"description": "Id of the process created to remove contacts from list when user opts for \"all\" option."
}
}
}
}
}
postSendFailed
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "invalid_parameter",
"description": "Response code"
},
"message": {
"type": "string",
"example": "The email could not be sent to all recipients",
"description": "Response message"
},
"unexistingEmails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "matthew.dow@example.com, elisa.carrely@example.com",
"description": "Email addresses you tried to sent an email to, but not existing in your contacts"
}
},
"blackListedEmails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "jeff.dean@example.com, jim.sue@example.com",
"description": "Email addresses which are blacklisted. ONLY FOR email-campign's sendTest OR smtp-template's sendTest api's."
}
},
"withoutListEmails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "jeff.dean@example.com, jim.sue@example.com",
"description": "Email addresses you sent an email to, without a contact list"
}
}
}
}
postSendSmsTestFailed
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "invalid_parameter",
"description": "Response code"
},
"message": {
"type": "string",
"example": "The SMS could not be sent to all recipients",
"description": "Response message"
},
"unexistingSms": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "337699086644@mailin.com, 41778899954@mailin.com",
"description": "Email addresses you tried to sent a SMS to, but not existing in your contacts"
}
},
"withoutListSms": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "3542388988@mailin.com, 10976444477@mailin.com",
"description": "Email addresses you sent a SMS to, without a contact list"
}
}
}
}
putRevokeUserPermission
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"example": "invitedUser@company.com",
"description": "Email address of the user."
}
},
"description": "Revoke user permission"
}
putRevokeUserPermissionResponse
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"example": "OK",
"description": "Status of the API operation."
},
"credit_notes": {
"type": "array",
"items": {
"type": "string",
"example": "TEST-123"
},
"description": "Credit note"
}
}
}
putresendcancelinvitation
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"example": "invitedUser@company.com",
"description": "Email address of the user."
}
},
"description": "Revoke user permission"
}
putresendcancelinvitationResponse
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"example": "OK",
"description": "Status of the API operation."
},
"credit_notes": {
"type": "array",
"items": {
"type": "string",
"example": "TEST-123"
},
"description": "Credit note"
}
}
}
remainingCreditModel
{
"type": "object",
"required": [
"child",
"reseller"
],
"properties": {
"child": {
"type": "object",
"required": [
"email",
"sms"
],
"properties": {
"sms": {
"type": "number",
"format": "double",
"example": 500,
"description": "SMS Credits remaining for child account"
},
"email": {
"type": "number",
"format": "double",
"example": 2000,
"description": "Email Credits remaining for child account"
}
},
"description": "Credits remaining for child account"
},
"reseller": {
"type": "object",
"required": [
"email",
"sms"
],
"properties": {
"sms": {
"type": "number",
"format": "double",
"example": 12900,
"description": "SMS Credits remaining for reseller account"
},
"email": {
"type": "number",
"format": "double",
"example": 2000000,
"description": "Email Credits remaining for reseller account"
}
}
}
}
}
removeContactFromListByAll
{
"type": "object",
"properties": {
"all": {
"type": "boolean",
"example": true,
"description": "**Required if 'emails' and 'ids' are empty.** Remove all existing contacts from a list. A process will be created in this scenario. You can fetch the process details to know about the progress\n"
}
}
}
removeContactFromListByEmails
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "john.smith@contact.com",
"description": "Email to remove from a list"
},
"maxItems": 150,
"minItems": 1,
"description": "**Required if 'all' is false and 'ids' is empty.** Emails to remove from a list. You can pass a **maximum of 150 emails** for removal in one request.\n"
}
}
}
removeContactFromListByIDs
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "ID to remove from a list"
},
"maxItems": 150,
"minItems": 1,
"description": "**Required if 'all' is false and 'emails' is empty.** IDs to remove from a list. You can pass a **maximum of 150 IDs** for removal in one request.\n"
}
}
}
removeCredits
{
"type": "object",
"properties": {
"sms": {
"type": "integer",
"format": "int64",
"example": 300,
"description": "**Required if email credits are empty.** SMS credits to be removed from the child account\n"
},
"email": {
"type": "integer",
"format": "int64",
"example": 500,
"description": "**Required if sms credits are empty.** Email credits to be removed from the child account\n"
}
}
}
requestContactExport
{
"type": "object",
"required": [
"customContactFilter"
],
"properties": {
"notifyUrl": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "Webhook that will be called once the export process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
},
"exportAttributes": {
"type": "array",
"items": {
"type": "string",
"example": "NAME"
},
"description": "List of all the attributes that you want to export. **These attributes must be present in your contact database.** For example:\n**['fname', 'lname', 'email']**\n"
},
"customContactFilter": {
"type": "object",
"properties": {
"listId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "**Mandatory if actionForContacts is passed, ignored otherwise.** Id of the list for which the corresponding action shall be applied in the filter.\n"
},
"smsCampaignId": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "Considered only if **actionForSmsCampaigns** is passed, ignored otherwise. The id of sms campaign for which the corresponding action shall be applied in the filter.\n"
},
"emailCampaignId": {
"type": "integer",
"format": "int64",
"example": 12,
"description": "Considered only if **actionForEmailCampaigns** is passed, ignored otherwise. **Mandatory if action is one of the following - openers, nonOpeners, clickers, nonClickers, unsubscribed.**\nThe id of the email campaign for which the corresponding action shall be applied in the filter.\n"
},
"actionForContacts": {
"enum": [
"allContacts",
"subscribed",
"unsubscribed",
"unsubscribedPerList"
],
"type": "string",
"description": "**Mandatory if neither actionForEmailCampaigns nor actionForSmsCampaigns is passed.** This will export the contacts on the basis of provided action applied on contacts as per the list id.\n* **allContacts** - Fetch the list of all contacts for a particular list.\n* **subscribed & unsubscribed** - Fetch the list of subscribed / unsubscribed (blacklisted via any means) contacts for a particular list.\n* **unsubscribedPerList** - Fetch the list of contacts that are unsubscribed from a particular list only.\n"
},
"actionForSmsCampaigns": {
"enum": [
"hardBounces",
"softBounces",
"unsubscribed"
],
"type": "string",
"description": "**Mandatory if neither actionForContacts nor actionForEmailCampaigns is passed.** This will export the contacts on the basis of provided action applied on sms campaigns.\n* **unsubscribed** - Fetch the list of all unsubscribed (blacklisted via any means) contacts for all / particular sms campaigns.\n* **hardBounces & softBounces** - Fetch the list of hard bounces / soft bounces for all / particular sms campaigns.\n"
},
"actionForEmailCampaigns": {
"enum": [
"openers",
"nonOpeners",
"clickers",
"nonClickers",
"unsubscribed",
"hardBounces",
"softBounces"
],
"type": "string",
"description": "**Mandatory if neither actionForContacts nor actionForSmsCampaigns is passed.** This will export the contacts on the basis of provided action applied on email campaigns.\n* **openers & nonOpeners** - emailCampaignId is mandatory. Fetch the list of readers / non-readers for a particular email campaign.\n* **clickers & nonClickers** - emailCampaignId is mandatory. Fetch the list of clickers / non-clickers for a particular email campaign.\n* **unsubscribed** - emailCampaignId is mandatory. Fetch the list of all unsubscribed (blacklisted via any means) contacts for a particular email campaign.\n* **hardBounces & softBounces** - emailCampaignId is optional. Fetch the list of hard bounces / soft bounces for a particular / all email campaign(s).\n"
}
},
"description": "Set the filter for the contacts to be exported.\n"
}
}
}
requestContactImport
{
"type": "object",
"properties": {
"fileUrl": {
"type": "string",
"format": "url",
"example": "https://importfile.domain.com",
"description": "**Mandatory if fileBody and jsonBody is not defined.** URL of the file to be imported (**no local file**). Possible file formats:\n#### .txt, .csv, .json\n"
},
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 76,
"description": "List Id in which the contacts shall be imported"
},
"description": "**Mandatory if newList is not defined.** Ids of the lists in which the contacts shall be imported. For example, **[2, 4, 7]**.\n"
},
"newList": {
"type": "object",
"properties": {
"folderId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the folder where this new list shall be created. **Mandatory if listName is not empty**\n"
},
"listName": {
"type": "string",
"example": "ContactImport - 2017-05",
"description": "List with listName will be created first and users will be imported in it. **Mandatory if listIds is empty**.\n"
}
},
"description": "To create a new list and import the contacts into it, pass the listName and an optional folderId."
},
"fileBody": {
"type": "string",
"example": "NAME;SURNAME;EMAIL\nSmith;John;john.smith@example.com\nRoger;Ellie;ellie36@example.com",
"description": "**Mandatory if fileUrl and jsonBody is not defined.** CSV content to be imported. Use semicolon to separate multiple attributes. **Maximum allowed file body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of file body size while parsing. Please use fileUrl instead to import bigger files.\n"
},
"jsonBody": {
"type": "array",
"items": {
"type": "object",
"example": {
"email": "ndicky0@ocn.ne.jp",
"attributes": {
"SMS": "33689965433",
"FNAME": "Dicky",
"LNAME": "Noemi",
"COUNTRY": "DE",
"BIRTHDAY": "11/02/1989",
"WHATSAPP": "33689965433",
"PREFERED_COLOR": "BLACK",
"LANDLINE_NUMBER": "33689965433"
}
},
"properties": {
"email": {
"type": "string"
},
"attributes": {
"type": "object",
"description": "List of attributes to be imported",
"additionalProperties": true
}
}
},
"description": "**Mandatory if fileUrl and fileBody is not defined.** JSON content to be imported. **Maximum allowed json body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of json body size while parsing. Please use fileUrl instead to import bigger files.\n"
},
"notifyUrl": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL that will be called once the import process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
},
"smsBlacklist": {
"type": "boolean",
"default": false,
"example": false,
"description": "To blacklist all the contacts for sms"
},
"emailBlacklist": {
"type": "boolean",
"default": false,
"example": false,
"description": "To blacklist all the contacts for email"
},
"disableNotification": {
"type": "boolean",
"default": false,
"example": false,
"description": "To disable email notification"
},
"updateExistingContacts": {
"type": "boolean",
"default": true,
"example": true,
"description": "To facilitate the choice to update the existing contacts"
},
"emptyContactsAttributes": {
"type": "boolean",
"default": false,
"example": true,
"description": "To facilitate the choice to erase any attribute of the existing contacts with empty value. emptyContactsAttributes = true means the empty fields in your import will erase any attribute that currently contain data in Brevo, & emptyContactsAttributes = false means the empty fields will not affect your existing data ( **only available if `updateExistingContacts` set to true **)\n"
}
}
}
requestSmsRecipientExport
{
"type": "object",
"required": [
"recipientsType"
],
"properties": {
"notifyURL": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL that will be called once the export process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
},
"recipientsType": {
"enum": [
"all",
"delivered",
"answered",
"softBounces",
"hardBounces",
"unsubscribed"
],
"type": "string",
"example": "answered",
"description": "Filter the recipients based on how they interacted with the campaign"
}
}
}
scheduleSmtpEmail
{
"type": "object",
"properties": {
"batchId": {
"type": "string",
"example": "5c6cfa04-eed9-42c2-8b5c-6d470d978e9d",
"description": "Batch ID of the batch transactional email scheduled"
},
"messageId": {
"type": "string",
"example": "<201798300811.5787683@relay.domain.com>",
"description": "Message ID of the transactional email scheduled"
},
"messageIds": {
"type": "array",
"items": {
"type": "string",
"description": "version wise message ID's of the transactional emails scheduled"
}
}
}
}
sendReport
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "object",
"required": [
"body",
"to"
],
"properties": {
"to": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "jim.suehan@example.com",
"description": "Email address of the recipient"
},
"description": "Email addresses of the recipients"
},
"body": {
"type": "string",
"example": "Please find attached the report of our last email campaign.",
"description": "Custom text message to be presented in the report email."
}
},
"description": "Custom attributes for the report email."
},
"language": {
"enum": [
"fr",
"es",
"pt",
"it",
"de",
"en"
],
"type": "string",
"default": "fr",
"example": "en",
"description": "Language of email content for campaign report sending."
}
}
}
sendSms
{
"type": "object",
"required": [
"messageId",
"reference"
],
"properties": {
"smsCount": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Count of SMS's to send multiple text messages"
},
"messageId": {
"type": "integer",
"format": "int64",
"example": 1511882900176220
},
"reference": {
"type": "string",
"example": "ab1cde2fgh3i4jklmno"
},
"usedCredits": {
"type": "number",
"format": "float",
"example": 0.7,
"description": "SMS credits used per text message"
},
"remainingCredits": {
"type": "number",
"format": "float",
"example": 82.85,
"description": "Remaining SMS credits of the user"
}
}
}
sendSmtpEmail
{
"type": "object",
"properties": {
"cc": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Ann",
"description": "Name of the recipient in cc. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "ann6533@example.com",
"description": "Email address of the recipient in cc"
}
}
},
"description": "List of email addresses and names (_optional_) of the recipients in cc\n"
},
"to": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Jimmy",
"description": "Name of the recipient. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "jimmy98@example.com",
"description": "Email address of the recipient"
}
}
},
"description": "**Mandatory if messageVersions are not passed, ignored if messageVersions are passed**\nList of email addresses and names (_optional_) of the recipients. For example,\n**[{\"name\":\"Jimmy\", \"email\":\"jimmy98@example.com\"}, {\"name\":\"Joe\", \"email\":\"joe@example.com\"}]**\n"
},
"bcc": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Helen",
"description": "Name of the recipient in bcc. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "helen9766@example.com",
"description": "Email address of the recipient in bcc"
}
}
},
"description": "List of email addresses and names (_optional_) of the recipients in bcc\n"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"example": "tag1"
},
"description": "Tag your emails to find them more easily"
},
"params": {
"type": "object",
"example": {
"FNAME": "Joe",
"LNAME": "Doe"
},
"description": "Pass the set of attributes to customize the template. For example, **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. It's **considered only if template is in New Template Language format**.\n",
"additionalProperties": {}
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the sender from which the emails will be sent. In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email). Mandatory if email is not passed."
},
"name": {
"type": "string",
"example": "Mary from MyShop",
"description": "description: Name of the sender from which the emails will be sent. **Maximum allowed characters are 70**. Applicable only when email is passed.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "no-reply@myshop.com",
"description": "Email of the sender from which the emails will be sent. Mandatory if sender id is not passed."
}
},
"description": "**Mandatory if `templateId` is not passed**. Pass name (_optional_) and email or id of sender from which emails will be sent. **`name` will be ignored if passed along with sender `id`**. For example,\n**{\"name\":\"Mary from MyShop\", \"email\":\"no-reply@myshop.com\"}**\n**{\"id\":2}**\n"
},
"batchId": {
"type": "string",
"example": "5c6cfa04-eed9-42c2-8b5c-6d470d978e9d",
"description": "Valid UUIDv4 batch id to identify the scheduled batches transactional email. If not passed we will create a valid UUIDv4 batch id at our end."
},
"headers": {
"type": "object",
"example": {
"sender.ip": "1.2.3.4",
"idempotencyKey": "abc-123",
"X-Mailin-custom": "some_custom_header"
},
"description": "Pass the set of custom headers (_not the standard headers_) that shall be sent along the mail headers in the original email. **'sender.ip'** header can be set (**only for dedicated ip users**) to mention the IP to be used for sending transactional emails. Headers are allowed in `This-Case-Only` (i.e. words separated by hyphen with first letter of each word in capital letter), they will be converted to such case styling if not in this format in the request payload. For example,\n**{\"sender.ip\":\"1.2.3.4\", \"X-Mailin-custom\":\"some_custom_header\", \"idempotencyKey\":\"abc-123\"}**.\n",
"additionalProperties": {}
},
"replyTo": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Ann",
"description": "Name in reply to. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "ann6533@example.com",
"description": "Email address in reply to"
}
},
"description": "Email (**required**), along with name (_optional_), on which transactional mail recipients will be able to reply back. For example,\n**{\"email\":\"ann6533@example.com\", \"name\":\"Ann\"}**\n"
},
"subject": {
"type": "string",
"example": "Login Email confirmation",
"description": "Subject of the message. **Mandatory if 'templateId' is not passed**\n"
},
"attachment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "url",
"example": "https://attachment.domain.com/myAttachmentFromUrl.jpg",
"description": "Absolute url of the attachment (**no local file**).\n"
},
"name": {
"type": "string",
"example": "myAttachment.png",
"description": "**Required if content is passed**. Name of the attachment\n"
},
"content": {
"type": "string",
"format": "byte",
"example": "b3JkZXIucGRm",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
"description": "Base64 encoded chunk data of the attachment generated on the fly"
}
}
},
"description": "Pass the _absolute URL_ (**no local file**) or the _base64 content_ of the attachment along with the attachment name. **Mandatory if attachment content is passed**. For example,\n**[{\"url\":\"https://attachment.domain.com/myAttachmentFromUrl.jpg\", \"name\":\"myAttachmentFromUrl.jpg\"}, {\"content\":\"base64 example content\", \"name\":\"myAttachmentFromBase64.jpg\"}]**.\nAllowed extensions for attachment file:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub, eps, odt, mp3, m4a, m4v, wma, ogg, flac, wav, aif, aifc, aiff, mp4, mov, avi, mkv, mpeg, mpg, wmv, pkpass and xlsm.\nIf `templateId` is passed and is in New Template Language format then both attachment url and content are accepted. If template is in Old template Language format, then `attachment` is ignored\n"
},
"templateId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the template."
},
"htmlContent": {
"type": "string",
"example": "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>",
"description": "HTML body of the message. **Mandatory if 'templateId' is not passed, ignored if 'templateId' is passed**\n"
},
"scheduledAt": {
"type": "string",
"format": "date-time",
"example": "2022-04-05T12:30:00+02:00",
"description": "UTC date-time on which the email has to schedule (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for scheduling. There can be an expected delay of +5 minutes in scheduled email delivery. **Please note this feature is currently a public beta**."
},
"textContent": {
"type": "string",
"example": "Please confirm your email address by clicking on the link https://text.domain.com",
"description": "Plain Text body of the message. **Ignored if 'templateId' is passed**\n"
},
"messageVersions": {
"type": "array",
"items": {
"type": "object",
"required": [
"to"
],
"properties": {
"cc": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Ann",
"description": "Name of the recipient in cc. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "ann6533@example.com",
"description": "Email address of the recipient in cc"
}
}
},
"description": "List of email addresses and names (_optional_) of the recipients in cc\n"
},
"to": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Jimmy",
"description": "Name of the recipient. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "jimmy98@example.com",
"description": "Email address of the recipient"
}
}
},
"description": "List of email addresses and names (_optional_) of the recipients. For example,\n**[{\"name\":\"Jimmy\", \"email\":\"jimmy98@example.com\"}, {\"name\":\"Joe\", \"email\":\"joe@example.com\"}]**\n"
},
"bcc": {
"type": "array",
"items": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Helen",
"description": "Name of the recipient in bcc. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "helen9766@example.com",
"description": "Email address of the recipient in bcc"
}
}
},
"description": "List of email addresses and names (_optional_) of the recipients in bcc\n"
},
"params": {
"type": "object",
"example": {
"FNAME": "Joe",
"LNAME": "Doe"
},
"description": "Pass the set of attributes to customize the template. For example, **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. It's **considered only if template is in New Template Language format**.\n",
"additionalProperties": {}
},
"replyTo": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Ann",
"description": "Name in reply to. **Maximum allowed characters are 70**.\n"
},
"email": {
"type": "string",
"format": "email",
"example": "ann6533@example.com",
"description": "Email address in reply to"
}
},
"description": "Email (**required**), along with name (_optional_), on which transactional mail recipients will be able to reply back. For example,\n**{\"email\":\"ann6533@example.com\", \"name\":\"Ann\"}**\n"
},
"subject": {
"type": "string",
"example": "Login Email confirmation",
"description": "Custom subject specific to message version\n"
},
"htmlContent": {
"type": "string",
"example": "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>",
"description": "HTML body of the message. **Mandatory if 'templateId' is not passed, ignored if 'templateId' is passed**\n"
},
"textContent": {
"type": "string",
"example": "Please confirm your email address by clicking on the link https://text.domain.com",
"description": "Plain Text body of the message. **Ignored if 'templateId' is passed**\n"
}
}
},
"description": "You can customize and send out multiple versions of a mail. **templateId** can be customized only if global parameter contains templateId. **htmlContent and textContent** can be customized only if any of the two, htmlContent or textContent, is present in global parameters. Some global parameters such as **to(mandatory), bcc, cc, replyTo, subject** can also be customized specific to each version.\nTotal number of recipients in one API request must not exceed 2000. However, you can still pass upto 99 recipients maximum in one message version.\nThe size of individual params in all the messageVersions shall not exceed **100 KB** limit and that of cumulative params shall not exceed **1000 KB**.\nYou can follow this **step-by-step guide** on how to use **messageVersions** to batch send emails - **https://developers.brevo.com/docs/batch-send-transactional-emails**\n"
}
}
}
sendTestEmail
{
"type": "object",
"properties": {
"emailTo": {
"type": "array",
"items": {
"type": "string",
"format": "email",
"example": "helen.jurger@example.com",
"description": "Email addres of the recipient"
},
"description": "List of the email addresses of the recipients whom you wish to send the test mail.\n_If left empty, the test mail will be sent to your entire test list. You can not send more than 50 test emails per day_.\n"
}
}
}
sendTestSms
{
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"example": "33689965433",
"description": "Mobile number of the recipient with the country code. This number **must belong to one of your contacts in Brevo account and must not be blacklisted**\n"
}
}
}
sendTransacSms
{
"type": "object",
"required": [
"content",
"recipient",
"sender"
],
"properties": {
"tag": {
"type": "string",
"example": "accountValidation",
"description": "Tag of the message"
},
"type": {
"enum": [
"transactional",
"marketing"
],
"type": "string",
"default": "transactional",
"example": "marketing",
"description": "Type of the SMS. Marketing SMS messages are those sent typically with marketing content. Transactional SMS messages are sent to individuals and are triggered in response to some action, such as a sign-up, purchase, etc."
},
"sender": {
"type": "string",
"example": "MyShop",
"maxLength": 15,
"description": "Name of the sender. **The number of characters is limited to 11 for alphanumeric characters and 15 for numeric characters**\n"
},
"webUrl": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "Webhook to call for each event triggered by the message (delivered etc.)"
},
"content": {
"type": "string",
"example": "Enter this code:CCJJG8 to validate your account",
"description": "Content of the message. If more than **160 characters** long, will be sent as multiple text messages\n"
},
"recipient": {
"type": "string",
"example": "33689965433",
"description": "Mobile number to send SMS with the country code"
},
"unicodeEnabled": {
"type": "boolean",
"default": false,
"example": true,
"description": "Format of the message. It indicates whether the content should be treated as unicode or not.\n"
},
"organisationPrefix": {
"type": "string",
"example": "MyCompany",
"description": "A recognizable prefix will ensure your audience knows who you are. Recommended by U.S. carriers. This will be added as your Brand Name before the message content. **Prefer verifying maximum length of 160 characters including this prefix in message content to avoid multiple sending of same sms.**"
}
}
}
sendWhatsappMessageTemplate
{
"type": "object",
"required": [
"senderNumber",
"templateId",
"contactNumbers"
],
"properties": {
"params": {
"type": "object",
"example": {
"FNAME": "Joe",
"LNAME": "Doe"
},
"description": "Pass the set of attributes to customize the template. For example, {\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}."
},
"templateId": {
"type": "integer",
"example": 123,
"description": "ID of the template to send"
},
"senderNumber": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
},
"contactNumbers": {
"type": "array",
"items": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
},
"description": "List of phone numbers of the contacts"
}
}
}
sendWhatsappMessageText
{
"type": "object",
"required": [
"senderNumber",
"contactNumbers",
"authType",
"text"
],
"properties": {
"text": {
"type": "string",
"example": "Hi! There i am a message",
"description": "Text to be sent as message body (will be overridden if templateId is passed in the same request)"
},
"senderNumber": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
},
"contactNumbers": {
"type": "array",
"items": {
"type": "string",
"format": "mobile",
"example": 919876543210,
"description": "WhatsApp Number with country code. Example, 85264318721"
},
"description": "List of phone numbers of the contacts"
}
}
}
subAccountAppsToggleRequest
{
"type": "object",
"example": {
"meetings": true,
"web-push": false,
"whatsapp": true,
"landing-pages": true,
"sms-campaigns": false
},
"properties": {
"crm": {
"type": "boolean",
"description": "Set this field to enable or disable Sales CRM on the sub-account"
},
"inbox": {
"type": "boolean",
"description": "Set this field to enable or disable Inbox on the sub-account / Not applicable on ENTv2"
},
"meetings": {
"type": "boolean",
"description": "Set this field to enable or disable Meetings on the sub-account"
},
"web-push": {
"type": "boolean",
"description": "Set this field to enable or disable Web Push on the sub-account"
},
"whatsapp": {
"type": "boolean",
"description": "Set this field to enable or disable Whatsapp campaigns on the sub-account"
},
"automation": {
"type": "boolean",
"description": "Set this field to enable or disable Automation on the sub-account"
},
"facebook-ads": {
"type": "boolean",
"description": "Set this field to enable or disable Facebook ads on the sub-account"
},
"conversations": {
"type": "boolean",
"description": "Set this field to enable or disable Conversations on the sub-account"
},
"landing-pages": {
"type": "boolean",
"description": "Set this field to enable or disable Landing pages on the sub-account"
},
"sms-campaigns": {
"type": "boolean",
"description": "Set this field to enable or disable SMS Marketing on the sub-account"
},
"email-campaigns": {
"type": "boolean",
"description": "Set this field to enable or disable Email Campaigns on the sub-account"
},
"transactional-sms": {
"type": "boolean",
"description": "Set this field to enable or disable Transactional SMS on the sub-account"
},
"transactional-emails": {
"type": "boolean",
"description": "Set this field to enable or disable Transactional Email on the sub-account"
}
},
"description": "List of enable/disable applications on the sub-account"
}
subAccountDetailsResponse
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the sub-account user"
},
"email": {
"type": "string",
"description": "Email id of the sub-account organization"
},
"planInfo": {
"type": "object",
"properties": {
"credits": {
"type": "object",
"properties": {
"sms": {
"type": "integer",
"format": "int64",
"description": "SMS credits remaining on the sub-account"
},
"emails": {
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"format": "int64",
"description": "Quantity of email messaging limits provided"
},
"remaining": {
"type": "integer",
"format": "int64",
"description": "Available email messaging limits for use"
}
},
"description": "Email credits remaining on the sub-account"
}
},
"description": "Credits quota and remaining credits on the sub-account"
},
"features": {
"type": "object",
"properties": {
"inbox": {
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"format": "int64",
"description": "Quantity of inbox provided"
},
"remaining": {
"type": "integer",
"format": "int64",
"description": "Available inboxes for use"
}
},
"description": "Inbox details / Not available on ENTv2"
},
"users": {
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"format": "int64",
"description": "Quantity of multi-account's provided"
},
"remaining": {
"type": "integer",
"format": "int64",
"description": "Available multi-accounts for use"
}
},
"description": "Multi-account details"
},
"landingPage": {
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"format": "int64",
"description": "Quantity of landing pages provided"
},
"remaining": {
"type": "integer",
"format": "int64",
"description": "Available landing pages for use"
}
},
"description": "Landing page details / Not available on ENTv2"
}
},
"description": "Features available on the sub-account"
},
"planType": {
"type": "string",
"description": "type of the plan"
}
},
"description": "Sub-account plan details"
},
"companyName": {
"type": "string",
"description": "Sub-account company name"
}
}
}
subAccountUpdatePlanRequest
{
"type": "object",
"example": {
"credits": {
"email": 5000
},
"features": {
"inbox": 10,
"users": 15,
"landingPage": 20
}
},
"properties": {
"credits": {
"type": "object",
"properties": {
"email": {
"type": "integer",
"format": "int64",
"description": "Number of email credits"
}
},
"description": "Credit details to update"
},
"features": {
"type": "object",
"properties": {
"inbox": {
"type": "integer",
"format": "int64",
"description": "Number of inboxes / Not required on ENTv2"
},
"users": {
"type": "integer",
"format": "int64",
"description": "Number of multi-users"
},
"landingPage": {
"type": "integer",
"format": "int64",
"description": "Number of landing pages / Not required on ENTv2"
}
},
"description": "Features details to update"
}
},
"description": "Details of the plan to be changed"
}
subAccountsResponse
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Total number of subaccounts"
},
"subAccounts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"companyName",
"active",
"createdAt"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "id of the sub-account"
},
"active": {
"type": "boolean",
"description": "Whether the sub-account is active or not"
},
"createdAt": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the sub-account was created"
},
"companyName": {
"type": "string",
"description": "Name of the sub-account company"
}
}
}
}
}
}
updateAttribute
{
"type": "object",
"properties": {
"value": {
"type": "string",
"example": "COUNT[BLACKLISTED,BLACKLISTED,<,NOW()]",
"description": "Value of the attribute to update. **Use only if the attribute's category is 'calculated' or 'global'**\n"
},
"enumeration": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"example": "Men",
"description": "Label of the value"
},
"value": {
"type": "integer",
"example": 1,
"description": "Id of the value"
}
}
},
"description": "List of the values and labels that the attribute can take. **Use only if the attribute's category is \"category\"**. For example,\n**[{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}]**\n"
}
}
}
updateBatchContacts
{
"type": "object",
"properties": {
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 31,
"description": "id of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
},
"sms": {
"type": "string",
"example": "+91xxxxxxxxxx",
"description": "SMS of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
},
"email": {
"type": "string",
"format": "email",
"example": "elly@example.com",
"description": "Email address of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
},
"ext_id": {
"type": "string",
"example": "UpdateExternalId",
"description": "Pass your own Id to update ext_id of a contact."
},
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 65,
"description": "Id of the list to add the contact to"
},
"description": "Ids of the lists to add the contact to"
},
"attributes": {
"type": "object",
"example": {
"EMAIL": "newemail@domain.com",
"FNAME": "Ellie",
"LNAME": "Roger"
},
"description": "Pass the set of attributes to be updated. **These attributes must be present in your account**. To update existing email address of a contact with the new one please pass EMAIL in attribtes. For example, **{ \"EMAIL\":\"newemail@domain.com\", \"FNAME\":\"Ellie\", \"LNAME\":\"Roger\"}**.\nKeep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in **SMS** field should be passed with proper country code. For example: **{\"SMS\":\"+91xxxxxxxxxx\"} or {\"SMS\":\"0091xxxxxxxxxx\"}**\n",
"additionalProperties": {}
},
"unlinkListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 36,
"description": "Id of the list to remove the contact from"
},
"description": "Ids of the lists to remove the contact from"
},
"smsBlacklisted": {
"type": "boolean",
"example": true,
"description": "Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)"
},
"emailBlacklisted": {
"type": "boolean",
"example": false,
"description": "Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)"
},
"smtpBlacklistSender": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"description": "transactional email forbidden sender for contact. Use only for email Contact"
}
}
},
"description": "List of contacts to be updated"
}
}
}
updateBatchContactsModel
{
"type": "object",
"properties": {
"failureIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"description": "IDs which are not updated"
},
"example": 34
},
"successIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"description": "IDs which are successfully updated"
},
"example": 12
}
}
}
updateCampaignStatus
{
"type": "object",
"example": "draft",
"properties": {
"status": {
"enum": [
"suspended",
"archive",
"darchive",
"sent",
"queued",
"replicate",
"replicateTemplate",
"draft"
],
"type": "string",
"description": "Note:- **replicateTemplate** status will be available **only for template type campaigns.**\n"
}
},
"description": "Status of the campaign"
}
updateChild
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "josh.cruise@example.com",
"description": "New Email address to update the child account"
},
"lastName": {
"type": "string",
"example": "Cruise",
"description": "New Last name to use to update the child account"
},
"password": {
"type": "string",
"format": "password",
"example": "Pa55w0rd65",
"description": "New password for the child account to login"
},
"firstName": {
"type": "string",
"example": "Josh",
"description": "New First name to use to update the child account"
},
"companyName": {
"type": "string",
"example": "Your Company",
"description": "New Company name to use to update the child account"
}
}
}
updateChildAccountStatus
{
"type": "object",
"properties": {
"smsCampaign": {
"type": "boolean",
"example": true,
"description": "Status of SMS Campaign Platform activation for your account (true=enabled, false=disabled)"
},
"transactionalSms": {
"type": "boolean",
"example": false,
"description": "Status of Transactional SMS Platform activation for your account (true=enabled, false=disabled)"
},
"transactionalEmail": {
"type": "boolean",
"example": false,
"description": "Status of Transactional Email Platform activation for your account (true=enabled, false=disabled)"
},
"marketingAutomation": {
"type": "boolean",
"example": true,
"description": "Status of Marketing Automation Platform activation for your account (true=enabled, false=disabled)"
}
}
}
updateChildDomain
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"example": "myupdateddomain.com",
"description": "Value for the sender domain that will replace the existing domain"
}
}
}
updateContact
{
"type": "object",
"properties": {
"ext_id": {
"type": "string",
"example": "updateExternalId",
"description": "Pass your own Id to update ext_id of a contact."
},
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 65,
"description": "Id of the list to add the contact to"
},
"description": "Ids of the lists to add the contact to"
},
"attributes": {
"type": "object",
"example": {
"EMAIL": "newemail@domain.com",
"FNAME": "Ellie",
"LNAME": "Roger"
},
"description": "Pass the set of attributes to be updated. **These attributes must be present in your account**. To update existing email address of a contact with the new one please pass EMAIL in attributes. For example, **{ \"EMAIL\":\"newemail@domain.com\", \"FNAME\":\"Ellie\", \"LNAME\":\"Roger\"}**.\nThe attribute's parameter should be passed in capital letter while updating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored. Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in **SMS** field should be passed with proper country code. For example: **{\"SMS\":\"+91xxxxxxxxxx\"} or {\"SMS\":\"0091xxxxxxxxxx\"}**\n",
"additionalProperties": {}
},
"unlinkListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 36,
"description": "Id of the list to remove the contact from"
},
"description": "Ids of the lists to remove the contact from"
},
"smsBlacklisted": {
"type": "boolean",
"example": true,
"description": "Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)"
},
"emailBlacklisted": {
"type": "boolean",
"example": false,
"description": "Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)"
},
"smtpBlacklistSender": {
"type": "array",
"items": {
"type": "string",
"format": "email"
},
"description": "transactional email forbidden sender for contact. Use only for email Contact"
}
}
}
updateEmailCampaign
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"example": "Newsletter",
"description": "Tag of the campaign"
},
"name": {
"type": "string",
"example": "Newsletter - May 2017",
"description": "Name of the campaign"
},
"footer": {
"type": "string",
"example": "[DEFAULT_FOOTER]",
"description": "Footer of the email campaign"
},
"header": {
"type": "string",
"example": "[DEFAULT_HEADER]",
"description": "Header of the email campaign"
},
"params": {
"type": "object",
"example": {
"FNAME": "Joe",
"LNAME": "Doe"
},
"description": "Pass the set of attributes to customize the type classic campaign. For example: **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. Only available if **type** is **classic**. It's considered only if campaign is in _New Template Language format_. The New Template Language is dependent on the values of **subject, htmlContent/htmlUrl, sender.name & toField**\n",
"additionalProperties": {}
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Select the sender for the campaign on the basis of sender id. **In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)**.\n"
},
"name": {
"type": "string",
"example": "Mary from MyShop",
"description": "Sender Name from which the campaign emails are sent"
},
"email": {
"type": "string",
"format": "email",
"example": "newsletter@myshop.com",
"description": "Sender email from which the campaign emails are sent"
}
},
"description": "Sender details including id or email and name (optional). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
},
"htmlUrl": {
"type": "string",
"format": "url",
"example": "https://html.domain.com",
"description": "Url which contents the body of the email message. **REQUIRED if htmlContent is empty**\n"
},
"replyTo": {
"type": "string",
"format": "email",
"example": "support@myshop.com",
"description": "Email on which campaign recipients will be able to reply to"
},
"subject": {
"type": "string",
"example": "Discover the New Collection !",
"description": "Subject of the campaign"
},
"toField": {
"type": "string",
"example": "{FNAME} {LNAME}",
"description": "To personalize the **To** Field. If you want to include the first\nname and last name of your recipient, add **{FNAME} {LNAME}**. These contact\nattributes must already exist in your Brevo account. If input parameter\n**params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n"
},
"subjectA": {
"type": "string",
"example": "Discover the New Collection!",
"description": "Subject A of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
},
"subjectB": {
"type": "string",
"example": "Want to discover the New Collection?",
"description": "Subject B of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
},
"abTesting": {
"type": "boolean",
"default": false,
"example": true,
"description": "Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. **subjectA, subjectB, splitRule, winnerCriteria & winnerDelay** will be considered when abTesting is set to true.\nsubjectA & subjectB are mandatory together & subject if passed is ignored. **Can be set to true only if sendAtBestTime is false**.\nYou will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B\n"
},
"recurring": {
"type": "boolean",
"default": false,
"example": false,
"description": "**FOR TRIGGER ONLY !** Type of trigger campaign.recurring = false means contact can receive the same Trigger campaign only once, & recurring = true means contact can receive the same Trigger campaign several times\n"
},
"splitRule": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 50,
"minimum": 1,
"description": "Add the size of your test groups. **Mandatory if abTesting = true & 'recipients' is passed**. We'll send version A and B to a random sample of recipients, and then the winning version to everyone else\n"
},
"recipients": {
"type": "object",
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 32
},
"description": "Lists Ids to send the campaign to. **Campaign should only be updated with listIds if listIds were used to create it. REQUIRED if already not present in campaign and scheduledAt is not empty**\n"
},
"segmentIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 23
},
"description": "**Mandatory if listIds are not used. Campaign should only be updated with segmentIds if segmentIds were used to create it.** Segment ids to send the campaign to.\n"
},
"exclusionListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 8
},
"description": "List ids which have to be excluded from a campaign"
}
},
"description": "Segment ids and List ids to include/exclude from campaign"
},
"htmlContent": {
"type": "string",
"example": "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>",
"description": "Body of the message (HTML version). If the campaign is designed using Drag & Drop editor via HTML content, then the design page will not have Drag & Drop editor access for that campaign. **REQUIRED if htmlUrl is empty**\n"
},
"previewText": {
"type": "string",
"example": "Thanks for your order!",
"description": "Preview text or preheader of the email campaign"
},
"scheduledAt": {
"type": "string",
"example": "2017-06-01T10:30:00.000Z",
"description": "UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ).\n**Prefer to pass your timezone in date-time format for accurate result.**\nIf sendAtBestTime is set to true, your campaign will be sent according\nto the date passed (ignoring the time part).\n"
},
"utmCampaign": {
"type": "string",
"example": "NL_05_2017",
"description": "Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed"
},
"winnerDelay": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 168,
"minimum": 1,
"description": "Choose the duration of the test in hours. Maximum is 7 days, pass 24*7 = 168 hours. The winning version will be sent at the end of the test. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerDelay` is ignored if passed\n"
},
"increaseRate": {
"type": "integer",
"format": "int64",
"example": 70,
"maximum": 100,
"minimum": 0,
"description": "Set a percentage increase rate for warming up your ip. We recommend you set the increase rate to 30% per day. If you want to send the same number of emails every day, set the daily increase value to 0%.\n"
},
"initialQuota": {
"type": "integer",
"format": "int64",
"example": 3000,
"description": "Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.\n"
},
"mirrorActive": {
"type": "boolean",
"example": true,
"description": "Status of mirror links in campaign. mirrorActive = false means mirror links are deactivated, & mirrorActive = true means mirror links are activated, in the campaign"
},
"updateFormId": {
"type": "string",
"example": "6313436b9ad40e23b371d095",
"description": "**Mandatory if templateId is used containing the {{ update_profile }} tag**. Enter an update profile form id. The form id is a 24 digit alphanumeric id that can be found in the URL when editing the form.\n"
},
"attachmentUrl": {
"type": "string",
"format": "url",
"example": "https://attachment.domain.com",
"description": "Absolute url of the attachment (no local file).\nExtension allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps'\n"
},
"ipWarmupEnable": {
"type": "boolean",
"default": false,
"example": true,
"description": "**Available for dedicated ip clients**. Set this to true if you wish to warm up your ip.\n"
},
"sendAtBestTime": {
"type": "boolean",
"example": true,
"description": "Set this to true if you want to send your campaign at best time.\nNote:- **if true, warmup ip will be disabled.**\n"
},
"winnerCriteria": {
"enum": [
"open",
"click"
],
"type": "string",
"example": "open",
"description": "Choose the metrics that will determinate the winning version. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerCriteria` is ignored if passed\n"
},
"unsubscriptionPageId": {
"type": "string",
"example": "62cbb7fabbe85021021aac52",
"description": "Enter an unsubscription page id. The page id is a 24 digit alphanumeric id that can be found in the URL when editing the page.\n"
},
"inlineImageActivation": {
"type": "boolean",
"default": false,
"example": true,
"description": "Status of inline image. inlineImageActivation = false means image can’t be embedded, & inlineImageActivation = true means image can be embedded, in the email.\nYou cannot send a campaign of more than **4MB** with images embedded in the email. Campaigns with the images embedded in the email _must be sent to less than 5000 contacts_.\n"
}
}
}
updateExternalFeed
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the feed"
},
"name": {
"type": "string",
"example": "New feed",
"description": "Name of the feed"
},
"cache": {
"type": "boolean",
"default": false,
"example": true,
"description": "Toggle caching of feed url response"
},
"token": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"description": "Token for authType `token`"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "userId",
"description": "Name of the header"
},
"value": {
"type": "string",
"example": "user12345",
"description": "Value of the header"
}
}
},
"example": [
{
"name": "header1",
"value": "value1"
},
{
"name": "header2",
"value": "value2"
}
],
"description": "Custom headers for the feed"
},
"authType": {
"enum": [
"basic",
"token",
"noAuth"
],
"type": "string",
"description": "Auth type of the feed:\n * `basic`\n * `token`\n * `noAuth`\n"
},
"password": {
"type": "string",
"example": "password",
"description": "Password for authType `basic`"
},
"username": {
"type": "string",
"example": "user",
"description": "Username for authType `basic`"
},
"maxRetries": {
"type": "integer",
"default": 5,
"example": 5,
"maximum": 5,
"minimum": 0,
"description": "Maximum number of retries on the feed url"
}
}
}
updateList
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Magento Customer - ES",
"description": "Name of the list. Either of the two parameters (name, folderId) can be updated at a time."
},
"folderId": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "Id of the folder in which the list is to be moved. Either of the two parameters (name, folderId) can be updated at a time."
}
}
}
updateSender
{
"type": "object",
"properties": {
"ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"domain",
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "123.98.689.7",
"description": "Dedicated IP available in your account"
},
"domain": {
"type": "string",
"example": "mycompany.com",
"description": "Domain of the IP"
},
"weight": {
"type": "integer",
"format": "int64",
"example": 50,
"maximum": 100,
"minimum": 1,
"description": "Weight to apply to the IP. Sum of all IP weights must be 100. Should be passed for either ALL or NONE of the IPs. If it's not passed, the sending will be equally balanced on all IPs."
}
}
},
"description": "**Only in case of dedicated IP**. IPs to associate to the sender. If passed, will replace all the existing IPs.\n"
},
"name": {
"type": "string",
"example": "Newsletter",
"description": "From Name to update the sender"
},
"email": {
"type": "string",
"format": "email",
"example": "newsletter@mycompany.com",
"description": "From Email to update the sender"
}
}
}
updateSmsCampaign
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Spring Promo Code",
"description": "Name of the campaign"
},
"sender": {
"type": "string",
"example": "MyShop",
"maxLength": 15,
"description": "Name of the sender. **The number of characters is limited to 11 for alphanumeric characters and 15 for numeric characters**\n"
},
"content": {
"type": "string",
"example": "Get a discount by visiting our NY store and saying : Happy Spring!",
"description": "Content of the message. The **maximum characters used per SMS is 160**, if used more than that, it will be counted as more than one SMS\n"
},
"recipients": {
"type": "object",
"required": [
"listIds"
],
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 54,
"description": "List Id to send the campaign to"
},
"description": "Lists Ids to send the campaign to. **REQUIRED if scheduledAt is not empty**\n"
},
"exclusionListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 15,
"description": "List Id to exclude from the campaign"
},
"description": "List ids which have to be excluded from a campaign"
}
}
},
"scheduledAt": {
"type": "string",
"example": "2017-05-05T10:30:00.000Z",
"description": "UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**\n"
},
"unicodeEnabled": {
"type": "boolean",
"default": false,
"example": true,
"description": "Format of the message. It indicates whether the content should be treated as unicode or not.\n"
},
"organisationPrefix": {
"type": "string",
"example": "MyCompany",
"description": "A recognizable prefix will ensure your audience knows who you are. Recommended by U.S. carriers. This will be added as your Brand Name before the message content. **Prefer verifying maximum length of 160 characters including this prefix in message content to avoid multiple sending of same sms.**"
},
"unsubscribeInstruction": {
"type": "string",
"example": "send Stop if you want to unsubscribe.",
"description": "Instructions to unsubscribe from future communications. Recommended by U.S. carriers. Must include **STOP** keyword. This will be added as instructions after the end of message content. **Prefer verifying maximum length of 160 characters including this instructions in message content to avoid multiple sending of same sms.**"
}
}
}
updateSmtpTemplate
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"example": "OrderConfirmation",
"description": "Tag of the template"
},
"sender": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Select the sender for the template on the basis of sender id.\n_In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.\n"
},
"name": {
"type": "string",
"example": "Mary from MyShop",
"description": "Name of the sender"
},
"email": {
"type": "string",
"format": "email",
"example": "contact@myshop.com",
"description": "Email of the sender"
}
},
"description": "Sender details including id or email and name (_optional_). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
},
"htmlUrl": {
"type": "string",
"format": "url",
"example": "https://html.domain.com",
"description": "**Required if htmlContent is empty**. URL to the body of the email (HTML)\n"
},
"replyTo": {
"type": "string",
"format": "email",
"example": "support@myshop.com",
"description": "Email on which campaign recipients will be able to reply to"
},
"subject": {
"type": "string",
"example": "Thanks for your purchase !",
"description": "Subject of the email"
},
"toField": {
"type": "string",
"example": "{FNAME} {LNAME}",
"description": "To personalize the **To** Field. If you want to include the first name and last name of your recipient, add **{FNAME} {LNAME}**. These contact attributes must already exist in your Brevo account. If input parameter **params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n"
},
"isActive": {
"type": "boolean",
"example": true,
"description": "Status of the template. isActive = false means template is inactive, isActive = true means template is active"
},
"htmlContent": {
"type": "string",
"example": "The order n°xxxxx has been confirmed. Thanks for your purchase",
"description": "**Required if htmlUrl is empty**. If the template is designed using Drag & Drop editor via HTML content, then the design page will not have Drag & Drop editor access for that template. Body of the message (HTML must have more than 10 characters)\n"
},
"templateName": {
"type": "string",
"example": "Order Confirmation - EN",
"description": "Name of the template"
},
"attachmentUrl": {
"type": "string",
"format": "url",
"example": "https://attachment.domain.com",
"description": "Absolute url of the attachment (**no local file**). Extensions allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps\n"
}
}
}
updateUserResponse
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"example": "OK",
"description": "Status of the API operation."
},
"invoice_id": {
"type": "string",
"items": {
"type": "string",
"example": "TEST-ID"
},
"description": "Invoice id"
},
"credit_notes": {
"type": "array",
"items": {
"type": "string",
"example": "TEST-123"
},
"description": "Credit note"
}
}
}
updateWebhook
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "url",
"example": "http://requestb.in/173lyyx1",
"description": "URL of the webhook"
},
"auth": {
"type": "object",
"example": {
"type": "bearer",
"token": "test-auth-token1234"
},
"description": "Authentication header to be send with the webhook requests"
},
"domain": {
"type": "string",
"example": "example.com",
"description": "Inbound domain of webhook, used in case of event type `inbound`"
},
"events": {
"type": "array",
"items": {
"enum": [
"sent",
"hardBounce",
"softBounce",
"blocked",
"spam",
"delivered",
"request",
"click",
"invalid",
"deferred",
"opened",
"uniqueOpened",
"unsubscribed",
"listAddition",
"contactUpdated",
"contactDeleted",
"inboundEmailProcessed"
],
"type": "string",
"example": "hardBounce"
},
"description": "- Events triggering the webhook. Possible values for **Transactional** type webhook:\n#### `sent` OR `request`, `delivered`, `hardBounce`, `softBounce`, `blocked`, `spam`, `invalid`, `deferred`, `click`, `opened`, `uniqueOpened` and `unsubscribed`\n- Possible values for **Marketing** type webhook:\n#### `spam`, `opened`, `click`, `hardBounce`, `softBounce`, `unsubscribed`, `listAddition` & `delivered`\n- Possible values for **Inbound** type webhook:\n#### `inboundEmailProcessed`\n"
},
"batched": {
"type": "boolean",
"example": true,
"description": "Batching configuration of the webhook, we send batched webhooks if its true"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"example": {
"key": "cf-secret",
"value": "test-header-value"
},
"description": "Headers send with the requests to the webhook"
}
},
"description": {
"type": "string",
"example": "Webhook triggered on contact hardbounce",
"description": "Description of the webhook"
}
}
}
updateWhatsAppCampaign
{
"type": "object",
"properties": {
"recipients": {
"type": "object",
"properties": {
"listIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 32
},
"description": "**Mandatory if scheduledAt is not empty**. List Ids to send the campaign to\n"
},
"segments": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 23
},
"description": "**Mandatory if listIds are not used**. Segment ids to send the campaign to.\n"
},
"excludedListIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"example": 8
},
"description": "List ids to exclude from the campaign"
}
},
"description": "Segment ids and List ids to include/exclude from campaign"
},
"campaignName": {
"type": "string",
"example": "Test WhatsApp",
"description": "Name of the campaign"
},
"rescheduleFor": {
"type": "string",
"example": "2017-06-01T10:30:00.000Z",
"description": "Reschedule the sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of campaign. **Prefer to pass your timezone in date-time format for accurate result.For example: **2017-06-01T12:30:00+02:00**\nUse this field to update the scheduledAt of any existing draft or scheduled WhatsApp campaign.\n"
},
"campaignStatus": {
"enum": [
"scheduled",
"suspended"
],
"type": "string",
"default": "scheduled",
"example": "scheduled",
"description": "Status of the campaign"
}
}
}
uploadImageModel
{
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "https://img.mailinblue.com/100000/images/rnb/original/62casdase8wewq9df1c2f27c.jpeg",
"description": "URL of the image uploaded"
}
}
}
uploadImageToGallery
{
"type": "object",
"required": [
"imageUrl"
],
"properties": {
"name": {
"type": "string",
"example": "nature.jpg",
"description": "Name of the image."
},
"imageUrl": {
"type": "string",
"example": "https://somedomain.com/image1.jpg",
"description": "The absolute url of the image (**no local file**). Maximum allowed size for image is **2MB**.\nAllowed extensions for images are:\n#### jpeg, jpg, png, bmp, gif.\n"
}
}
}
variablesItems
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "FIRSTNAME"
},
"default": {
"type": "string",
"example": "INVALID_HEADER"
},
"datatype": {
"type": "string",
"example": "text"
}
}
}