> 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

# GetEmbeddableItem

# Package: richContent

# Namespace: RicosEmbeddables

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

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

## Introduction

Retrieves an embeddable item by ID and item type.

Supports all item types. Specify the item's `id` and `itemType` as returned by [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md). The item is returned in the same format as in [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md).

Use this method to refresh an item you stored earlier, for example to check that a linked blog post still exists.

---

## REST API

### Schema

```
 Method: getEmbeddableItem
 Description: Retrieves an embeddable item by GUID and item type.  Supports all item types. Specify the item's `id` and `itemType` as returned by [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md). The item is returned in the same format as in [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md).  Use this method to refresh an item you stored earlier, for example to check that a linked blog post still exists.
 URL: https://www.wixapis.com/ricos/v1/embeddable-items/{embeddableItemId}
 Method: GET
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  embeddableItemId, itemType
 Method parameters: 
   param name: embeddableItemId | type:   none | required: true 
   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.
 Return type: GetEmbeddableItemResponse
  - name: embeddableItem | type: EmbeddableItem | description: Retrieved embeddable item.  
     - 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

 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: 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: 404 | Status Code: NOT_FOUND | Application Code: NOT_FOUND | Description: Couldn't find the item. The item doesn't exist, has no page on the site, or its source app isn't installed on the site.
   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

### Get a product
Retrieves a product by its ID.

```curl
curl -X GET \
'https://www.wixapis.com/ricos/v1/embeddable-items/b57acf2a-e863-4232-aed9-8bb07e67fc54?itemType=PRODUCT' \
-H 'Authorization: <AUTH>'
```

### Refresh a stored blog post link
Retrieves a blog post by the ID stored with a link, to check that it still exists and to get its current `path`.

```curl
curl -X GET \
'https://www.wixapis.com/ricos/v1/embeddable-items/3f0e2a7c-91d4-4b6e-a5c8-2d7f13e94b60?itemType=BLOG_POST' \
-H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.richContent.ricosEmbeddables.getEmbeddableItem(embeddableItemId, itemType)
 Description: Retrieves an embeddable item by GUID and item type.  Supports all item types. Specify the item's `id` and `itemType` as returned by [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md). The item is returned in the same format as in [List Embeddable Items](https://dev.wix.com/docs/api-reference/assets/rich-content/embeddable-item-v1/list-embeddable-items.md).  Use this method to refresh an item you stored earlier, for example to check that a linked blog post still exists.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  itemType, embeddableItemId
 Method parameters: 
   param name: embeddableItemId | type: string | description: GUID of the item to retrieve, as returned in the item's `id`. Not always a GUID. | required: true | validation: maxLength 100
   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.
 Return type: PROMISE<EmbeddableItem>
  - 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

 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: 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: 404 | Status Code: NOT_FOUND | Application Code: NOT_FOUND | Description: Couldn't find the item. The item doesn't exist, has no page on the site, or its source app isn't installed on the site.
   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

### Refresh a stored blog post link
Retrieves a blog post by the ID stored with a link, to check that it still exists and to get its current `path`.

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

async function getEmbeddableItem() {
  const response = await ricosEmbeddables.getEmbeddableItem(
    "3f0e2a7c-91d4-4b6e-a5c8-2d7f13e94b60",
    "BLOG_POST",
  );
}

/* Promise resolves to:
 * {
 *   "_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"
 * }
 */

```

### Get a product
Retrieves a product by its ID.

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

async function getEmbeddableItem() {
  const response = await ricosEmbeddables.getEmbeddableItem(
    "b57acf2a-e863-4232-aed9-8bb07e67fc54",
    "PRODUCT",
  );
}

/* Promise resolves to:
 * {
 *   "_id": "b57acf2a-e863-4232-aed9-8bb07e67fc54",
 *   "title": "Running Shoes",
 *   "pageUrl": "https://www.wix.app/stores/118f445d-6b84-4268-821d-7d2b9f40ac60/catalog/b57acf2a-e863-4232-aed9-8bb07e67fc54?d=https://twsinglesource.wixstudio.com/code-sample-val/product-page/running-shoes",
 *   "itemType": "PRODUCT",
 *   "path": "/product-page/running-shoes",
 *   "productDetails": {
 *     "description": "Lightweight running shoes with a breathable mesh upper."
 *   }
 * }
 */

```

### getEmbeddableItem (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 getEmbeddableItem(embeddableItemId,itemType) {
  const response = await myWixClient.ricosEmbeddables.getEmbeddableItem(embeddableItemId,itemType);
};
```

---