> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - If a reference page seems to be missing its schema (parameters, return types, or type definitions), append `?schema=true` to its `.md` URL (e.g. `https://dev.wix.com/docs/contexts/contexts/stores/category-info/use-category-info-context.md?schema=true`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# ListEmbeddableItems

# Package: richContent

# Namespace: RicosEmbeddables

# Method link: https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md

## Permission Scopes:
Manage Rich Content embeddable items: SCOPE.RICOS.MANAGE-EMBEDDABLES

## Introduction

Retrieves a list of embeddable items of a single item type, with optional title search and cursor paging.

Each call returns items of 1 `itemType`. To collect items of several types, call this method once per type.

The following items are returned:
+ `BOOKING`: Services that have a service page on the site.
+ `EVENT`: Events that haven't ended.
+ `PRODUCT`: Visible products, including out-of-stock products.
+ `BLOG_POST`: Published posts.
+ `STORE_CATEGORY`: Store categories.

When the source app isn't installed on the site, the response contains no items.

Blog posts are sorted by first published date, newest first. For other item types, the order is unspecified and can change.

Each item includes its full plain-text description (`excerpt` for blog posts), so responses can be large. Specify a smaller `paging.limit` when you only need titles and images.

To retrieve the next page, specify `pagingMetadata.cursors.next` from the previous response in `paging.cursor`, together with the same `query`.

---

## REST API

### Schema

```
 Method: listEmbeddableItems
 Description: Retrieves a list of embeddable items of a single item type, with optional title search and cursor paging.  Each call returns items of 1 `itemType`. To collect items of several types, call this method once per type.  The following items are returned: + `BOOKING`: Services that have a service page on the site. + `EVENT`: Events that haven't ended. + `PRODUCT`: Visible products, including out-of-stock products. + `BLOG_POST`: Published posts. + `STORE_CATEGORY`: Store categories.  When the source app isn't installed on the site, the response contains no items.  Blog posts are sorted by first published date, newest first. For other item types, the order is unspecified and can change.  Each item includes its full plain-text description (`excerpt` for blog posts), so responses can be large. Specify a smaller `paging.limit` when you only need titles and images.  To retrieve the next page, specify `pagingMetadata.cursors.next` from the previous response in `paging.cursor`, together with the same `query`.
 URL: https://www.wixapis.com/ricos/v1/embeddable-items/list
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  itemType
 Method parameters: 
   param name: itemType | type: ItemType | description: Type of embeddable item. | required: true 
      - enum:
           BOOKING - Bookable service from Wix Bookings (not an individual booking). Services without a service page on the site aren't listed.
           EVENT - Event from Wix Events. Ended events aren't listed.
           PRODUCT - Product from Wix Stores. Visible products are listed, including out-of-stock products. [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md) can return a product that has no product page on the site, with empty `pageUrl` and `path`. [Get Embeddable Item](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/get-embeddable-item.md) returns a `NOT_FOUND` error for such a product.
           BLOG_POST - Published blog post from Wix Blog.
           STORE_CATEGORY - Product category from Wix Stores.
   param name: paging | type: CursorPaging | description: Cursor paging options.  
        - name: limit | type: integer | description: Maximum number of items to return.  Default: `100` for `EVENT`, `PRODUCT` and `STORE_CATEGORY`. For `BOOKING` and `BLOG_POST`, the source app's default applies.  | validation: minimum 0, maximum 100, format int32
        - name: cursor | type: string | description: Cursor pointing to the page of results to retrieve. Specify `pagingMetadata.cursors.next` or `pagingMetadata.cursors.prev` from the previous response.  | validation: maxLength 16000
   param name: query | type: query | description: Text to search for in item titles. How the text is matched depends on `itemType`.  When you specify `paging.cursor`, specify the same `query` as in the original request.  | validation: maxLength 300
 Return type: ListEmbeddableItemsResponse
  - name: items | type: array<EmbeddableItem> | description: Retrieved embeddable items.  
     - ONE-OF: 
        - name: bookingDetails | type: BookingDetails | description: Bookable service details. Returned only when `itemType` is `BOOKING`.  
           - name: durations | type: array<integer> | description: Available session durations in minutes.  | validation: minimum 1, maximum 44639, maxItems 50
           - name: description | type: string | description: Service description in plain text.  | validation: maxLength 100000
        - name: eventDetails | type: EventDetails | description: Event details. Returned only when `itemType` is `EVENT`.  
           - name: formattedDateAndTime | type: string | description: Event date and time, formatted for display by Wix Events.  | validation: maxLength 500
           - name: startDate | type: string | description: Date and time the event starts.  | validation: format date-time
           - name: endDate | type: string | description: Date and time the event ends.  | validation: format date-time
           - name: timeZoneId | type: string | description: Event time zone GUID in @IANA TZ database format. For example, `America/New_York`.  | validation: maxLength 100
           - name: location | type: string | description: Event location name.  | validation: maxLength 50
           - name: description | type: string | description: Event short description in plain text.  | validation: maxLength 100000
        - name: blogPostDetails | type: BlogPostDetails | description: Blog post details. Returned only when `itemType` is `BLOG_POST`.  
           - name: lastPublishedDate | type: string | description: Date and time the blog post was last published.  | validation: format date-time
           - name: excerpt | type: string | description: Blog post excerpt in plain text.  | validation: maxLength 100000
        - name: productDetails | type: ProductDetails | description: Product details. Returned only when `itemType` is `PRODUCT`.  
           - name: description | type: string | description: Product description in plain text.  | validation: maxLength 100000
        - name: storeCategoryDetails | type: StoreCategoryDetails | description: Store category details. Returned only when `itemType` is `STORE_CATEGORY`.  
           - name: description | type: string | description: Category description in plain text.  | validation: maxLength 100000
     - name: id | type: string | description: Item GUID. This is the GUID of the source entity in its Wix app. Depending on `itemType`, it's a Wix Bookings service GUID, a Wix Events event GUID, a Wix Stores product GUID, a Wix Blog post GUID, or a Wix Stores category GUID.  Not always a GUID.  For `PRODUCT` and `STORE_CATEGORY`, the GUID depends on the site's Wix Stores catalog version.  | validation: maxLength 100
     - name: title | type: string | description: Item title. For example, a service name, product name, or blog post title.  | validation: maxLength 300
     - name: image | type: Image | description: Item image: the main service image for `BOOKING`, the main event image for `EVENT`, the main media image for `PRODUCT`, the cover image for `BLOG_POST`, and the category image for `STORE_CATEGORY`.  Not returned when the item has no image.  
        - name: id | type: string | description: Wix Media image GUID.  | validation: maxLength 100
        - name: url | type: string | description: Image URL.  | validation: format WEB_URL
        - name: height | type: integer | description: Original image height in pixels.  | read-only: true 
        - name: width | type: integer | description: Original image width in pixels.  | read-only: true 
     - name: pageUrl | type: string | description: URL of the item's page.  For `BOOKING`, `EVENT`, and `PRODUCT`, this is a Wix link (`https://www.wix.app/...`) that redirects to the item's page on the live site and keeps working when the site's domain changes. For `BLOG_POST` and `STORE_CATEGORY`, this is the absolute URL of the page on the site, built from the site's base URL and `path`.  Empty when the item has no page on the site.  | validation: format WEB_URL
     - name: pricingData | type: PricingData | description: Item pricing. For a single price, `minValue` and `maxValue` are equal. For a free bookable service, no prices are returned.  Returned only for `BOOKING`, `EVENT`, and `PRODUCT` items.  
        - name: minValue | type: string | description: Lowest price. For example, `10.99`.  | validation: decimalValue {"maxScale":2}
        - name: maxValue | type: string | description: Highest price. For example, `19.99`.  | validation: decimalValue {"maxScale":2}
        - name: discountedValue | type: string | description: Lowest price after discounts. For example, `15.99`. When the product has no discount, the value can equal `minValue`.  Returned only for `PRODUCT` items.  | validation: decimalValue {"maxScale":2}
        - name: currency | type: string | description: Three-letter currency code in @ISO-4217 alphabetic format.  | validation: format CURRENCY
        - name: pricingPlanId | type: string | description: GUID of a Wix Pricing Plans plan that can be used to pay for the service.  Returned only for `BOOKING` items whose service accepts pricing plans.  | validation: format GUID
     - name: itemType | type: ItemType | description: Item type. Determines which details object is returned.  
         - enum:
         -     BOOKING: Bookable service from Wix Bookings (not an individual booking). Services without a service page on the site aren't listed.
         -     EVENT: Event from Wix Events. Ended events aren't listed.
         -     PRODUCT: Product from Wix Stores. Visible products are listed, including out-of-stock products. [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md) can return a product that has no product page on the site, with empty `pageUrl` and `path`. [Get Embeddable Item](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/get-embeddable-item.md) returns a `NOT_FOUND` error for such a product.
         -     BLOG_POST: Published blog post from Wix Blog.
         -     STORE_CATEGORY: Product category from Wix Stores.
     - name: path | type: string | description: Path of the item's page, relative to the site's base URL. For example, `/post/my-post`. On free sites the base URL includes the site-name prefix, for example `https://user.wixsite.com/my-site`.  To build a full URL, join the site's base URL with this path. Store `path` instead of an absolute URL when a link must keep working after the site's domain changes.  Empty when the item has no page on the site, for example a store category without a slug.  | validation: maxLength 2000
  - name: pagingMetadata | type: PagingMetadataV2 | description: Paging metadata.  
     - name: count | type: integer | description: Number of items returned in this response.  | validation: format int32
     - name: cursors | type: Cursors | description: Cursors for retrieving the next and previous pages.  
        - name: next | type: string | description: Cursor for the next page of results. Not returned when there are no more results.  | validation: maxLength 16000
        - name: prev | type: string | description: Cursor for the previous page of results. Not returned on the first page.  | validation: maxLength 16000

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: ITEM_TYPE_NOT_SUPPORTED | Description: `itemType` is `UNKNOWN_ITEM_TYPE` or an unrecognized value. Specify a supported item type.
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_CURSOR | Description: `paging.cursor` is malformed. Specify a cursor from a previous response's `pagingMetadata.cursors`.
   HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: STORES_PERMISSION_DENIED | Description: The [identity](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities.md) used to call the method can't access the site's Wix Stores catalog. Applies to `PRODUCT` and `STORE_CATEGORY` items.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: UNSUPPORTED_CATALOG_VERSION | Description: The site's Wix Stores catalog version is neither V1 nor V3. Applies to `STORE_CATEGORY` items.
   HTTP Code: 503 | Status Code: UNAVAILABLE | Application Code: EVENTS_SERVICE_UNAVAILABLE | Description: Wix Events is temporarily unavailable. Applies to `EVENT` items. Retry the request later.


```

### Examples

### Search products by name
Lists products whose name matches the search text, 2 items per page.

```curl
curl -X POST \
'https://www.wixapis.com/ricos/v1/embeddable-items/list' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "itemType": "PRODUCT",
  "query": "Shirt",
  "paging": {
    "limit": 2
  }
}'
```

### List blog posts for a link picker
Lists published blog posts whose title contains the search text, newest first. Store `path` to build a link that keeps working when the site's domain changes.

```curl
curl -X POST \
'https://www.wixapis.com/ricos/v1/embeddable-items/list' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "itemType": "BLOG_POST",
  "query": "summer",
  "paging": {
    "limit": 10
  }
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.richContent.ricosEmbeddables.listEmbeddableItems(itemType, options)
 Description: Retrieves a list of embeddable items of a single item type, with optional title search and cursor paging.  Each call returns items of 1 `itemType`. To collect items of several types, call this method once per type.  The following items are returned: + `BOOKING`: Services that have a service page on the site. + `EVENT`: Events that haven't ended. + `PRODUCT`: Visible products, including out-of-stock products. + `BLOG_POST`: Published posts. + `STORE_CATEGORY`: Store categories.  When the source app isn't installed on the site, the response contains no items.  Blog posts are sorted by first published date, newest first. For other item types, the order is unspecified and can change.  Each item includes its full plain-text description (`excerpt` for blog posts), so responses can be large. Specify a smaller `paging.limit` when you only need titles and images.  To retrieve the next page, specify `pagingMetadata.cursors.next` from the previous response in `paging.cursor`, together with the same `query`.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  itemType
 Method parameters: 
   param name: itemType | type: ItemType | description: Type of embeddable item. | required: true 
      - enum:
           BOOKING - Bookable service from Wix Bookings (not an individual booking). Services without a service page on the site aren't listed.
           EVENT - Event from Wix Events. Ended events aren't listed.
           PRODUCT - Product from Wix Stores. Visible products are listed, including out-of-stock products. [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md) can return a product that has no product page on the site, with empty `pageUrl` and `path`. [Get Embeddable Item](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/get-embeddable-item.md) returns a `NOT_FOUND` error for such a product.
           BLOG_POST - Published blog post from Wix Blog.
           STORE_CATEGORY - Product category from Wix Stores.
   param name: options | type: ListEmbeddableItemsOptions  none  
        - name: query | type: string | description: Text to search for in item titles. How the text is matched depends on `itemType`.  When you specify `paging.cursor`, specify the same `query` as in the original request.  | validation: maxLength 300
        - name: paging | type: CursorPaging | description: Cursor paging options.  
           - name: limit | type: integer | description: Maximum number of items to return.  Default: `100` for `EVENT`, `PRODUCT` and `STORE_CATEGORY`. For `BOOKING` and `BLOG_POST`, the source app's default applies.  | validation: minimum 0, maximum 100, format int32
           - name: cursor | type: string | description: Cursor pointing to the page of results to retrieve. Specify `pagingMetadata.cursors.next` or `pagingMetadata.cursors.prev` from the previous response.  | validation: maxLength 16000
 Return type: PROMISE<ListEmbeddableItemsResponse>
  - name: items | type: array<EmbeddableItem> | description: Retrieved embeddable items.  
     - ONE-OF: 
        - name: bookingDetails | type: BookingDetails | description: Bookable service details. Returned only when `itemType` is `BOOKING`.  
           - name: durations | type: array<integer> | description: Available session durations in minutes.  | validation: minimum 1, maximum 44639, maxItems 50
           - name: description | type: string | description: Service description in plain text.  | validation: maxLength 100000
        - name: eventDetails | type: EventDetails | description: Event details. Returned only when `itemType` is `EVENT`.  
           - name: formattedDateAndTime | type: string | description: Event date and time, formatted for display by Wix Events.  | validation: maxLength 500
           - name: startDate | type: Date | description: Date and time the event starts.  
           - name: endDate | type: Date | description: Date and time the event ends.  
           - name: timeZoneId | type: string | description: Event time zone GUID in @IANA TZ database format. For example, `America/New_York`.  | validation: maxLength 100
           - name: location | type: string | description: Event location name.  | validation: maxLength 50
           - name: description | type: string | description: Event short description in plain text.  | validation: maxLength 100000
        - name: blogPostDetails | type: BlogPostDetails | description: Blog post details. Returned only when `itemType` is `BLOG_POST`.  
           - name: lastPublishedDate | type: Date | description: Date and time the blog post was last published.  
           - name: excerpt | type: string | description: Blog post excerpt in plain text.  | validation: maxLength 100000
        - name: productDetails | type: ProductDetails | description: Product details. Returned only when `itemType` is `PRODUCT`.  
           - name: description | type: string | description: Product description in plain text.  | validation: maxLength 100000
        - name: storeCategoryDetails | type: StoreCategoryDetails | description: Store category details. Returned only when `itemType` is `STORE_CATEGORY`.  
           - name: description | type: string | description: Category description in plain text.  | validation: maxLength 100000
     - name: _id | type: string | description: Item GUID. This is the GUID of the source entity in its Wix app. Depending on `itemType`, it's a Wix Bookings service GUID, a Wix Events event GUID, a Wix Stores product GUID, a Wix Blog post GUID, or a Wix Stores category GUID.  Not always a GUID.  For `PRODUCT` and `STORE_CATEGORY`, the GUID depends on the site's Wix Stores catalog version.  | validation: maxLength 100
     - name: title | type: string | description: Item title. For example, a service name, product name, or blog post title.  | validation: maxLength 300
     - name: image | type: string | description: Item image: the main service image for `BOOKING`, the main event image for `EVENT`, the main media image for `PRODUCT`, the cover image for `BLOG_POST`, and the category image for `STORE_CATEGORY`.  Not returned when the item has no image.  
     - name: pageUrl | type: string | description: URL of the item's page.  For `BOOKING`, `EVENT`, and `PRODUCT`, this is a Wix link (`https://www.wix.app/...`) that redirects to the item's page on the live site and keeps working when the site's domain changes. For `BLOG_POST` and `STORE_CATEGORY`, this is the absolute URL of the page on the site, built from the site's base URL and `path`.  Empty when the item has no page on the site.  | validation: format WEB_URL
     - name: pricingData | type: PricingData | description: Item pricing. For a single price, `minValue` and `maxValue` are equal. For a free bookable service, no prices are returned.  Returned only for `BOOKING`, `EVENT`, and `PRODUCT` items.  
        - name: minValue | type: string | description: Lowest price. For example, `10.99`.  | validation: decimalValue {"maxScale":2}
        - name: maxValue | type: string | description: Highest price. For example, `19.99`.  | validation: decimalValue {"maxScale":2}
        - name: discountedValue | type: string | description: Lowest price after discounts. For example, `15.99`. When the product has no discount, the value can equal `minValue`.  Returned only for `PRODUCT` items.  | validation: decimalValue {"maxScale":2}
        - name: currency | type: string | description: Three-letter currency code in @ISO-4217 alphabetic format.  | validation: format CURRENCY
        - name: pricingPlanId | type: string | description: GUID of a Wix Pricing Plans plan that can be used to pay for the service.  Returned only for `BOOKING` items whose service accepts pricing plans.  | validation: format GUID
     - name: itemType | type: ItemType | description: Item type. Determines which details object is returned.  
         - enum:
         -     BOOKING: Bookable service from Wix Bookings (not an individual booking). Services without a service page on the site aren't listed.
         -     EVENT: Event from Wix Events. Ended events aren't listed.
         -     PRODUCT: Product from Wix Stores. Visible products are listed, including out-of-stock products. [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md) can return a product that has no product page on the site, with empty `pageUrl` and `path`. [Get Embeddable Item](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/get-embeddable-item.md) returns a `NOT_FOUND` error for such a product.
         -     BLOG_POST: Published blog post from Wix Blog.
         -     STORE_CATEGORY: Product category from Wix Stores.
     - name: path | type: string | description: Path of the item's page, relative to the site's base URL. For example, `/post/my-post`. On free sites the base URL includes the site-name prefix, for example `https://user.wixsite.com/my-site`.  To build a full URL, join the site's base URL with this path. Store `path` instead of an absolute URL when a link must keep working after the site's domain changes.  Empty when the item has no page on the site, for example a store category without a slug.  | validation: maxLength 2000
  - name: pagingMetadata | type: PagingMetadataV2 | description: Paging metadata.  
     - name: count | type: integer | description: Number of items returned in this response.  | validation: format int32
     - name: cursors | type: Cursors | description: Cursors for retrieving the next and previous pages.  
        - name: next | type: string | description: Cursor for the next page of results. Not returned when there are no more results.  | validation: maxLength 16000
        - name: prev | type: string | description: Cursor for the previous page of results. Not returned on the first page.  | validation: maxLength 16000

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: ITEM_TYPE_NOT_SUPPORTED | Description: `itemType` is `UNKNOWN_ITEM_TYPE` or an unrecognized value. Specify a supported item type.
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_CURSOR | Description: `paging.cursor` is malformed. Specify a cursor from a previous response's `pagingMetadata.cursors`.
   HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: STORES_PERMISSION_DENIED | Description: The [identity](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities.md) used to call the method can't access the site's Wix Stores catalog. Applies to `PRODUCT` and `STORE_CATEGORY` items.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: UNSUPPORTED_CATALOG_VERSION | Description: The site's Wix Stores catalog version is neither V1 nor V3. Applies to `STORE_CATEGORY` items.
   HTTP Code: 503 | Status Code: UNAVAILABLE | Application Code: EVENTS_SERVICE_UNAVAILABLE | Description: Wix Events is temporarily unavailable. Applies to `EVENT` items. Retry the request later.


