> Agent-readable docs index: /llms.txt. Download /docs.zip to grep all markdown files locally.

---
title: "Product"
description: "The Product interface is a common interface implemented across different marketplace products, such as Amazon and Shopify. It represents the basic structure and fields that every product type should have in the Rye's Sell Anything API schema. By implementing this interface, each marketplace product can have a consistent data structure, making it easier for developers to work with the API."
---

## Fields

***

<ParamField path="id" type="ID!" required>
  A non-null unique identifier for the product.
</ParamField>

<ParamField path="marketplace" type={<a href="/api-reference/marketplace">Marketplace!</a>} required>
  A non-null enumeration value representing the marketplace.
</ParamField>

<ParamField path="title" type="String!" required>
  A non-null string containing the title of the product.
</ParamField>

<ParamField path="description" type="String!" required>
  A non-null string containing the product's description.
</ParamField>

<ParamField path="vendor" type="String!" required>
  A non-null string representing the product's vendor or brand.
</ParamField>

<ParamField path="url" type={<a href="/api-reference/url">URL!</a>} required>
  A non-null URL pointing to the product's page on the marketplace.
</ParamField>

<ParamField path="isAvailable" type="Boolean!" required>
  A non-null boolean value indicating whether the product is available for purchase.
</ParamField>

<ParamField path="tags" type="[String!]!" required>
  A non-null list of strings representing tags associated with the product.
</ParamField>

<ParamField path="images" type={<a href="/api-reference/image">[Image!]!</a>} required>
  A non-null list of image objects associated with the product, implementing the Image interface.
</ParamField>

<ParamField path="variants" type={<a href="/api-reference/variant">[Variant!]!</a>} required>
  A non-null list of product variants available, implementing the Variant interface. These can include different sizes, colors, or other options for the product.
</ParamField>

<ParamField path="price" type={<a href="/api-reference/price">Price!</a>} required>
  A nullable Price object representing the product's price. The price might be null if it is not available or cannot be determined.
</ParamField>

## Implementations

* [`AmazonProduct`](/api-reference/amazonproduct)
* [`ShopifyProduct`](/api-reference/shopifyproduct)


---

*Powered by [holocron.so](https://holocron.so)*
