> ## Documentation Index
> Fetch the complete documentation index at: https://docs.salesive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get add-ons

> Return available add-ons for a food or service catalog item.

## Request

```http theme={null}
GET /products/68e5bb463a1fc56a8ac150c0/addons
x-shop-id: {{shopId}}
```

<Info>
  Use this endpoint for food (restaurant) and service (business) storefronts. The
  response `itemType` reflects the catalog (`food` or `service`). Standard product
  catalogs return an empty `addons` array.
</Info>

## Headers

| Header      | Type   | Description                |
| ----------- | ------ | -------------------------- |
| `x-shop-id` | string | Identify the shop context. |

## Path parameters

| Parameter | Type   | Description                      |
| --------- | ------ | -------------------------------- |
| `id`      | string | Food or service item MongoDB ID. |

## Successful response

```json theme={null}
{
    "status": 200,
    "success": true,
    "message": "Add-ons found",
    "data": {
        "itemId": "68e5bb463a1fc56a8ac150c0",
        "itemType": "food",
        "catalogType": "food",
        "name": "Margherita Pizza",
        "addons": [
            {
                "_id": "68e5bb463a1fc56a8ac150d1",
                "name": "Extra Cheese",
                "description": "A richer mozzarella finish baked on top.",
                "price": 1500,
                "maxQuantity": 3,
                "image": null,
                "available": true
            }
        ]
    }
}
```

## Notes

* Unavailable add-ons are filtered out of this response.
* Add-on objects include the latest `description` field from the food catalog.
* Pair the returned `addonId` values with `POST /cart` using `selectedAddons`.


## OpenAPI

````yaml GET /products/{id}/addons
openapi: 3.1.0
info:
  title: Salesive Store API
  description: >-
    REST interface for querying products, categories, and merchandising banners
    exposed by Salesive storefronts.
  version: 1.0.0
servers:
  - description: Production
    url: https://store.salesive.com/api/v1
security:
  - BearerAuth: []
    ShopIdHeader: []
paths:
  /products/{id}/addons:
    get:
      summary: Get food add-ons
      description: >-
        Return available add-ons for a food catalog item. Standard product
        catalogs return an empty `addons` array.
      parameters:
        - $ref: '#/components/parameters/XShopIdHeader'
        - name: id
          in: path
          required: true
          description: Food item MongoDB identifier.
          schema:
            type: string
      responses:
        '200':
          description: Add-ons retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductAddonsResponse'
        '404':
          description: Food item not found.
components:
  parameters:
    XShopIdHeader:
      name: x-shop-id
      in: header
      description: >-
        Optional identifier that scopes responses to a specific storefront when
        the referer cannot be inferred.
      required: false
      schema:
        type: string
  schemas:
    ProductAddonsResponse:
      type: object
      required:
        - status
        - success
        - message
        - data
      properties:
        status:
          type: integer
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
          properties:
            itemId:
              type: string
            itemType:
              type: string
              enum:
                - product
                - food
                - service
            catalogType:
              type: string
              enum:
                - product
                - food
                - service
            name:
              type: string
            addons:
              type: array
              items:
                $ref: '#/components/schemas/FoodAddon'
    FoodAddon:
      type: object
      required:
        - name
        - price
        - maxQuantity
        - available
      properties:
        _id:
          type: string
        name:
          type: string
        description:
          type: string
          description: >-
            Optional helper text shown in the UI and returned by add-on
            endpoints.
        price:
          type: number
        maxQuantity:
          type: integer
          minimum: 1
        image:
          type:
            - string
            - 'null'
          format: uri
        available:
          type: boolean
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT issued by the Salesive Store API for authenticated shoppers.
    ShopIdHeader:
      type: apiKey
      in: header
      name: x-shop-id
      description: >-
        Optional storefront identifier sent as a header to scope responses to a
        specific shop. Try It requests remember this value once provided.

````