```

### Examples

### List blog posts for a link picker
Lists published blog posts whose title contains the search text, newest first. Store `path` to build a link that keeps working when the site's domain changes.

```javascript
import { ricosEmbeddables } from "@wix/rich-content";

async function listEmbeddableItems() {
  const response = await ricosEmbeddables.listEmbeddableItems("BLOG_POST", {
    query: "summer",
    paging: { limit: 10 },
  });
}

/* Promise resolves to:
 * {
 *   "items": [
 *     {
 *       "_id": "3f0e2a7c-91d4-4b6e-a5c8-2d7f13e94b60",
 *       "title": "Summer Menu Highlights",
 *       "image": {
 *         "id": "11062b_6a4c3f2b8e9d4b7a9c1e5f0d2a3b4c5d~mv2.jpg",
 *         "url": "https://static.wixstatic.com/media/11062b_6a4c3f2b8e9d4b7a9c1e5f0d2a3b4c5d~mv2.jpg",
 *         "height": 1080,
 *         "width": 1920
 *       },
 *       "pageUrl": "https://www.my-restaurant.com/post/summer-menu-highlights",
 *       "itemType": "BLOG_POST",
 *       "blogPostDetails": {
 *         "lastPublishedDate": "2026-06-14T09:30:00.000Z",
 *         "excerpt": "Fresh salads, grilled fish, and 3 new desserts join the menu this summer."
 *       },
 *       "path": "/post/summer-menu-highlights"
 *     }
 *   ],
 *   "pagingMetadata": {
 *     "count": 1,
 *     "cursors": {}
 *   }
 * }
 */

