---
title: "product"

doc_type: static
doc_category: static
doc_version: v20270301
source_url:
  html: 'https://developer.shopline.com/docs/sline/object/product'
  md: 'https://developer.shopline.com/docs/sline/object/product.md'
---

# product


    A product in the store.

    > **TIP**
>
> To get product-associated metafields, use the following filters.
> - Metafields: [get_metafields](https://developer.shopline.com/docs/sline/filter/get-metafields.md).
> - Variants: [get_variants](https://developer.shopline.com/docs/sline/filter/get-variants.md).
> - Collections: [get_collection_pagination](https://developer.shopline.com/docs/sline/filter/get-collection-pagination.md).



    <div>
    
## Properties

        
<ObjectProperty 
    name="available"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
Whether the product is available for sale.
- `true`: available
- `false`: unavailable


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="compare_at_price"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The lowest original price of any variants of the product.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="compare_at_price_max"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The highest original price of any variants of the product.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="compare_at_price_min"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The lowest original price of any variants of the product. This is the same as `product.compare_at_price`.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="compare_at_price_varies"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
Whether the product price and the original price are different.
- `true`: different
- `false`: no difference


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="created_at"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The date and time when the product was created.

> **TIP**
>
> Use the [date filter](https://developer.shopline.com/docs/sline/filter/date.md) to format the timestamp.
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="description"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The description of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="featured_image"
    types={[<Mdx>[image](https://developer.shopline.com/docs/sline/object/image.md)</Mdx>]}
>
<ObjectSummary>
The featured image for the product. 


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="featured_media"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The first media for the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="first_available_variant"
    types={[<Mdx>[variant](https://developer.shopline.com/docs/sline/object/variant.md)</Mdx>]}
>
<ObjectSummary>
The first available variant of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="gift_card"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
Whether the product is a gift card.
- `true`: gift card
- `false`: not gift card


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="handle"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The handle of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="has_only_default_variant"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
Whether the product has only the default variant.
- `true`: has only the default variant
- `false`: has other variants


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="id"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The ID of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="images"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The images for the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="media"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The media for the product, sorted by the date it was added to the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="options"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The option names of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="options_by_name"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
Allows you to access a specific product option by its name.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="options_with_values"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The options with values on the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="price"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The lowest price of any variants of the product.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="price_max"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The highest price of any variants of the product.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="price_min"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The lowest price of any variants of the product.

The value is output in the customer's local currency.

> **TIP**
>
> Output a formatted amount using the [money filter](https://developer.shopline.com/docs/sline/filter/money.md).
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="published_at"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The date and time when the product was published to the online store.

> **TIP**
>
> Use the [date filter](https://developer.shopline.com/docs/sline/filter/date.md) to format the timestamp.
</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="requires_selling_plan"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
Whether each product variant is required to bind a selling plan.
- `true`: required
- `false`: not required


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="selected_or_first_available_variant"
    types={[<Mdx>[variant](https://developer.shopline.com/docs/sline/object/variant.md)</Mdx>]}
>
<ObjectSummary>
The currently selected or first available variant of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="selected_variant"
    types={[<Mdx>[variant](https://developer.shopline.com/docs/sline/object/variant.md)</Mdx>]}
>
<ObjectSummary>
The currently selected variant of the product.

If no variant is currently selected, `null` is returned.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="selling_plan_groups"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The selling plan groups that the variants of the product are included in.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="tags"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The tags of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="template_suffix"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The name of the custom template of the product.

The name doesn't include the `product`. prefix, or the file extension (`.json` or `.html`).

If a custom template isn't assigned to the product, `null` is returned.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="title"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The title of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="subtitle"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The subtitle of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="type"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The type of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="url"
    types={[<Mdx>string</Mdx>]}
>
<ObjectSummary>
The relative URL of the product.


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty 
    name="vendor"
    types={[<Mdx>array</Mdx>]}
>
<ObjectSummary>
The vendor of the product.


</ObjectSummary>
</ObjectProperty>
        
    
    </div>


