---
schema_version: "1"
id: 4ec6b3c0c4308fcb575ccd8a5dd5a5c512636740a43af255a0c9c33e94b83af3
title: Shop Product Lists (deprecated)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/b2c-commerce/references/generated-api-specs/ocapi-shop-product-lists.md
canonical_url: https://developer.salesforce.com/docs/commerce/b2c-commerce/references/ocapi-shop-product-lists
source_site: developer.salesforce.com
content_type: documentation
content_hash: a8fa5508ee7a79f26a9780def659dfd75f682bad617d1ba93d18d020ec7f3ceb
products:
  - B2C Commerce
  - Salesforce APIs
---
Shop Product Lists (deprecated)

# Shop Product Lists (deprecated)

The Shop API endpoints enable developers to build full shopper-experience applications such as storefronts. They are designed for high-scale usage, and include a number of areas such as Baskets & Orders, Customers, Products and Pricing. Shop API endpoints are typically read-only APIs, with the exception of baskets and orders.

**Version:** 25.6

## Servers

*   `https://{host}/s/{siteId}/dw/shop/v25_6`

Protocols: https.

## Security

*   `customers_auth` (basic) User authentication either for a registered or a guest customer (selectable in request body). Access via Base64 encoded customer:password string as 'Authorization: Basic' header.
*   `oauth2_application` (oauth2) Authentication flow with client ID and password with account manager.
    *   OAuth flow application (tokenUrl: https://account.demandware.com:443/dwsso/oauth2/access\_token)
    *   Scope x-info: Scopes are NOT supported. This is just a dummy, because the 'scopes' field is required.
*   `client_id` (apiKey) Add client ID for application identification. Alternative as 'client\_id' query parameter.
    *   API key in header: x-dw-client-id

## Operations

### GET Get list of product lists

`GET /product_lists`

Operation ID: `Get list of product lists`. Tags: product\_lists. Security: client\_id; customers\_auth.

Retrieves all public product lists as defined by the given search term (email, first name, last name).

This endpoint may return the following faults:

*   400 - ProductListSearchTermException - Indicates that the anonymous customer did not provide a proper search term.

#### Parameters

*   `email` (query, string) The email address of the customer, the product lists belong to.
*   `firstname` (query, string) The first name of the customer, the product lists belong to.
*   `lastname` (query, string) The last name of the customer, the product lists belong to.

#### Responses

*   **400** `ProductListSearchTermException` - Indicates that the anonymous customer did not provide a proper search term.
    
    Media type: `application/json, text/xml`. Schema: `fault`.
    
*   **default**
    
    Media type: `application/json, text/xml`. Schema: `public_product_list_result`.
    

### GET Get product list

`GET /product_lists/{list_id}`

Operation ID: `Get product list`. Tags: product\_lists. Security: client\_id; customers\_auth.

Retrieves a public product list by id.

This endpoint may return the following faults:

*   404 - ProductListNotFoundException - Indicates that this list doesn't exist.

#### Parameters

*   `list_id` (path, string, required) The id of the list.  
    Minimum length: 1. Maximum length: 28.
*   `expand` (query, array of string) The possible expansions - items, product, images, availability. The product information is included in the product list items that is why the product expansion has to be done together with items expansion. For images and availability both product and items have to be expanded as well.

#### Responses

*   **404** `ProductListNotFoundException` - Indicates that this list doesn't exist.
    
    Media type: `application/json, text/xml`. Schema: `fault`.
    
*   **default**
    
    Media type: `application/json, text/xml`. Schema: `public_product_list`.
    

### GET Get product list items

`GET /product_lists/{list_id}/items`

Operation ID: `Get product list items`. Tags: product\_lists. Security: client\_id; customers\_auth.

Retrieves the items of a public product list.

This endpoint may return the following faults:

*   404 - ProductListNotFoundException - Indicates that this list doesn't exist.

#### Parameters

*   `list_id` (path, string, required) The id of the list.  
    Minimum length: 1. Maximum length: 28.
*   `expand` (query, array of string) The possible expansions - product, images, availability. For images and availability the product has to be expanded as well.

#### Responses

*   **404** `ProductListNotFoundException` - Indicates that this list doesn't exist.
    
    Media type: `application/json, text/xml`. Schema: `fault`.
    
*   **default**
    
    Media type: `application/json, text/xml`. Schema: `public_product_list_item_result`.
    

### GET Get product list item

`GET /product_lists/{list_id}/items/{item_id}`

Operation ID: `Get product list item`. Tags: product\_lists. Security: client\_id; customers\_auth.

Retrieves an item from a public product list.

This endpoint may return the following faults:

*   404 - ProductListItemNotFoundException - Indicates that this product list item doesn't exist.
*   404 - ProductListNotFoundException - Indicates that this list doesn't exist.

#### Parameters

*   `list_id` (path, string, required) The id of the list.  
    Minimum length: 1. Maximum length: 28.
*   `item_id` (path, string, required) The id of the item.  
    Minimum length: 1.
*   `expand` (query, array of string) The possible expansions - product, images, availability. For images and availability the product has to be expanded as well.

#### Responses

*   **404** `ProductListItemNotFoundException` - Indicates that this product list item doesn't exist. or `ProductListNotFoundException` - Indicates that this list doesn't exist.
    
    Media type: `application/json, text/xml`. Schema: `fault`.
    
*   **default**
    
    Media type: `application/json, text/xml`. Schema: `public_product_list_item`.
    

## Schemas

### fault

Document representing a fault message that is returned whenever the HTTP status code is greater than or equal to 400 (which indicates an error).

*   `arguments` (_object_)
    
    A map that provides fault arguments.
    
    Data can be used to provide error messages on the client side.
    
    Additional properties: `object`.
    
*   `cause` (_cause_)
*   `display_message_pattern` (_string_) The localized display message pattern, if the request parameter display\_locale was given
*   `message` (_string_) The message text of the java exception.
*   `stack_trace` (_string_)
*   `type` (_string_) The name of the java exception.

### public\_product\_list\_result

Result document containing an array of public product list links.

*   `count` (_integer (int32)_) The number of returned documents.
*   `data` (_array of public\_product\_list\_link_) The array of product list link documents.
*   `total` (_integer (int32)_) The total number of documents.

_Example_

```
{
  "count": 2,
  "data": [
    {
      "href": "https://example.com/dw/shop/{version}/product_lists/cd2Id9aaabTQYaaadj9vRpVGwg",
      "name": "WAPI-Wedding",
      "public": false,
      "title": "Wedding",
      "type": "gift_registry"
    },
    {
      "href": "https://example.com/dw/shop/{version}/product_lists/ghjMV9aaab9d2aaafjycppVGwe",
      "public": false,
      "title": "Wish List",
      "type": "wish_list"
    }
  ],
  "total": 2
}
```

### public\_product\_list

*   `co_registrant` (_product\_list\_registrant_) The coRegistrant of this product list.
*   `creation_date` (_string (date-time)_) Returns the value of attribute 'creationDate'.
*   `description` (_string_) The description of this product list.
*   `event` (_product\_list\_event_) The event of this product list.
*   `id` (_string_) The id of this product list.  
    Minimum length: 1.
*   `items_link` (_product\_simple\_link_) The resource link to the items of this product list.
*   `last_modified` (_string (date-time)_) Returns the value of attribute 'lastModified'.
*   `name` (_string_) The name of this product list.
*   `product_list_items` (_array of public\_product\_list\_item_) The product list items
*   `product_list_shipping_address` (_product\_list\_shipping\_address_) The abbreviated shipping address of this product list representing what anonymous user can see.
*   `public` (_boolean_) Indicates whether the owner made this product list available for access by other customers.
*   `registrant` (_product\_list\_registrant_) The registrant of this product list.
*   `type` (_string_) The type of the product list.  
    Allowed values: `wish_list`, `gift_registry`, `shopping_list`, `custom_1`, `custom_2`, `custom_3`.

_Example_

```
{
  "co_registrant": {
    "email": "jane.doe@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "role": "Bride"
  },
  "current_shipping_address_link": {
    "link": "https://example.com/dw/shop/{version}/customers/f93jdf93jdfd/addresses/me",
    "title": "me, John Doe, Woburn"
  },
  "event": {
    "city": "Washington",
    "country": "US",
    "date": "2015-07-30T00:00Z",
    "state": "DC",
    "type": "Wedding"
  },
  "id": "bcqg6iWbw4XEYaaadjixFLTWP0",
  "items_link": {
    "link": "https://example.com/dw/shop/{version}/product_lists/bcqg6iWbw4XEYaaadjixFLTWP0/items",
    "title": "2 items"
  },
  "name": "DC-Doe-Wedding",
  "post_event_shipping_address_link": {
    "link": "https://example.com/dw/shop/{version}/customers/f93jdf93jdfd/addresses/jane",
    "title": "jane, Jane Doe, Springfield"
  },
  "product_list_items": [
    {
      "id": "50f50f608aa9ff2fbf9272ed7e",
      "priority": 2,
      "product": {
        "id": "BlueJeans1",
        "inventories": [
          {
            "ats": 100,
            "backorderable": false,
            "id": "BlueJeans1Inventory",
            "orderable": true,
            "preorderable": false,
            "stock_level": 100
          }
        ],
        "min_order_quantity": 1,
        "step_quantity": 1
      },
      "product_details_link": {
        "link": "https://example.com/dw/shop/{version}/products/BlueJeans1?expand=items%2Cproduct%2Cavailability%2Cimages",
        "product_id": "BlueJeans1",
        "product_name": "Product w/- Local Option",
        "title": "Product w/- Local Option"
      },
      "type": "product"
    },
    {
      "id": "2ab5aa2a2e050f1b7fd9463af1",
      "priority": 3,
      "product": {
        "id": "BlackJeans1",
        "inventories": [
          {
            "ats": 999999,
            "backorderable": false,
            "id": "BlackJeans1Inventory",
            "orderable": true,
            "preorderable": false,
            "stock_level": 999999
          }
        ],
        "min_order_quantity": 1,
        "step_quantity": 1
      },
      "product_details_link": {
        "link": "https://example.com/dw/shop/{version}/products/BlackJeans1?expand=items%2Cproduct%2Cavailability%2Cimages",
        "product_id": "BlackJeans1",
        "product_name": "Simple Web API Product",
        "title": "Black Jeans"
      },
      "type": "product"
    },
    {
      "id": "09c9df175e247c0d75d76f443e",
      "priority": 6,
      "product": {
        "id": "RedDress1",
        "image_groups": [
          {
            "images": [
              {
                "alt": "ALT master detail",
                "link": "https://example.com/foo/bar/master_detail.jpg",
                "title": "TITLE master detail"
              }
            ],
            "view_type": "detail"
          },
          {
            "images": [
              {
                "alt": "ALT main swatch",
                "link": "https://example.com/foo/bar/main_swatch.jpg",
                "title": "TITLE main swatch"
              }
            ],
            "view_type": "swatch"
          },
          {
            "images": [
              {
                "alt": "ALT master thumbnail",
                "link": "https://example.com/foo/bar/master_thumbnail.jpg",
                "title": "TITLE master thumbnail"
              }
            ],
            "view_type": "thumbnail"
          }
        ],
        "inventories": [
          {
            "ats": 0,
            "backorderable": false,
            "id": "RedDress1Inventory",
            "orderable": false,
            "preorderable": false,
            "stock_level": 0
          }
        ],
        "min_order_quantity": 1,
        "step_quantity": 1
      },
      "product_details_link": {
        "link": "https://example.com/dw/shop/{version}/products/RedDress2?expand=items%2Cproduct%2Cavailability%2Cimages",
        "product_id": "RedDress2",
        "product_name": "Red Dress 2",
        "title": "Red Dress"
      },
      "type": "product"
    }
  ],
  "public": true,
  "registrant": {
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "role": "Groom"
  },
  "shipping_address_link": {
    "link": "https://example.com/dw/shop/{version}/customers/f93jdf93jdfd/addresses/me",
    "title": "me, John Doe, Woburn"
  },
  "type": "gift_registry"
}
```

### public\_product\_list\_item\_result

Result document containing an array of product list items.

*   `count` (_integer (int32)_) The number of returned documents.
*   `data` (_array of public\_product\_list\_item_) The array of product list item documents.
*   `total` (_integer (int32)_) The total number of documents.

_Example_

```
{
  "count": 2,
  "data": [
    {
      "id": "cdPIB9aaabYFEaaadjOdBoMrMt",
      "position": -1,
      "priority": 2,
      "product_details_link": {
        "link": "https://example.com/dw/shop/{version}/products/008884303989?locale=en-US",
        "product_id": "008884303989",
        "product_name": "Platinum Blue Stripes Easy Care Fitted Shirt",
        "title": "Platinum Blue Stripes Easy Care Fitted Shirt"
      },
      "public": true,
      "purchased_quantity": 0,
      "quantity": 10,
      "type": "product"
    },
    {
      "id": "cdH9N9aaabYFIaaadjOdBoMrMt",
      "position": -1,
      "priority": 2,
      "product": {
        "id": "BlueShirt",
        "image_groups": [
          {
            "images": [
              {
                "alt": "ALT master detail",
                "link": "https://example.com/foo/bar/master_detail.jpg",
                "title": "TITLE master detail"
              }
            ],
            "view_type": "detail"
          },
          {
            "images": [
              {
                "alt": "ALT main swatch",
                "link": "https://example.com/foo/bar/main_swatch.jpg",
                "title": "TITLE main swatch"
              }
            ],
            "view_type": "swatch"
          },
          {
            "images": [
              {
                "alt": "ALT master thumbnail",
                "link": "https://example.com/foo/bar/master_thumbnail.jpg",
                "title": "TITLE master thumbnail"
              }
            ],
            "view_type": "thumbnail"
          }
        ],
        "inventories": [
          {
            "ats": 0,
            "backorderable": false,
            "id": "BlueShirtInventory",
            "orderable": false,
            "preorderable": false,
            "stock_level": 0
          }
        ],
        "product_details_link": {
          "link": "https://example.com/dw/shop/{version}/products/008885535488?locale=en-US",
          "product_id": "008885535488",
          "product_name": "Must Have Washable No-Iron Georgette Blouse",
          "title": "Must Have Washable No-Iron Georgette Blouse"
        },
        "public": false,
        "purchased_quantity": 0,
        "quantity": 1,
        "type": "product"
      },
      "total": 2
    }
  ]
}
```

### public\_product\_list\_item

Document representing a product list item.

*   `id` (_string_) The id of this product list item.
*   `priority` (_integer (int32)_) The priority of the item.
*   `product` (_product_) The product item
*   `product_details_link` (_product\_simple\_link_) A link to the product.
*   `type` (_string_) The type of the item.  
    Allowed values: `product`, `gift_certificate`.

_Example_

```
{
  "id": "50f50f608aa9ff2fbf9272ed7e",
  "priority": 2,
  "product": {
    "id": "BlueJeans",
    "image_groups": [
      {
        "images": [
          {
            "alt": "ALT master detail",
            "link": "https://example.com/foo/bar/master_detail.jpg",
            "title": "TITLE master detail"
          }
        ],
        "view_type": "detail"
      },
      {
        "images": [
          {
            "alt": "ALT main swatch",
            "link": "https://example.com/foo/bar/main_swatch.jpg",
            "title": "TITLE main swatch"
          }
        ],
        "view_type": "swatch"
      },
      {
        "images": [
          {
            "alt": "ALT master thumbnail",
            "link": "https://example.com/foo/bar/master_thumbnail.jpg",
            "title": "TITLE master thumbnail"
          }
        ],
        "view_type": "thumbnail"
      }
    ],
    "inventories": [
      {
        "ats": 0,
        "backorderable": false,
        "id": "BlueJeansInventory",
        "orderable": false,
        "preorderable": false,
        "stock_level": 0
      }
    ],
    "min_order_quantity": 1,
    "step_quantity": 1
  },
  "product_details_link": {
    "link": "https://example.com/dw/shop/{version}/products/BlueJeansType1",
    "product_id": "BlueJeansType1",
    "product_name": "Product w/- Local Option",
    "title": "Product w/- Local Option"
  },
  "quantity": 99,
  "type": "product"
}
```

### cause

*   `cause` (_cause_)
*   `message` (_string_)
*   `type` (_string_)

### public\_product\_list\_link

Document representing a link to a public product list.

*   `description` (_string_) The description of this product list.
*   `id` (_string_) The ID of this product list.
*   `link` (_string_) The target of the link.
*   `name` (_string_) The name of this product list.
*   `title` (_string_) The link title.
*   `type` (_string_) The type of the product list.  
    Allowed values: `wish_list`, `gift_registry`, `shopping_list`, `custom_1`, `custom_2`, `custom_3`.

### product\_list\_registrant

Document representing a product list registrant.

A ProductListRegistrant is typically associated with an event related product list such as a gift registry. It holds information about a person associated with the event such as a bride or groom.

*   `first_name` (_string_) The first name of the registrant.
*   `last_name` (_string_) The last name of the registrant.
*   `role` (_string_) The role of the registrant.

_Example_

```
{
  "email": "johndoe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "role": "Groom"
}
```

### product\_list\_event

Document representing a product list event.

*   `city` (_string_) The city where the event takes place.
*   `country` (_string_) The country where the event takes place.
*   `date` (_string (date-time)_) The date when the event takes place.
*   `state` (_string_) The federal state where the event takes place.
*   `type` (_string_) Type of the event to celebrate.

_Example_

```
{
  "city": "Washington",
  "country": "US",
  "date": "2015-07-30T00:00Z",
  "state": "DC",
  "type": "Wedding"
}
```

### product\_simple\_link

Document representing a link to a product.

*   `link` (_string_) The target of the link.
*   `title` (_string_) The link title.

_Example_

```
{
  "link": "https://example.com/dw/shop/{version}/products/008884303989",
  "title": "Platinum Blue Stripes Easy Care Fitted Shirt"
}
```

### product\_list\_shipping\_address

Document representing a product list shipping address.

*   `address_id` (_string_, required) The id of this address.  
    Minimum length: 1.
*   `city` (_string_) The city of this address.
*   `first_name` (_string_) The first name of this address.
*   `last_name` (_string_) The last name of this address.

### product

Document representing a product.

*   `brand` (_string_) The product's brand.
*   `bundled_products` (_array of bundled\_product_) The array of all bundled products of this product.
*   `currency` (_string_) The ISO 4217 mnemonic code of the currency.
*   `ean` (_string_) The European Article Number.
*   `fetch_date` (_integer (int32)_)
*   `id` (_string_, required) The id (SKU) of the product.  
    Minimum length: 1. Maximum length: 100.
*   `image_groups` (_array of image\_group_) The array of product image groups.
*   `inventories` (_array of inventory_) The array of product inventories explicitly requested via 'inventory\_ids' query parameter. This property is only returned in context of the 'availability' expansion.
*   `inventory` (_inventory_) The site default inventory information. This property is only returned in context of the 'availability' expansion.
*   `long_description` (_string (html)_) The localized product long description.
*   `manufacturer_name` (_string_) The products manufacturer name.
*   `manufacturer_sku` (_string_) The products manufacturer sku.
*   `master` (_master_) The master product information. Only for types master, variation group and variant.
*   `min_order_quantity` (_number (double)_) The minimum order quantity for this product.
*   `name` (_string_) The localized product name.
*   `options` (_array of option_) The array of product options. This array can be empty. Only for type option.
*   `page_description` (_string_) The localized products page description.
*   `page_keywords` (_string_) The localized products page description.
*   `page_title` (_string_) The localized products page title.
*   `price` (_number (double)_) The sales price of the product. In case of complex products like master or set this is the minimum price of related child products.
*   `price_max` (_number (double)_) The maximum sales of related child products in case of complex products like master or set.
*   `price_per_unit` (_number (double)_) The sales price per unit of the product. In case of complex products like master or set this is the minimum price per unit of related child products.
*   `price_per_unit_max` (_number (double)_) The maximum sales price per unit of related child products in case of complex products like master or set.
*   `prices` (_object_) The prices map with price book ids and their values.
    
    Additional properties: `number (double)`.
    
*   `primary_category_id` (_string_) The id of the products primary category.
*   `product_links` (_array of product\_link_) The array of source and target products links information.
*   `product_promotions` (_array of product\_promotion_) An array of active customer product promotions for this product, sorted by promotion priority using SORT\_BY\_EXCLUSIVITY ordering (exclusivity -> rank -> promotion class -> discount type -> best discount -> ID). This array can be empty. Coupon promotions are not returned in this array. See PromotionPlan.SORT\_BY\_EXCLUSIVITY for more details.
*   `recommendations` (_array of recommendation_) Returns a list of recommendations.
*   `set_products` (_array of product_) The array of set products of this product.
*   `short_description` (_string (html)_) The localized product short description.
*   `step_quantity` (_number (double)_) The steps in which the order amount of the product can be increased.
*   `type` (_product\_type_) The product type information. Can be one or multiple of the following values: item,master,variation\_group,variant,bundle,set.
*   `unit` (_string_) The sales unit of the product.
*   `unit_measure` (_string_) The unitMeasure of the product.
*   `unit_quantity` (_number (double)_)
*   `upc` (_string_) The Universal Product Code.
*   `valid_from` (_string (date-time)_) The time when product is valid from.
*   `valid_to` (_string (date-time)_) The time when product is valid to.
*   `variants` (_array of variant_) The array of actual variants. This array can be empty. Only for types master, variation group and variant.
*   `variation_attributes` (_array of variation\_attribute_) Sorted array of variation attributes information. This array can be empty. Only for types master, variation group and variant.
*   `variation_groups` (_array of variation\_group_) The array of actual variation groups. This array can be empty. Only for types master, variation group and variant.
*   `variation_values` (_object_)
    
    The actual variation attribute id - value pairs. Only for type variant and variation group.
    
    ```
         Only for type variant and variation group.
    ```
    
    Additional properties: `string`.
    

_Example_

```
{
  "_type": "product",
  "_v": "24.5",
  "brand": "Creative",
  "id": "creative-zen-v",
  "min_order_quantity": 1,
  "name": "Creative ZEN V Digital Media Player",
  "page_description": "The ZEN V player was designed for people like you—those who walk a step or two ahead of the pack. So don't be surprised when people take notice of your cool, colorful music and photo player.",
  "page_keywords": "Creative",
  "page_title": "Creative ZEN V Digital Media Player",
  "primary_category_id": "electronics-digital-media-players",
  "short_description": "The ZEN V player was designed for people like you—those who walk a step or two ahead of the pack. So don't be surprised when people take notice of your cool, colorful music and photo player.",
  "step_quantity": 1,
  "type": {
    "item": true
  },
  "c_mediaFormat": [
    "0010",
    "0020",
    "0030",
    "0040"
  ],
  "c_memorySize": "1GB",
  "c_tabDescription": "The ZEN V player was designed for people like you—those who walk a step or two ahead of the pack. So don't be surprised when people take notice of your cool, colorful music and photo player."
}
```

### bundled\_product

Document representing a bundled product within a product bundle.

*   `id` (_string_)
*   `product` (_product_) The product being bundled.
*   `quantity` (_number (double)_) For the product being bundled, the quantity added to the bundle.

_Example_

```
{
  "product": {
    "brand": "Sony",
    "id": "sony-ps3-console",
    "name": "Sony Playstation 3 Game Console",
    "page_description": "ncludes PLAYSTATION 3 80GB system, DUALSHOCK 3 wireless controller, free PLAYSTATION Network membership, internet ready Wi-Fi, and 80GB of hard disk storage for all your games, music, videos, and photos. Every PS3 comes with a built-in Blu-ray player to give you the best high-definition viewing experience and pristine picture quality. Plus, the PS3 can play your entire catalog of CDs and DVDs.",
    "page_keywords": "Sony",
    "page_title": "Sony Playstation 3 Game Console",
    "primary_category_id": "electronics-game-consoles",
    "short_description": "ncludes PLAYSTATION 3 80GB system, DUALSHOCK 3 wireless controller, free PLAYSTATION Network membership, internet ready Wi-Fi, and 80GB of hard disk storage for all your games, music, videos, and photos. Every PS3 comes with a built-in Blu-ray player to give you the best high-definition viewing experience and pristine picture quality. Plus, the PS3 can play your entire catalog of CDs and DVDs.",
    "type": {
      "item": true,
      "option": true
    }
  },
  "quantity": 1
}
```

### image\_group

Document representing an image group containing a list of images for a particular view type and an optional variation value.

*   `images` (_array of image_) The images of the image group.
*   `variation_attributes` (_array of variation\_attribute_) Returns a list of variation attributes applying to this image group.
*   `view_type` (_string_) The image view type.

_Example_

```
{
  "images": [
    {
      "alt": "ALT master detail",
      "link": "https://example.com/foo/bar/master_detail.jpg",
      "title": "TITLE master detail"
    }
  ],
  "view_type": "detail"
}
```

### inventory

Document representing inventory information of the current product for a particular inventory list.

*   `ats` (_number (double)_) The ats of the product. If it is infinity, the return value is 999999. The value can be overwritten by the OCAPI setting 'product.inventory.ats.max\_threshold'.
*   `backorderable` (_boolean_) A flag indicating whether the product is back orderable.
*   `id` (_string_, required) The inventory id.
*   `in_stock_date` (_string (date-time)_) A flag indicating the date when the product will be in stock.
*   `orderable` (_boolean_) A flag indicating whether at least one of products is available to sell.
*   `preorderable` (_boolean_) A flag indicating whether the product is pre orderable.
*   `stock_level` (_number (double)_) The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the OCAPI setting 'product.inventory.stock\_level.max\_threshold'.

_Example_

```
{
  "ats": 0,
  "backorderable": false,
  "id": "BlueJeansInventory",
  "orderable": false,
  "preorderable": false,
  "stock_level": 0
}
```

### master

Document representing a variation master.

*   `link` (_string_) The URL addressing the master product.
*   `master_id` (_string_, required) The id (SKU) of the master product.  
    Minimum length: 1. Maximum length: 100.
*   `orderable` (_boolean_) A flag indicating whether at least one of the variants is orderable.
*   `price` (_number (double)_) The minimum sales price of the related variants.
*   `price_max` (_number (double)_) The maximum sales of related variants.
*   `price_per_unit` (_number (double)_) The minimum sales price per unit of the related variants.
*   `price_per_unit_max` (_number (double)_) The maximum sales price per unit of the related variants.
*   `prices` (_object_)
    
    Additional properties: `number (double)`.
    

### option

Document representing a product option.

*   `description` (_string_) The localized description of the option.
*   `id` (_string_, required) The id of the option.  
    Minimum length: 1. Maximum length: 100.
*   `image` (_string_) The URL to the option image.
*   `name` (_string_) The localized name of the option.
*   `values` (_array of option\_value_) The array of option values. This array can be empty.

### product\_link

Document representing a link between two products. It contains the id of the source and target products, the type of product link, and URLs to retrieve product data.

*   `source_product_id` (_string_) The semantic id of the product from which this product link is coming.
*   `source_product_link` (_string_) The URL addressing the product from which this product link is coming.
*   `target_product_id` (_string_) The semantic id of the product to which this product link is pointing.
*   `target_product_link` (_string_) The URL addressing the product to which this product link is pointing.
*   `type` (_string_) The type of this product link.  
    Allowed values: `cross_sell`, `replacement`, `up_sell`, `accessory`, `newer_version`, `alt_orderunit`, `spare_part`, `other`.

_Example_

```
{
  "source_product_id": "namco-we-ski-wii",
  "source_product_link": "http://example.com/dw/shop/{version}/products/namco-we-ski-wii?pretty_print=true",
  "target_product_id": "midway-cruisn-wii",
  "target_product_link": "http://example.com/dw/shop/{version}/products/midway-cruisn-wii?pretty_print=true",
  "type": "cross_sell"
}
```

### product\_promotion

Document representing a product promotion.

*   `callout_msg` (_string_) The localized call-out message of the promotion.
*   `link` (_string_) The URL addressing the promotion.
*   `promotion_id` (_string_) The unique id of the promotion.
*   `promotional_price` (_number (double)_) The promotional price for this product.

_Example_

```
{
  "callout_msg": "Save 15% Off iPod Nano",
  "link": "http://example.com/dw/shop/{version}/promotions/15off-nano",
  "promotion_id": "15off-nano"
}
```

### recommendation

Document representing a product recommendation.

*   `callout_msg` (_string (html)_) The localized callout message of the recommendation.
*   `image` (_image_) The image of the recommendation.
*   `long_description` (_string (html)_) The localized long description of the recommendation.
*   `name` (_string_) The localized name of the recommendation.
*   `recommendation_type` (_recommendation\_type_) The recommendation type of the recommendation.
*   `recommended_item_id` (_string_) The recommended item id of the recommendation.
*   `recommended_item_link` (_string_) The recommended item link of the recommendation.
*   `short_description` (_string (html)_) The localized short description of the recommendation.

### product\_type

Document representing a product type.

*   `bundle` (_boolean_) A flag indicating whether the product is a bundle.
*   `item` (_boolean_) A flag indicating whether the product is a standard item.
*   `master` (_boolean_) A flag indicating whether the product is a master.
*   `option` (_boolean_) A flag indicating whether the product is an option.
*   `set` (_boolean_) A flag indicating whether the product is a set.
*   `variant` (_boolean_) A flag indicating whether the product is a variant.
*   `variation_group` (_boolean_) A flag indicating whether the product is a variation group.

_Example_

```
{
  "item": true
}
```

### variant

Document representing a product variation.

*   `link` (_string_) The URL addressing the product.
*   `orderable` (_boolean_) A flag indicating whether the variant is orderable.
*   `price` (_number (double)_) The sales price of the variant.
*   `price_per_unit` (_number (double)_) The sales price of the variant.
*   `product_id` (_string_, required) The id (SKU) of the variant.  
    Minimum length: 1. Maximum length: 100.
*   `variation_values` (_object_) The actual variation attribute id - value pairs.
    
    Additional properties: `string`.
    

_Example_

```
{
  "link": "http://example.com/dw/shop/{version}/products/apple-ipod-touch-8gb?pretty_print=true",
  "product_id": "apple-ipod-touch-8gb",
  "variation_values": {
    "memorySize": "8 GB"
  }
}
```

### variation\_attribute

Document representing a variation attribute.

*   `id` (_string_, required) The id of the variation attribute.  
    Minimum length: 1.
*   `name` (_string_) The localized display name of the variation attribute.
*   `values` (_array of variation\_attribute\_value_) The sorted array of variation values. This array can be empty.

_Example_

```
{
  "id": "memorySize",
  "name": "Memory Size",
  "values": [
    {
      "name": "1 GB",
      "value": "1 GB"
    },
    {
      "name": "2 GB",
      "value": "2 GB"
    },
    {
      "name": "8 GB",
      "value": "8 GB"
    },
    {
      "name": "16 GB",
      "value": "16 GB"
    },
    {
      "name": "32 GB",
      "value": "32 GB"
    },
    {
      "name": "120 GB",
      "value": "120 GB"
    }
  ]
}
```

### variation\_group

Document representing a variation group.

*   `link` (_string_) The URL addressing the product.
*   `orderable` (_boolean_) A flag indicating whether the variation group is orderable.
*   `price` (_number (double)_) The sales price of the variation group.
*   `price_per_unit` (_number (double)_) The sales price per unit of the variation group.
*   `product_id` (_string_) The id (SKU) of the variation group.  
    Minimum length: 1. Maximum length: 100.
*   `variation_values` (_object_) The actual variation attribute id - value pairs.
    
    Additional properties: `string`.
    

### image

Document representing a product image.

*   `alt` (_string_) The localized alternative text of the image.
*   `dis_base_link` (_string_) Base URL for dynamic image service address. This is only shown, if the image is stored on the server and DIS is enabled.
*   `link` (_string_, required) The URL of the actual image.  
    Minimum length: 1.
*   `title` (_string_) The localized title of the image.

_Example_

```
{
  "alt": "ALT main swatch",
  "link": "https://example.com/foo/bar/main_swatch.jpg",
  "title": "TITLE main swatch"
}
```

### option\_value

Document representing an option value.

*   `default` (_boolean_) A flag indicating whether this option value is the default one.
*   `id` (_string_, required) The id of the option value.  
    Minimum length: 1. Maximum length: 100.
*   `name` (_string_) The localized name of the option value.
*   `price` (_number (double)_) The effective price of this option value.

### recommendation\_type

Document representing a recommendation type.

*   `display_value` (_string_) The localized display value of the recommendation type.
*   `value` (_integer (int32)_) The value of the recommendation type.

_Example_

```
{
  "display_value": "Cross-Sell",
  "value": 1
}
```

### variation\_attribute\_value

Document representing a variation attribute value.

*   `description` (_string_) The localized description of the variation value.
*   `image` (_image_) The first product image for the configured viewtype and this variation value.
*   `image_swatch` (_image_) The first product image for the configured viewtype and this variation value. (typically the swatch image)
*   `name` (_string_) The localized display name of the variation value.
*   `orderable` (_boolean_) A flag indicating whether at least one variant with this variation attribute value is available to sell.
*   `value` (_string_, required) The actual variation value.  
    Minimum length: 1.