```

### Search products by name
Lists products whose name matches the search text, 2 items per page.

```javascript
import { ricosEmbeddables } from "@wix/rich-content";

async function listEmbeddableItems() {
  const response = await ricosEmbeddables.listEmbeddableItems("PRODUCT", {
    query: "Shirt",
    paging: { limit: 2 },
  });
}

/* Promise resolves to:
 * {
 *   "items": [
 *     {
 *       "_id": "8072b939-5197-49af-ae5d-ce54e53d6052",
 *       "title": "Classic T-Shirt",
 *       "pageUrl": "https://www.wix.app/stores/118f445d-6b84-4268-821d-7d2b9f40ac60/catalog/8072b939-5197-49af-ae5d-ce54e53d6052?d=https://twsinglesource.wixstudio.com/code-sample-val/product-page/classic-t-shirt",
 *       "itemType": "PRODUCT",
 *       "path": "/product-page/classic-t-shirt",
 *       "productDetails": {
 *         "description": "A soft cotton t-shirt with a classic fit."
 *       }
 *     }
 *   ],
 *   "pagingMetadata": {
 *     "count": 1,
 *     "cursors": {}
 *   }
 * }
 */

```

### listEmbeddableItems (self-managed)
Self-managed SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { ricosEmbeddables } from '@wix/rich-content';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { ricosEmbeddables },
  // Include the auth strategy and host as relevant
});


async function listEmbeddableItems(itemType,options) {
  const response = await myWixClient.ricosEmbeddables.listEmbeddableItems(itemType,options);
};
```

---