# Introduction

This guide outlines the basket management API endpoints in the system. These endpoints allow you to manage shopping baskets and basket items, including adding products, updating quantities, applying voucher codes, and retrieving basket information.

The Basket API provides functionality for:

**1. Basket Management**

* Retrieve current basket details with all items and pricing
* Add products to the basket with quantity and attributes
* Set specific quantities for products (replacing existing quantities)
* Update basket item attributes (e.g., gift notes, custom fields)
* Apply and remove voucher codes for discounts
* Clear all items from the basket
* Get mini basket summary for quick overview

**2. Item Operations**

* Add products with configurable attributes
* Support for bundle products with chapter-based form data
* Manage sub-items (extra products, miscellaneous items)
* Update gift notes and custom attributes on basket items
* Automatic stock validation and unavailable product handling

**3. Promotional Features**

* Automatic application of promotional offers
* Voucher code validation and application
* Detailed discount information per item and basket
* Upsell message display for failed offers
* Support for coupon codes and bulk voucher codes

Each endpoint is designed to support e-commerce operations where users build and manage their shopping baskets before proceeding to checkout.

**NOTE:** All methods support session-based authentication via cookies (osessionid). The basket is automatically associated with the current session and user (if authenticated). Promotional offers are automatically applied after each basket modification.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.akinon.com/commerce-openapis/basket/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
