Antavo Cart API

Cart endpoints collection

Operations 2

POST /v1/cart/finalize Finalize checkout with applied promotions
POST /v1/cart Submit cart details and retrieve applicable promotions

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/antavo-cart-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

antavo-cart-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  title: Antavo Promotion Engine Cart API
  version: 1.0.0
  description: Cart endpoints collection
servers:
- url: https://promotion.test.antavo.com/api
  description: The Promotion Engine test environtment
tags:
- name: Cart
  description: Cart endpoints collection
paths:
  /v1/cart/finalize:
    post:
      tags:
      - Cart
      summary: Finalize checkout with applied promotions
      description: 'Submit a cart to apply final promotion calculations and complete the checkout process.


        Similar to [/cart](https://developers.antavo.com/reference/post_v1-cart), the engine will:

        - Calculate applicable promotions

        - Apply relevant discounts to items

        - Return the adjusted cart with pricing breakdowns


        Additionally, when submitting to the this endpoint, any promotion usage limits (if any) are enforced — meaning:

        - The promotions are applied and counted toward their application limits

        - The cart cannot be resubmitted with the same `cartId`


        This endpoint can be used directly without first calling the `/cart` endpoint if you don''t require prior simulation.

        '
      security:
      - bearerAuth: []
      requestBody:
        description: Cart request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cartModel'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                    description: Indicates the success of the request. Always `success` here.
                  metadata:
                    type: object
                    description: Reserved for future use; currently returns an empty object.
                  payload:
                    type: object
                    $ref: '#/components/schemas/cartResponse'
                    description: ''
              examples:
                itemDiscount:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneakers promotional price
                          description: Sneakers at €70 during promotion.
                          type: promotionalPricing
                        discountType: itemDiscount
                        discountedItems:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '1.000'
                          unitPriceBeforeTax: '70.00'
                          tax: '14.00'
                        totalPriceBeforeTaxDiscount: '130.00'
                        taxDiscount: '26.00'
                itemAddition:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4KR347PV2MA9943TD38YQS
                        promotionMetaData:
                          name: Free perfume sample
                          description: Try a free perfume sample with any order.
                          type: freeSample
                        discountType: itemAddition
                        addedItems:
                        - productId: '87654'
                          productCategoryId: ''
                          quantity: '1'
                          unitPriceBeforeTax: '0'
                          tax: '0'
                        value: '10.00'
                groupDiscount:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneaker Duo Discount
                          description: Buy 2 pairs of sneakers and get 20% off the total price.
                          type: buyXForTotalAmount
                        discountType: groupDiscount
                        itemGroup:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '200.00'
                          tax: '40.00'
                        totalPriceBeforeTaxDiscount: '50.00'
                        taxDiscount: '10.00'
                multipleDiscounts:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '2.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW760RMASG1P1MPYKRV8W3W4
                        promotionMetaData:
                          name: Sneaker Duo Discount
                          description: Buy 2 pairs of sneakers and get 20% off the total price.
                          type: buyXForTotalAmount
                        discountType: groupDiscount
                        itemGroup:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '200.00'
                          tax: '40.00'
                        totalPriceBeforeTaxDiscount: '50.00'
                        taxDiscount: '10.00'
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneakers promotional price
                          description: Sneakers at €70 during promotion.
                          type: promotionalPricing
                        discountType: itemDiscount
                        discountedItems:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '70.00'
                          tax: '14.00'
                        totalPriceBeforeTaxDiscount: '260.00'
                        taxDiscount: '52.00'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '403':
          $ref: '#/components/responses/AuthorizationError'
  /v1/cart:
    post:
      tags:
      - Cart
      summary: Submit cart details and retrieve applicable promotions
      description: 'Submit a cart to simulate promotion calculations based on its current contents and applied conditions.


        The engine will calculate which promotions are applicable to the provided cart and return:

        - Cart object

        - All matched promotions

        - The exact discounts applied

        - Adjusted unit prices (after discount)

        - Updated tax amounts

        - Total discount values


        The same `cartId` can be submitted multiple times to recalculate promotions when the cart changes.


        If any promotions have [application limits](https://docs.antavo.com/docs/configuring-promotions#application-limit-and-reset) and [locking periods](https://docs.antavo.com/docs/promotion-general-settings#locking-period), a reservation is made when the promotion is found applicable.

        If the cart is not checked out via the [/cart/finalize](https://developers.antavo.com/reference/post_v1-cart-finalize) endpoint before the lock expires, the reservation is released automatically.

        '
      security:
      - bearerAuth: []
      requestBody:
        description: Cart request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cartModel'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                    description: Indicates the success of the request. Always `success` here.
                  metadata:
                    type: object
                    description: Reserved for future use; currently returns an empty object.
                  payload:
                    type: object
                    $ref: '#/components/schemas/cartResponse'
                    description: ''
              examples:
                itemDiscount:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneakers promotional price
                          description: Sneakers at €70 during promotion.
                          type: promotionalPricing
                        discountType: itemDiscount
                        discountedItems:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '1.000'
                          unitPriceBeforeTax: '70.00'
                          tax: '14.00'
                        totalPriceBeforeTaxDiscount: '130.00'
                        taxDiscount: '26.00'
                itemAddition:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4KR347PV2MA9943TD38YQS
                        promotionMetaData:
                          name: Free perfume sample
                          description: Try a free perfume sample with any order.
                          type: freeSample
                        discountType: itemAddition
                        addedItems:
                        - productId: '87654'
                          productCategoryId: ''
                          quantity: '1'
                          unitPriceBeforeTax: '0'
                          tax: '0'
                        value: '10'
                groupDiscount:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '1.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneaker Duo Discount
                          description: Buy 2 pairs of sneakers and get 20% off the total price.
                          type: buyXForTotalAmount
                        discountType: groupDiscount
                        itemGroup:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '200.00'
                          tax: '40.00'
                        totalPriceBeforeTaxDiscount: '50.00'
                        taxDiscount: '10.00'
                multipleDiscounts:
                  value:
                    status: success
                    metadata: []
                    payload:
                      cartId: '66512'
                      workspaceId: '500'
                      storeId: 5077595177C60923
                      storeGroupId: Austria
                      customerId: 280e674c-c4ea-4a30-987a-d9267d1a5018
                      timezone: Europe/Budapest
                      promotionSelectionStrategy: biggestDiscount
                      promotionApplicationMethod: automatic
                      rounding: mathematical
                      precision: 2
                      promoCode: PROMO10
                      currency: EUR
                      cartItems:
                      - productId: '8675645322'
                        productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                        quantity: '2.000'
                        unitPriceBeforeTax: '200.00'
                        tax: '40.00'
                      discounts:
                      - promotionId: 01JW760RMASG1P1MPYKRV8W3W4
                        promotionMetaData:
                          name: Sneaker Duo Discount
                          description: Buy 2 pairs of sneakers and get 20% off the total price.
                          type: buyXForTotalAmount
                        discountType: groupDiscount
                        itemGroup:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '200.00'
                          tax: '40.00'
                        totalPriceBeforeTaxDiscount: '50.00'
                        taxDiscount: '10.00'
                      - promotionId: 01JW4M2FS0CX9DQETDV142JB4M
                        promotionMetaData:
                          name: Sneakers promotional price
                          description: Sneakers at €70 during promotion.
                          type: promotionalPricing
                        discountType: itemDiscount
                        discountedItems:
                        - productId: '8675645322'
                          productCategoryId: Apparel & Accessories > Clothing > Shoes > Sneakers
                          quantity: '2.000'
                          unitPriceBeforeTax: '70.00'
                          tax: '14.00'
                        totalPriceBeforeTaxDiscount: '260.00'
                        taxDiscount: '52.00'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '403':
          $ref: '#/components/responses/AuthorizationError'
components:
  schemas:
    cartResponse:
      type: object
      description: The calculated cart object with applied promotions.
      properties:
        cartId:
          type: string
          description: The unique identifier of the submitted cart.
          example: '66512'
        workspaceId:
          type: string
          description: The ID of the workspace that is used for running promotions.
          example: '500'
        storeId:
          type: string
          description: The store identifier where the cart originates.
          example: 5077595177C60923
        storeGroupId:
          type: string
          description: The store group identifier where the cart originates.
          example: Austria
        customerId:
          type: string
          description: Unique identifier of the customer.
          example: 280e674c-c4ea-4a30-987a-d9267d1a5018
        timezone:
          type: string
          description: Timezone used for evaluating promotion start/end dates.
          example: Europe/Budapest
        promotionSelectionStrategy:
          type: string
          description: Strategy used to select from multiple applicable promotions (e.g., `"biggestDiscount"`).
          example: biggestDiscount
        promotionApplicationMethod:
          type: string
          description: Method by which promotions are applied. Currently supports'automatic', meaning that promotions are applied without manual intervention.
          example: automatic
        rounding:
          type: string
          description: Rounding strategy used when calculating prices.
          example: mathematical
          enum:
          - mathematical
          - ceiling
          - floor
        precision:
          type: integer
          description: Number of decimal places used in rounding.
          example: 2
        promoCode:
          type:
          - string
          - 'null'
          description: Promotional code submitted with the cart (if any).
          example: PROMO10
        currency:
          type: string
          description: Currency used in price calculations.
          example: EUR
        cartItems:
          type: array
          description: The original cart items before discounts.
          items:
            type: object
            properties:
              productId:
                type: string
                description: Product identifier.
                example: '8675645322'
              productCategoryId:
                type: string
                description: Product category.
                example: Apparel & Accessories > Clothing > Shoes > Sneakers
              quantity:
                type: string
                description: Quantity of the product in the cart.
                example: '1.000'
              unitPriceBeforeTax:
                type: string
                description: Unit price of the product before applying tax.
                example: '200.00'
              tax:
                type: string
                description: Tax amount associated with the product.
                example: '40.00'
        discounts:
          type: array
          description: List of applicable discounts to the cart.
          items:
            type: object
            properties:
              promotionId:
                type: string
                description: Unique identifier of the applied promotion.
                example: 01JW4M2FS0CX9DQETDV142JB4M
              promotionMetaData:
                type: object
                description: Metadata about the promotion.
                properties:
                  name:
                    type: string
                    description: Display name of the promotion.
                    example: Sneakers promotional price
                  description:
                    type: string
                    description: Textual description of the promotion.
                    example: Sneakers at €70 during promotion.
                  type:
                    type: string
                    description: Type of the promotion (e.g., `"promotionalPricing"`).
                    enum:
                    - bonusProducts
                    - bundle
                    - buyXForTotalAmount
                    - buyXGetOneFree
                    - crossSelling
                    - priceReduction
                    - freeSample
                    - productSet
                    - promoCode
                    - promotionalPricing
                    example: promotionalPricing
              discountType:
                type: string
                description: Type of discount applied.
                example: itemDiscount
                enum:
                - itemDiscount
                - itemAddition
                - groupDiscont
              discountedItems:
                type: array
                description: The items affected by `itemDiscount` type discount. Applicable to `crossSelling`, `priceReduction`, ` promoCode`, and ` promotionalPricing` promotion types.
                items:
                  type: object
                  properties:
                    productId:
                      type: string
                      description: Product ID of the discounted item.
                      example: '8675645322'
                    productCategoryId:
                      type: string
                      description: Product category of the discounted item.
                      example: Apparel & Accessories > Clothing > Shoes > Sneakers
                    quantity:
                      type: string
                      description: Quantity of discounted items.
                      example: '1.000'
                    unitPriceBeforeTax:
                      type: string
                      description: Discounted unit price before tax.
                      example: '70.00'
                    tax:
                      type: string
                      description: Tax amount after discount. This value is proportionally adjusted based on the discounted item price compared to the original price.
                      example: '14.00'
              itemGroup:
                type: array
                description: The items affected by `groupDiscont` type discount. Applicable to  `bundle`, `productSet`, `buyXForTotalAmount`, and `promoCode` promotion types.
                items:
                  type: object
                  properties:
                    productId:
                      type: string
                      description: Product ID of the discounted item.
                      example: '8675645322'
                    productCategoryId:
                      type: string
                      description: Product category of the discounted item.
                      example: Apparel & Accessories > Clothing > Shoes > Sneakers
                    quantity:
                      type: string
                      description: Quantity of discounted items.
                      example: '1.000'
                    unitPriceBeforeTax:
                      type: string
                      description: Discounted unit price before tax.
                      example: '70.00'
                    tax:
                      type: string
                      description: Tax amount after discount. This value is proportionally adjusted based on the discounted item price compared to the original price.
                      example: '14.00'
              addedItems:
                type: array
                description: The items added to the cart by `itemAddition` type discount. Applicable to `freeSample`, `buyXGetOneFree` and ˇbonusProductsˇ promotion types.
                items:
                  type: object
                  properties:
                    productId:
                      type: string
                      description: Product ID of the free item.
                      example: '8675645322'
                    productCategoryId:
                      type: string
                      description: Product category of the free item. Only available if the item has been added to cart with a product category.
                      example: Apparel & Accessories > Clothing > Shoes > Sneakers
                    quantity:
                      type: string
                      description: Number of items added.
                      example: '1.000'
                    unitPriceBeforeTax:
                      type: string
                      description: Price of the iten before tax.
                      example: '70.00'
                    tax:
                      type: string
                      description: Tax amount. This value is proportionally adjusted based on the discounted item price compared to the original price.
                      example: '14.00'
              value:
                type: string
                description: Total value of items added to the cart by free by `itemAddition` type discount. Applicable to `freeSample`,`buyXGetOneFree`and ˇbonusProductsˇ promotion types.
                example: '100.00'
              totalPriceBeforeTaxDiscount:
                type: string
                description: Total value of discount before tax. Applicable to `itemDiscount`and `groupDiscont` type discount.
                example: '130.00'
              taxDiscount:
                type: string
                description: Amount of tax saved due to the promotion. Applicable to `itemDiscount`and `groupDiscont` type discount.
                example: '26.00'
    cartModel:
      required:
      - cartId
      - storeId
      - storeGroupId
      - rounding
      - precision
      - currency
      - cart
      type: object
      properties:
        cartId:
          type: string
          example: 66512
          description: Unique identifier for the cart, used to track and recalculate promotions across multiple requests.
        storeId:
          type: string
          example: 47847307C1652044
          description: Identifier of the specific store where the cart originates.
        storeGroupId:
          type: string
          example: GreaterLondon
          description: Identifier for the group of the store where the cart originates.
        customerId:
          type: string
          example: 280e674c-c4ea-4a30-987a-d9267d1a5018
          description: Optional customer identifier.
        promotionSelectionStrategy:
          type: string
          enum:
          - biggestDiscount
          example: biggestDiscount
          default: biggestDiscount
          description: Defines how promotions are selected when multiple apply. Currently supports selecting the promotion offering the biggest discount.
        promotionApplicationMethod:
          type: string
          enum:
          - automatic
          example: automatic
          default: automatic
          description: Method by which promotions are applied. Currently supports 'automatic', meaning that promotions are applied without manual intervention.
        rounding:
          type: string
          enum:
          - mathematical
          - floor
          - ceiling
          example: mathematical
          description: 'Specifies the rounding strategy to apply on price calculations: standard mathematical rounding, always down (floor), or always up (ceiling).'
        precision:
          type: integer
          minimum: 0
          maximum: 10
          example: 2
          default: 2
          description: Number of decimal places to use in price and discount calculations.
        promoCode:
          type: string
          example: PROMO10
          description: Optional promo code to apply specific promotions tied to codes.
        currency:
          type: string
          example: USD
          maxLength: 3
          description: ISO currency code for monetary values in the cart.
        cart:
          type: object
          properties:
            cartItems:
              type: array
              description: List of items currently in the cart to be evaluated for promotions.
 

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/antavo/refs/heads/main/openapi/antavo-cart-api-openapi.yml