v1
latestOpenAPI 3.0.32026-07-173196215.4 KBAdd 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.
Path parameters
The ID of the Basket
Query parameters
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.
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).
Adjust variant price based on the specified pricePromotionKey. If the variant does not have a matching price promotion, the default price is returned.
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.
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.
| Include | Nested Includes | Available Filters |
|---|---|---|
| items.product | See available includes for products | Check the filters available for products |
| items.variant | See available includes for variants | Check the filters available for variants |
| applicablePromotions |
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
Base64-encoded data for custom order information. Should be in the format of map[string]any.
A JWT token containing the customer ID used to validate promotions in the promotion engine.
Request body
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.