openapi: 3.2.0 info: title: Ecommerce API version: 1.0.0 servers: - url: https://api.brevo.com/v3 description: https://api.brevo.com/v3 tags: - name: ecommerce paths: /orders/status: post: operationId: createOrder summary: Managing the status of the order description: Manages the transactional status of the order tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '204': description: Order Event posted content: application/json: schema: type: object properties: {} '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateOrderRequestBadRequestError' requestBody: content: application/json: schema: $ref: '#/components/schemas/order' /orders/status/batch: post: operationId: createBatchOrder summary: Create orders in batch description: Create multiple orders at one time instead of one order at a time tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '202': description: batch id created content: application/json: schema: $ref: '#/components/schemas/Ecommerce_createBatchOrder_Response_202' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateBatchOrderRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: historical: type: boolean default: true description: 'Defines whether 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.' notifyUrl: type: string description: Webhook URL to receive the status of the batch request orders: type: array items: $ref: '#/components/schemas/order' description: array of order objects required: - orders /orders: get: operationId: getOrders summary: Get order details description: Get all the orders tags: - ecommerce parameters: - name: limit in: query description: Number of documents per page required: false schema: type: integer format: int64 default: 50 - name: offset in: query description: Index of the first document in the page required: false schema: type: integer format: int64 default: 0 - name: sort in: query description: Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed required: false schema: $ref: '#/components/schemas/OrdersGetParametersSort' default: desc - name: modifiedSince in: query description: '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.** ' required: false schema: type: string - name: createdSince in: query description: '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.** ' required: false schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: orders fetched successfully content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getOrders_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetOrdersRequestBadRequestError' /products: post: operationId: createUpdateProduct summary: Create/Update a product description: 'Create a new ecommerce product or update an existing one, identified by the mandatory `id` field. When `updateEnabled` is `false` (the default), the endpoint inserts a new product and returns `201`; if the product ID already exists, a `400` error is returned. When `updateEnabled` is `true`, the endpoint performs an upsert, returning `201` for a new product or `204` for an update. The `name` field is mandatory for creation but optional for updates. Product images are downloaded, validated (max 5 MB, formats: jpeg, jpg, png, bmp, gif, webp), and re-hosted on S3. The `metaInfo` object supports up to 20 keys with a cumulative size limit of approximately 1000 KB.' tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '201': description: Product created content: application/json: schema: $ref: '#/components/schemas/Ecommerce_createUpdateProduct_Response_201' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateUpdateProductRequestBadRequestError' requestBody: description: Values to create/update a product content: application/json: schema: type: object properties: brand: type: string description: Brand of the product categories: type: array items: type: string description: Category ID-s 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 description: type: string description: Description of the product id: type: string format: string description: Product ID for which you requested the details imageUrl: type: string format: string description: Absolute URL to the cover image of the product isDeleted: type: boolean description: product deleted from the shop's database metaInfo: type: object additionalProperties: $ref: '#/components/schemas/ProductsPostRequestBodyContentApplicationJsonSchemaMetaInfo' description: Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**. name: type: string description: '**Mandatory in case of creation**. Name of the product, as displayed in the shop' parentId: type: string format: string description: Parent product id of the product price: type: string title: float description: Price of the product alternativePrice: type: string title: float description: Alternative price of the product sku: type: string format: string description: Product identifier from the shop stock: type: number format: double description: Current stock value of the product from the shop's database updateEnabled: type: boolean default: false description: Facilitate to update the existing product in the same request (updateEnabled = true) url: type: string format: string description: URL to the product required: - id - name get: operationId: getProducts summary: Return all your products description: Retrieve a paginated list of all ecommerce products stored in your Brevo account. Results are sorted by creation date in descending order by default, and can be filtered by product IDs, name (minimum 3 characters), price range, category IDs, modification date, creation date, or deletion status. Use the `search` parameter to query across SKU, name, and ID simultaneously — results are prioritized as exact SKU match > SKU prefix match > name match > ID match. Pagination defaults to 50 products per page (maximum 1000), and the response includes a `count` field with the total number of matching products. tags: - ecommerce parameters: - name: limit in: query description: Number of documents per page required: false schema: type: integer format: int64 default: 50 - name: offset in: query description: Index of the first document in the page required: false schema: type: integer format: int64 default: 0 - name: sort in: query description: Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed required: false schema: $ref: '#/components/schemas/ProductsGetParametersSort' default: desc - name: ids in: query description: Filter by product ids required: false schema: type: array items: type: string - name: search in: query description: 'Search products simultaneously across SKU, name, and ID fields. Results are returned in the following priority order: **exact SKU match** > **SKU prefix match** > **name match** > **ID match**. For example, `?search=123` on products with `{sku: "123"}` and `{sku: "123456"}` returns the exact SKU match first.' required: false schema: type: string - name: name in: query description: Filter by product name, minimum 3 characters should be present for search. required: false schema: type: string - name: price[lte] in: query description: Price filter for products less than and equals to particular amount required: false schema: type: number format: double - name: price[gte] in: query description: Price filter for products greater than and equals to particular amount required: false schema: type: number format: double - name: price[lt] in: query description: Price filter for products less than particular amount required: false schema: type: number format: double - name: price[gt] in: query description: Price filter for products greater than particular amount required: false schema: type: number format: double - name: price[eq] in: query description: Price filter for products equals to particular amount required: false schema: type: number format: double - name: price[ne] in: query description: Price filter for products not equals to particular amount required: false schema: type: number format: double - name: alternativePrice[lte] in: query description: Alternative price filter for products less than and equals to particular amount required: false schema: type: number format: double - name: alternativePrice[gte] in: query description: Alternative price filter for products greater than and equals to particular amount required: false schema: type: number format: double - name: alternativePrice[lt] in: query description: Alternative price filter for products less than particular amount required: false schema: type: number format: double - name: alternativePrice[gt] in: query description: Alternative price filter for products greater than particular amount required: false schema: type: number format: double - name: alternativePrice[eq] in: query description: Alternative price filter for products equals to particular amount required: false schema: type: number format: double - name: alternativePrice[ne] in: query description: Alternative price filter for products not equals to particular amount required: false schema: type: number format: double - name: categories in: query description: Filter by categories ids required: false schema: type: array items: type: string - name: modifiedSince in: query description: 'Filter (urlencoded) the products 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.** ' required: false schema: type: string - name: createdSince in: query description: 'Filter (urlencoded) the products 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.** ' required: false schema: type: string - name: sortByField in: query description: 'Sort the results by a specific field. Default sort field is `created_at` when not passed. ' required: false schema: $ref: '#/components/schemas/ProductsGetParametersSortByField' - name: isDeleted in: query description: 'Filter products by their deletion status. If `false` is passed, only products that are not deleted will be returned. ' required: false schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: All products listed content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getProducts_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetProductsRequestBadRequestError' /products/{id}: get: operationId: getProductInfo summary: Get a product's details description: Retrieve the full details of a single ecommerce product by its unique ID. The response includes the product name, price, SKU, URL, image URLs (original and thumbnails), categories, stock level, meta information, creation and modification timestamps, and deletion status. Returns a `404` error if no product matches the provided ID. tags: - ecommerce parameters: - name: id in: path description: Product ID required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Product details content: application/json: schema: $ref: '#/components/schemas/getProductDetails' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetProductInfoRequestBadRequestError' '404': description: Product's id not found content: application/json: schema: $ref: '#/components/schemas/errorModel' /products/batch: post: operationId: createUpdateBatchProducts summary: Create products in batch description: Create or update multiple ecommerce products in a single request. The `products` array accepts up to 100 product objects for creation (or up to 1000 when `updateEnabled` is `true` and the account has an increased limit). Each product requires a unique `id` and `name` (name is mandatory for creation only). When `updateEnabled` is `false`, all products are inserted as new; if any ID already exists, a `400` error is returned. When `updateEnabled` is `true`, existing products are updated and new ones are created via upsert. Duplicate IDs within the same request payload are rejected. The response returns the count of created and updated products. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '201': description: Products created and updated content: application/json: schema: $ref: '#/components/schemas/Ecommerce_createUpdateBatchProducts_Response_201' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateUpdateBatchProductsRequestBadRequestError' requestBody: description: Values to create a batch of products content: application/json: schema: type: object properties: products: type: array items: $ref: '#/components/schemas/ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItems' description: array of products objects updateEnabled: type: boolean description: Facilitate to update the existing products in the same request (updateEnabled = true) required: - products /products/{id}/alerts/{type}: post: operationId: createProductAlert summary: Create a product alert for a contact description: Register a contact to receive an alert for a specific product event, such as `back_in_stock`. At least one contact identifier (`ext_id`, `email`, or `sms`) must be provided; when multiple are given, priority is `ext_id` > `email` > `sms`. Returns a `404` error if the product ID does not exist, and a `403` error if product alerts are not enabled for the account. tags: - ecommerce parameters: - name: id in: path description: Product ID required: true schema: type: string - name: type in: path description: Alert type required: true schema: $ref: '#/components/schemas/ProductsIdAlertsTypePostParametersType' - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '204': description: Product alert was created content: application/json: schema: type: object properties: {} '400': description: Product alert could not be created content: application/json: schema: $ref: '#/components/schemas/errorModel' '401': description: unauthorized content: application/json: schema: $ref: '#/components/schemas/errorModel' '403': description: Product alerts is not allowed for this account content: application/json: schema: $ref: '#/components/schemas/errorModel' '404': description: Product ID not found content: application/json: schema: $ref: '#/components/schemas/errorModel' requestBody: description: Contact identifier to associate the alert with (at least one is required). Priority is given to `ext_id` > `email` > `sms` content: application/json: schema: type: object properties: contactIdentifiers: $ref: '#/components/schemas/ProductsIdAlertsTypePostRequestBodyContentApplicationJsonSchemaContactIdentifiers' /categories: get: operationId: getCategories summary: Return all your categories description: Retrieve a paginated list of all ecommerce categories stored in your Brevo account. Results are sorted by creation date in descending order by default, and can be filtered by category IDs, name, modification date, creation date, or deletion status. The response includes a `count` field with the total number of matching categories, and pagination defaults to 50 categories per page (maximum 100). tags: - ecommerce parameters: - name: limit in: query description: Number of documents per page required: false schema: type: integer format: int64 default: 50 - name: offset in: query description: Index of the first document in the page required: false schema: type: integer format: int64 default: 0 - name: sort in: query description: Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed required: false schema: $ref: '#/components/schemas/CategoriesGetParametersSort' default: desc - name: ids in: query description: Filter by category ids required: false schema: type: array items: type: string - name: name in: query description: Filter by category name required: false schema: type: string - name: modifiedSince in: query description: '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.** ' required: false schema: type: string - name: createdSince in: query description: '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.** ' required: false schema: type: string - name: isDeleted in: query description: 'Filter categories by their deletion status. If `false` is passed, only categories that are not deleted will be returned. ' required: false schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: All categories listed content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getCategories_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetCategoriesRequestBadRequestError' post: operationId: createUpdateCategory summary: Create/Update a category description: Create a new ecommerce category or update an existing one, identified by the mandatory `id` field. When `updateEnabled` is set to `false` (the default), the endpoint performs an insert and returns `201`; if the category ID already exists, a `400` error is returned. When `updateEnabled` is `true`, the endpoint performs an upsert, returning `201` for a new category or `204` when an existing category is updated. The `name` field is mandatory for creation but optional for updates. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '201': description: Category created content: application/json: schema: $ref: '#/components/schemas/Ecommerce_createUpdateCategory_Response_201' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateUpdateCategoryRequestBadRequestError' requestBody: description: Values to create/update a category content: application/json: schema: type: object properties: deletedAt: type: string description: UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the category deleted from the shop's database id: type: string description: 'Unique Category ID as saved in the shop ' isDeleted: type: boolean description: category deleted from the shop's database name: type: string description: '**Mandatory in case of creation**. Name of the Category, as displayed in the shop ' updateEnabled: type: boolean default: false description: Facilitate to update the existing category in the same request (updateEnabled = true) url: type: string description: URL to the category required: - id /categories/{id}: get: operationId: getCategoryInfo summary: Get a category details description: Retrieve the full details of a single ecommerce category by its unique ID. The response includes the category name, URL, creation and modification timestamps, and deletion status. Returns a `404` error if no category matches the provided ID. tags: - ecommerce parameters: - name: id in: path description: Category ID required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Category details content: application/json: schema: $ref: '#/components/schemas/getCategoryDetails' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetCategoryInfoRequestBadRequestError' '404': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetCategoryInfoRequestNotFoundError' /categories/batch: post: operationId: createUpdateBatchCategory summary: Create categories in batch description: Create or update multiple ecommerce categories in a single request. The `categories` array accepts up to 100 category objects, each requiring a unique `id`. When `updateEnabled` is `false` (the default), all categories are inserted as new; if any ID already exists, a `400` error is returned. When `updateEnabled` is `true`, existing categories are updated and new ones are created via upsert. Duplicate IDs within the same request payload are rejected. The response returns the count of created and updated categories. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '201': description: Category created and updated content: application/json: schema: $ref: '#/components/schemas/Ecommerce_createUpdateBatchCategory_Response_201' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateUpdateBatchCategoryRequestBadRequestError' requestBody: description: Values to create a batch of categories content: application/json: schema: type: object properties: categories: type: array items: $ref: '#/components/schemas/CategoriesBatchPostRequestBodyContentApplicationJsonSchemaCategoriesItems' description: array of categories objects updateEnabled: type: boolean description: Facilitate to update the existing categories in the same request (updateEnabled = true) required: - categories /ecommerce/attribution/metrics/{conversionSource}/{conversionSourceId}: get: operationId: getDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflow summary: Get detailed attribution metrics for a single Brevo campaign or workflow description: Retrieve detailed attribution metrics for a single Brevo campaign or automation workflow, identified by its conversion source type and ID. The response includes orders count, revenue, average basket value, and the number of new customers attributed to that specific campaign or workflow. tags: - ecommerce parameters: - name: conversionSource in: path description: The Brevo campaign type or workflow type for which data will be retrieved required: true schema: $ref: '#/components/schemas/EcommerceAttributionMetricsConversionSourceConversionSourceIdGetParametersConversionSource' - name: conversionSourceId in: path description: The Brevo campaign or automation workflow id for which data will be retrieved required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflow_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflowRequestBadRequestError' /ecommerce/attribution/products/{conversionSource}/{conversionSourceId}: get: operationId: getAttributedProductSalesForASingleBrevoCampaignOrWorkflow summary: Get attributed product sales for a single Brevo campaign or workflow description: Retrieve the list of products whose sales have been attributed to a specific Brevo campaign or automation workflow. Each product entry includes its ID, name, SKU, image URL, product URL, price, revenue, and orders count. The conversion source type must be one of `email_campaign`, `sms_campaign`, `automation_workflow_email`, or `automation_workflow_sms`. tags: - ecommerce parameters: - name: conversionSource in: path description: The Brevo campaign or automation workflow type for which data will be retrieved required: true schema: $ref: '#/components/schemas/EcommerceAttributionProductsConversionSourceConversionSourceIdGetParametersConversionSource' - name: conversionSourceId in: path description: The Brevo campaign or automation workflow id for which data will be retrieved required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getAttributedProductSalesForASingleBrevoCampaignOrWorkflow_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetAttributedProductSalesForASingleBrevoCampaignOrWorkflowRequestBadRequestError' /ecommerce/attribution/metrics: get: operationId: getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflows summary: Get attribution metrics for one or more Brevo campaigns or workflows description: Retrieve aggregated ecommerce attribution metrics for one or more Brevo email campaigns, SMS campaigns, or automation workflows. You can optionally filter by a date range using `periodFrom` and `periodTo` in RFC3339 format. The response includes per-source metrics (orders count, revenue, and average basket) as well as aggregated totals across all requested sources. tags: - ecommerce parameters: - name: periodFrom in: query description: When getting metrics for a specific period, define the starting datetime in RFC3339 format required: false schema: type: string format: date-time - name: periodTo in: query description: When getting metrics for a specific period, define the end datetime in RFC3339 format required: false schema: type: string format: date-time - name: emailCampaignId[] in: query description: The email campaign ID(s) to get metrics for required: false schema: type: array items: type: string - name: smsCampaignId[] in: query description: The SMS campaign ID(s) to get metrics for required: false schema: type: array items: type: string - name: automationWorkflowEmailId[] in: query description: The automation workflow ID(s) to get email attribution metrics for required: false schema: type: array items: type: string - name: automationWorkflowSmsId[] in: query description: The automation workflow ID(s) to get SMS attribution metrics for required: false schema: type: array items: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflows_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflowsRequestBadRequestError' /ecommerce/activate: post: operationId: activateTheECommerceApp summary: Activate the eCommerce app description: Getting access to Brevo eCommerce. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: eCommerce activation is in process, please wait for 5 minutes. content: application/json: schema: $ref: '#/components/schemas/Ecommerce_activateTheECommerceApp_Response_200' '401': description: bad request content: application/json: schema: $ref: '#/components/schemas/ActivateTheECommerceAppRequestUnauthorizedError' '404': description: bad request content: application/json: schema: $ref: '#/components/schemas/ActivateTheECommerceAppRequestNotFoundError' /ecommerce/config/displayCurrency: post: operationId: setConfigDisplayCurrency summary: Set the ISO 4217 compliant display currency code for your Brevo account description: Set or update the ISO 4217 display currency code for your Brevo ecommerce account. This currency determines how monetary values are displayed in the ecommerce dashboard and reports. The provided currency code must be a valid ISO 4217 code; invalid codes result in a `422` error. Returns a `403` error if ecommerce is not activated on the account. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Ecommerce_setConfigDisplayCurrency_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/SetConfigDisplayCurrencyRequestBadRequestError' '401': description: bad request content: application/json: schema: $ref: '#/components/schemas/SetConfigDisplayCurrencyRequestUnauthorizedError' '403': description: Permission denied. eCommerce is not activated. content: application/json: schema: $ref: '#/components/schemas/errorModel' '422': description: Invalid ISO 4217 currency code. content: application/json: schema: $ref: '#/components/schemas/errorModel' requestBody: description: set ISO 4217 compliant display currency code payload content: application/json: schema: type: object properties: code: type: string description: ISO 4217 compliant display currency code required: - code get: operationId: getTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccount summary: Get the ISO 4217 compliant display currency code for your Brevo account description: Retrieve the ISO 4217 display currency code currently configured for your Brevo ecommerce account. This currency is used to display monetary values across the ecommerce dashboard and reports. Returns a `403` error if ecommerce is not activated on the account. tags: - ecommerce parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Ecommerce_getTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccount_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestBadRequestError' '401': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestUnauthorizedError' '403': description: Permission denied. eCommerce is not activated. content: application/json: schema: $ref: '#/components/schemas/errorModel' components: schemas: OrderMetaInfo: oneOf: - type: string - type: integer - type: boolean title: OrderMetaInfo Ecommerce_getCategories_Response_200: type: object properties: categories: type: array items: $ref: '#/components/schemas/getCategoryDetails' count: type: integer format: int64 description: Number of categories required: - categories - count title: Ecommerce_getCategories_Response_200 Ecommerce_activateTheECommerceApp_Response_200: type: object properties: {} description: Empty response body title: Ecommerce_activateTheECommerceApp_Response_200 GetProductInfoRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/ProductsIdGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetProductInfoRequestBadRequestError CreateBatchOrderRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrdersStatusBatchPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateBatchOrderRequestBadRequestError EcommerceActivatePostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceActivatePostResponsesContentApplicationJsonSchemaCode GetProductDetailsMetaInfo: type: object properties: {} description: Meta data of product such as description, vendor, producer, stock level, etc. title: GetProductDetailsMetaInfo GetAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflowsRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflowsRequestBadRequestError Ecommerce_setConfigDisplayCurrency_Response_200: type: object properties: code: type: string description: ISO 4217 compliant display currency code required: - code title: Ecommerce_setConfigDisplayCurrency_Response_200 OrderIdentifiers: type: object properties: email_id: type: string description: Email of the contact associated with the order ext_id: type: string description: ext_id associated with the order loyalty_subscription_id: type: string description: loyalty_subscription_id associated with the order phone_id: type: string description: Phone number of the contact associated with the order description: Identifies the contact associated with the order. title: OrderIdentifiers SetConfigDisplayCurrencyRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/EcommerceConfigDisplayCurrencyPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: SetConfigDisplayCurrencyRequestBadRequestError OrderProductsItems: type: object properties: price: type: number format: double description: The price of a unit of product productId: type: string description: ID of the product. variantId: type: string description: Product ID of the red color shirts. quantity: type: integer description: '**Required if quantityFloat is empty.** Number of product units added to the cart (whole numbers only, e.g., 10) ' quantityFloat: type: number format: double description: '**Required if quantity is empty.** Number of product units added to the cart(supports decimals, e.g., 20.52) ' required: - price - productId description: Details for the Products in an order. title: OrderProductsItems SetConfigDisplayCurrencyRequestUnauthorizedError: type: object properties: code: $ref: '#/components/schemas/EcommerceConfigDisplayCurrencyPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: SetConfigDisplayCurrencyRequestUnauthorizedError ProductsGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: ProductsGetResponsesContentApplicationJsonSchemaCode EcommerceConfigDisplayCurrencyGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceConfigDisplayCurrencyGetResponsesContentApplicationJsonSchemaCode order: type: object properties: amount: type: number format: double description: Total amount of the order, including all shipping expenses, tax and the price of items. billing: $ref: '#/components/schemas/OrderBilling' description: Billing details of an order. coupons: type: array items: type: string description: Coupons applied to the order. Stored case insensitive. createdAt: type: string description: Event occurrence UTC date-time (YYYY-MM-DDTHH:mm:ssZ), when order is actually created. id: type: string description: Unique ID of the order. identifiers: $ref: '#/components/schemas/OrderIdentifiers' description: Identifies the contact associated with the order. metaInfo: type: object additionalProperties: $ref: '#/components/schemas/OrderMetaInfo' description: Meta data of order to store additional detail such as custom message, customer type, source. products: type: array items: $ref: '#/components/schemas/OrderProductsItems' status: type: string description: State of the order. storeId: type: string description: ID of store where the order is placed updatedAt: type: string description: Event updated UTC date-time (YYYY-MM-DDTHH:mm:ssZ), when the status of the order is actually changed/updated. required: - amount - createdAt - id - products - status - updatedAt title: order Ecommerce_getAttributedProductSalesForASingleBrevoCampaignOrWorkflow_Response_200: type: object properties: products: type: array items: $ref: '#/components/schemas/EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaProductsItems' description: List of attributed products required: - products title: Ecommerce_getAttributedProductSalesForASingleBrevoCampaignOrWorkflow_Response_200 EcommerceConfigDisplayCurrencyPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceConfigDisplayCurrencyPostResponsesContentApplicationJsonSchemaCode OrdersStatusPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrdersStatusPostResponsesContentApplicationJsonSchemaCode ActivateTheECommerceAppRequestNotFoundError: type: object properties: code: $ref: '#/components/schemas/EcommerceActivatePostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: ActivateTheECommerceAppRequestNotFoundError GetCategoriesRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/CategoriesGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetCategoriesRequestBadRequestError ProductsPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: ProductsPostResponsesContentApplicationJsonSchemaCode Ecommerce_getDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflow_Response_200: type: object properties: averageBasket: type: string title: float conversionSource: $ref: '#/components/schemas/EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaConversionSource' id: type: number format: double ordersCount: type: number format: double revenue: type: string title: float newCustomersCount: type: number format: double required: - averageBasket - conversionSource - id - ordersCount - revenue - newCustomersCount title: Ecommerce_getDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflow_Response_200 CreateUpdateProductRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/ProductsPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateUpdateProductRequestBadRequestError Ecommerce_createUpdateBatchProducts_Response_201: type: object properties: createdCount: type: integer format: int64 description: Number of the new created products updatedCount: type: integer format: int64 description: Number of the existing products updated title: Ecommerce_createUpdateBatchProducts_Response_201 CategoriesGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: CategoriesGetResponsesContentApplicationJsonSchemaCode CreateUpdateBatchCategoryRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/CategoriesBatchPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateUpdateBatchCategoryRequestBadRequestError GetOrdersRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrdersGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetOrdersRequestBadRequestError CategoriesPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: CategoriesPostResponsesContentApplicationJsonSchemaCode ProductsIdGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: ProductsIdGetResponsesContentApplicationJsonSchemaCode CreateUpdateCategoryRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/CategoriesPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateUpdateCategoryRequestBadRequestError EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaConversionSource: type: string enum: - email_campaign - sms_campaign - automation_workflow_email - automation_workflow_sms title: EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaConversionSource CategoriesGetParametersSort: type: string enum: - asc - desc default: desc title: CategoriesGetParametersSort errorModel: type: object properties: code: type: string description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - message title: errorModel Ecommerce_getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflows_Response_200: type: object properties: results: type: array items: $ref: '#/components/schemas/ConversionSourceMetrics' description: List of conversion attribution metrics totals: $ref: '#/components/schemas/EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaTotals' description: Attribution list aggregated totals required: - results - totals title: Ecommerce_getAttributionMetricsForOneOrMoreBrevoCampaignsOrWorkflows_Response_200 ActivateTheECommerceAppRequestUnauthorizedError: type: object properties: code: $ref: '#/components/schemas/EcommerceActivatePostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: ActivateTheECommerceAppRequestUnauthorizedError ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItems: type: object properties: brand: type: string description: Brand of the product categories: type: array items: type: string description: Category ID-s 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 description: type: string description: Description of the product id: type: string format: string description: Product ID for which you requested the details imageUrl: type: string format: string description: Absolute URL to the cover image of the product isDeleted: type: boolean description: product deleted from the shop's database metaInfo: type: object additionalProperties: $ref: '#/components/schemas/ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItemsMetaInfo' description: Meta data of product such as description, vendor, producer, stock level. The total characters of cumulative metaInfo shall not exceed **20000 characters**. name: type: string description: '**Mandatory in case of creation**. Name of the product, as displayed in the shop' parentId: type: string format: string description: Parent product id of the product price: type: string title: float description: Price of the product alternativePrice: type: string title: float description: Alternative price of the product sku: type: string format: string description: Product identifier from the shop stock: type: number format: double description: Current stock value of the product from the shop's database url: type: string format: string description: URL to the product required: - id - name title: ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItems CategoriesBatchPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: CategoriesBatchPostResponsesContentApplicationJsonSchemaCode Ecommerce_getOrders_Response_200: type: object properties: {} description: Empty response body title: Ecommerce_getOrders_Response_200 OrdersGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrdersGetResponsesContentApplicationJsonSchemaCode Ecommerce_createBatchOrder_Response_202: type: object properties: count: type: integer format: int64 description: Number of orders batch_id: type: - number - 'null' format: double description: Batch ID of the request required: - batch_id title: Ecommerce_createBatchOrder_Response_202 Ecommerce_getProducts_Response_200: type: object properties: count: type: integer format: int64 description: Number of products products: type: array items: $ref: '#/components/schemas/getProductDetails' required: - count - products title: Ecommerce_getProducts_Response_200 GetCategoryInfoRequestNotFoundError: type: object properties: code: $ref: '#/components/schemas/CategoriesIdGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetCategoryInfoRequestNotFoundError CategoriesIdGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: CategoriesIdGetResponsesContentApplicationJsonSchemaCode EcommerceAttributionProductsConversionSourceConversionSourceIdGetParametersConversionSource: type: string enum: - email_campaign - sms_campaign - automation_workflow_email - automation_workflow_sms title: EcommerceAttributionProductsConversionSourceConversionSourceIdGetParametersConversionSource Ecommerce_createUpdateBatchCategory_Response_201: type: object properties: createdCount: type: integer format: int64 description: Number of the new created categories updatedCount: type: integer format: int64 description: Number of the existing categories updated title: Ecommerce_createUpdateBatchCategory_Response_201 CategoriesBatchPostRequestBodyContentApplicationJsonSchemaCategoriesItems: type: object properties: deletedAt: type: string description: UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) of the category deleted from the shop's database id: type: string description: 'Unique Category ID as saved in the shop ' isDeleted: type: boolean description: category deleted from the shop's database name: type: string description: '**Mandatory in case of creation**. Name of the Category, as displayed in the shop ' url: type: string description: URL to the category required: - id title: CategoriesBatchPostRequestBodyContentApplicationJsonSchemaCategoriesItems ProductsGetParametersSort: type: string enum: - asc - desc default: desc title: ProductsGetParametersSort GetAttributedProductSalesForASingleBrevoCampaignOrWorkflowRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetAttributedProductSalesForASingleBrevoCampaignOrWorkflowRequestBadRequestError CreateOrderRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrdersStatusPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateOrderRequestBadRequestError ConversionSourceMetricsConversionSource: type: string enum: - email_campaign - sms_campaign - automation_workflow_email - automation_workflow_sms title: ConversionSourceMetricsConversionSource GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestUnauthorizedError: type: object properties: code: $ref: '#/components/schemas/EcommerceConfigDisplayCurrencyGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestUnauthorizedError EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaCode EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaProductsItems: type: object properties: id: type: string imageUrl: type: string name: type: string ordersCount: type: integer price: type: string title: float revenue: type: string title: float sku: type: string url: type: string required: - id title: EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaProductsItems getProductDetails: type: object properties: brand: type: string description: Brand of the product categories: type: array items: type: string description: Category ID-s of the product createdAt: type: string description: Creation UTC date-time of the product (YYYY-MM-DDTHH:mm:ss.SSSZ) description: type: string description: Description of the product id: type: string format: string description: Product ID for which you requested the details imageUrl: type: string format: string description: Absolute URL to the cover image of the product isDeleted: type: boolean description: Product deleted from the shop's database but not from Brevo metaInfo: $ref: '#/components/schemas/GetProductDetailsMetaInfo' description: Meta data of product such as description, vendor, producer, stock level, etc. modifiedAt: type: string description: Last modification UTC date-time of the product (YYYY-MM-DDTHH:mm:ss.SSSZ) name: type: string format: string description: Name of the product for which you requested the details parentId: type: string format: string description: Parent product id of the product price: type: string title: float description: Price of the product alternativePrice: type: string title: float description: Alternative price of the product s3Original: type: string format: string description: S3 url of original image s3ThumbAnalytics: type: string format: string description: S3 thumbnail url of original image in 120x120 dimension for analytics section s3ThumbEditor: type: string format: string description: S3 thumbnail url of original image in 600x400 dimension for editor section sku: type: string format: string description: Product identifier from the shop stock: type: number format: double description: Current stock value of the product from the shop's database url: type: string format: string description: URL to the product required: - createdAt - id - modifiedAt - name - s3ThumbAnalytics - s3ThumbEditor title: getProductDetails GetDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflowRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetDetailedAttributionMetricsForASingleBrevoCampaignOrWorkflowRequestBadRequestError getCategoryDetails: type: object properties: createdAt: type: string description: Creation UTC date-time of the category (YYYY-MM-DDTHH:mm:ss.SSSZ) id: type: string format: string description: Category ID for which you requested the details isDeleted: type: boolean description: category deleted from the shop's database modifiedAt: type: string description: Last modification UTC date-time of the category (YYYY-MM-DDTHH:mm:ss.SSSZ) name: type: string format: string description: Name of the category for which you requested the details url: type: string format: string description: URL to the category required: - createdAt - id - isDeleted - modifiedAt - name title: getCategoryDetails GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/EcommerceConfigDisplayCurrencyGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccountRequestBadRequestError ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItemsMetaInfo: oneOf: - type: string - type: integer title: ProductsBatchPostRequestBodyContentApplicationJsonSchemaProductsItemsMetaInfo GetProductsRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/ProductsGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetProductsRequestBadRequestError Ecommerce_getTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccount_Response_200: type: object properties: code: type: string description: ISO 4217 compliant display currency code required: - code title: Ecommerce_getTheIso4217CompliantDisplayCurrencyCodeForYourBrevoAccount_Response_200 ProductsIdAlertsTypePostRequestBodyContentApplicationJsonSchemaContactIdentifiers: type: object properties: email: type: string format: email description: Email address of the contact ext_id: type: string description: Contact ID in your system sms: type: string description: Sms of the contact title: ProductsIdAlertsTypePostRequestBodyContentApplicationJsonSchemaContactIdentifiers ProductsPostRequestBodyContentApplicationJsonSchemaMetaInfo: oneOf: - type: string - type: integer title: ProductsPostRequestBodyContentApplicationJsonSchemaMetaInfo EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceAttributionProductsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode EcommerceAttributionMetricsConversionSourceConversionSourceIdGetParametersConversionSource: type: string enum: - email_campaign - sms_campaign - automation_workflow_email - automation_workflow_sms title: EcommerceAttributionMetricsConversionSourceConversionSourceIdGetParametersConversionSource OrdersStatusBatchPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrdersStatusBatchPostResponsesContentApplicationJsonSchemaCode ProductsBatchPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: ProductsBatchPostResponsesContentApplicationJsonSchemaCode GetCategoryInfoRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/CategoriesIdGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetCategoryInfoRequestBadRequestError CreateUpdateBatchProductsRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/ProductsBatchPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: CreateUpdateBatchProductsRequestBadRequestError OrderBilling: type: object properties: address: type: string description: Full billing address. city: type: string description: Exact city of the address. country: type: string description: Billing country name. countryCode: type: string description: Billing country 2-letter ISO code. paymentMethod: type: string description: How the visitor will pay for the item(s), e.g. paypal, check, etc. phone: type: string description: Billing phone number. postCode: type: string description: Postcode for delivery and billing. region: type: string description: Exact region (state/province) for delivery and billing. description: Billing details of an order. title: OrderBilling ConversionSourceMetrics: type: object properties: averageBasket: type: string title: float conversionSource: $ref: '#/components/schemas/ConversionSourceMetricsConversionSource' id: type: number format: double ordersCount: type: number format: double revenue: type: string title: float required: - averageBasket - conversionSource - id - ordersCount - revenue title: ConversionSourceMetrics EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaTotals: type: object properties: averageBasket: type: string title: float ordersCount: type: number format: double revenue: type: string title: float required: - averageBasket - ordersCount - revenue description: Attribution list aggregated totals title: EcommerceAttributionMetricsGetResponsesContentApplicationJsonSchemaTotals ProductsIdAlertsTypePostParametersType: type: string enum: - back_in_stock title: ProductsIdAlertsTypePostParametersType OrdersGetParametersSort: type: string enum: - asc - desc default: desc title: OrdersGetParametersSort Ecommerce_createUpdateCategory_Response_201: type: object properties: id: type: string description: ID of the category when a new category is created title: Ecommerce_createUpdateCategory_Response_201 EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: EcommerceAttributionMetricsConversionSourceConversionSourceIdGetResponsesContentApplicationJsonSchemaCode Ecommerce_createUpdateProduct_Response_201: type: object properties: id: type: string description: ID of the product when a new product is created title: Ecommerce_createUpdateProduct_Response_201 ProductsGetParametersSortByField: type: string enum: - created_at - name - price - id title: ProductsGetParametersSortByField securitySchemes: api-key: type: apiKey in: header name: api-key description: The API key should be passed in the request headers as `api-key` for authentication.