Skip to main content
GET
/
store
/
products
/
{id}
curl 'http://localhost:9000/store/products/prod_01JB2K5M8N?region_id=reg_01JB2K4S1T&fields=*variants.calculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "product": {
    "id": "prod_01JB2K5M8N",
    "title": "Linen Shirt",
    "handle": "linen-shirt",
    "status": "published",
    "description": "A breathable linen shirt.",
    "thumbnail": "https://cdn.example.com/linen-shirt.png",
    "collection": null,
    "type": null,
    "tags": [],
    "images": [],
    "categories": [{ "id": "pcat_01JB2K6A2B", "name": "Shirts" }],
    "options": [{ "id": "opt_01JB2K6C3D", "title": "Size", "values": [{ "value": "M" }] }],
    "variants": [
      {
        "id": "variant_01JB2K6E4F",
        "title": "M",
        "offer_id": "offer_01JB2K6G5H",
        "calculated_price": {
          "calculated_amount": 4500,
          "original_amount": 5000,
          "currency_code": "eur"
        }
      }
    ],
    "product_attribute_values": [],
    "scoped_attributes": [],
    "metadata": null
  }
}
Returns a single published product; a 404 is returned if the product is unpublished or its seller is not visible.
Customer authentication is optional. When a customer token is provided, the customer’s group memberships enter the pricing context used for variants.calculated_price. Prices are computed only when variants.calculated_price is requested in fields (or region_id is passed) and reflect the cheapest offer per variant.

Path parameters

id
string
required
The product’s ID.

Query parameters

fields
string
Comma-separated fields and relations to include; prefix with +/- to add to or remove from the defaults.
region_id
string
Region used to build the pricing context for variants.calculated_price.
currency_code
string
Currency used in the pricing context.

Response

product
object
curl 'http://localhost:9000/store/products/prod_01JB2K5M8N?region_id=reg_01JB2K4S1T&fields=*variants.calculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "product": {
    "id": "prod_01JB2K5M8N",
    "title": "Linen Shirt",
    "handle": "linen-shirt",
    "status": "published",
    "description": "A breathable linen shirt.",
    "thumbnail": "https://cdn.example.com/linen-shirt.png",
    "collection": null,
    "type": null,
    "tags": [],
    "images": [],
    "categories": [{ "id": "pcat_01JB2K6A2B", "name": "Shirts" }],
    "options": [{ "id": "opt_01JB2K6C3D", "title": "Size", "values": [{ "value": "M" }] }],
    "variants": [
      {
        "id": "variant_01JB2K6E4F",
        "title": "M",
        "offer_id": "offer_01JB2K6G5H",
        "calculated_price": {
          "calculated_amount": 4500,
          "original_amount": 5000,
          "currency_code": "eur"
        }
      }
    ],
    "product_attribute_values": [],
    "scoped_attributes": [],
    "metadata": null
  }
}