v1

latestOpenAPI 3.0.32026-07-173196215.4 KB
baskets

Add a variant

Adds a new variant to a given basket, so the user can purchase it in the checkout process.

Baskets are created on demand when the first variant is added to the basket.

Only one variant can be added to the basket with each request. Use multiple requests to add more variants.

The variant and quantity to be added is specified in the POST request body (see below). The only strictly required parameters are variantId and quantity.

The response will return the updated content of the basket.

post/v1/baskets/{basketId}/items

Path parameters

basketIdstring required
Example:fySXbTJxa9q_xu_t8edGOHYeJSpaxe7A

The ID of the Basket

Query parameters

campaignKeystring

Adjust prices based on the specified campaignKey. If results are not having a matching campaign, the default price is returned.

Please note, that campaign prices are stored in advance and available earlier than the campaign starts.

includeItemsWithoutProductDataboolean

If includeItemsWithoutProductData is set to true, basket items will be included even if there is no product information available (items.product and items.variant might be empty).

pricePromotionKeystring

Adjust variant price based on the specified pricePromotionKey. If the variant does not have a matching price promotion, the default price is returned.

skipAvailabilityCheckboolean

This parameter allows disabling the availability check when adding an item into the wishlist or basket. This is needed to make sure that sold out products can be reserved via Click & Reserve in retail stores (where they are still available). Important – Check if this resource is available for your shop.

withstring[]

The with parameter can be applied to include related resources, for example, the attributes of a product can be attached using with=items.product.attributes. It is also possible to filter attributes by key with=items.product.attributes:key(plusSize) or by type with=items.product.attributes:type(material_care). The with=applicablePromotions parameter can also be applied to include all promotions applicable for the current basket. In the following table, there is more information about possible includes.

IncludeNested IncludesAvailable Filters
items.productSee available includes for productsCheck the filters available for products
items.variantSee available includes for variantsCheck the filters available for variants
applicablePromotions
shopIdstring required

In case you are operating multiple shops (for example, for different domain names or different languages), each shop is identified by its specific shopId

Headers

X-Order-Custom-Datastring

Base64-encoded data for custom order information. Should be in the format of map[string]any.

X-Customer-Tokenstring

A JWT token containing the customer ID used to validate promotions in the promotion engine.

Request body

quantityinteger required

The quantity for the variant.

variantIdinteger required

The variant to be added to the basket.

promotionIdstring

An optional promotion ID which should be applied to this item.

Example request

{
  "displayData": {
    "meta": {
      "key": "size",
      "label": "Size",
      "value": "M"
    },
    "name": {
      "key": "size",
      "label": "Size",
      "value": "M"
    },
    "identifier": {
      "key": "size",
      "label": "Size",
      "value": "M"
    },
    "attribute-1": {
      "key": "size",
      "label": "Size",
      "value": "M"
    },
    "attribute-2": {
      "key": "size",
      "label": "Size",
      "value": "M"
    },
    "attribute-3": {
      "key": "size",
      "label": "Size",
      "value": "M"
    }
  }
}

Response

The variant was added to the Basket with all of the request quantity.

keystring

A unique key identifying the basket.