brevo · Capability

Brevo eCommerce API — Products

Brevo eCommerce API — Products. 4 operations. Lead operation: Return all products. Self-contained Naftiko capability covering one Brevo business surface.

Run with Naftiko BrevoProducts

What You Can Do

GET
Listproducts — Return all products
/v1/products
POST
Createupdateproduct — Create or update a product
/v1/products
POST
Batchcreateupdateproducts — Create or update products in batch
/v1/products/batch
GET
Getproduct — Get a product
/v1/products/{productid}

MCP Tools

return-all-products

Return all products

read-only idempotent
create-update-product

Create or update a product

create-update-products-batch

Create or update products in batch

get-product

Get a product

read-only idempotent

Capability Spec

ecommerce-products.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Brevo eCommerce API — Products
  description: 'Brevo eCommerce API — Products. 4 operations. Lead operation: Return all products. Self-contained Naftiko
    capability covering one Brevo business surface.'
  tags:
  - Brevo
  - Products
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BREVO_API_KEY: BREVO_API_KEY
capability:
  consumes:
  - type: http
    namespace: ecommerce-products
    baseUri: https://api.brevo.com/v3
    description: Brevo eCommerce API — Products business capability. Self-contained, no shared references.
    resources:
    - name: products
      path: /products
      operations:
      - name: listproducts
        method: GET
        description: Return all products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: query
          type: string
          description: Comma-separated list of product IDs to filter by.
      - name: createupdateproduct
        method: POST
        description: Create or update a product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: products-batch
      path: /products/batch
      operations:
      - name: batchcreateupdateproducts
        method: POST
        description: Create or update products in batch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: products-productId
      path: /products/{productId}
      operations:
      - name: getproduct
        method: GET
        description: Get a product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: api-key
      value: '{{env.BREVO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: ecommerce-products-rest
    port: 8080
    description: REST adapter for Brevo eCommerce API — Products. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/products
      name: products
      description: REST surface for products.
      operations:
      - method: GET
        name: listproducts
        description: Return all products
        call: ecommerce-products.listproducts
        with:
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createupdateproduct
        description: Create or update a product
        call: ecommerce-products.createupdateproduct
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/batch
      name: products-batch
      description: REST surface for products-batch.
      operations:
      - method: POST
        name: batchcreateupdateproducts
        description: Create or update products in batch
        call: ecommerce-products.batchcreateupdateproducts
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{productid}
      name: products-productid
      description: REST surface for products-productId.
      operations:
      - method: GET
        name: getproduct
        description: Get a product
        call: ecommerce-products.getproduct
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: ecommerce-products-mcp
    port: 9090
    transport: http
    description: MCP adapter for Brevo eCommerce API — Products. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: return-all-products
      description: Return all products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ecommerce-products.listproducts
      with:
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.
    - name: create-update-product
      description: Create or update a product
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: ecommerce-products.createupdateproduct
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-update-products-batch
      description: Create or update products in batch
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: ecommerce-products.batchcreateupdateproducts
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-product
      description: Get a product
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ecommerce-products.getproduct
      outputParameters:
      - type: object
        mapping: $.