Skip to main content

The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the GraphQL Admin API. For details and migration steps, visit our migration guide.

Product

Requires products access scope.
Important

Listing, creating, updating, and deleting products is deprecated as of REST API 2024-04. For more information, refer to the guide to the new product model.

The Product resource lets you update and create products in a merchant's store. You can use product variants with the Product resource to create or update different versions of the same product. You can also add or update product images.

You can add products to collections with the CustomCollection resource and the SmartCollection resource.

Was this section helpful?

Anchor to

The Product resource

Anchor to

Properties


body_html
string

A description of the product. Supports HTML formatting.


created_at
date
ISO 8601
read-only

The date and time (ISO 8601 format) when the product was created.


handle
string

A unique human-friendly string for the product. Automatically generated from the product's title. Used by the Liquid templating language to refer to objects.


id
integer
int64
read-only
->
id

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.


images
array

A list of product image objects, each one representing an image associated with the product.


options
array

The custom product properties. For example, Size, Color, and Material. Each product can have up to 3 options and each option value can be up to 255 characters. Product variants are made of up combinations of option values.

Options cannot be created without values. To create new options, a variant with an associated option value also needs to be created.

product_type
string

A categorization for the product used for filtering and searching products.


published_at
date
ISO 8601

The date and time (ISO 8601 format) when the product was published. Can be set to null to unpublish the product from the Online Store channel.


published_scope
string

Whether the product is published to the Point of Sale channel. Valid values:

Show published_scope properties
  • web: The product isn't published to the Point of Sale channel.
  • global: The product is published to the Point of Sale channel.

status
string

The status of the product. Valid values:

Show status properties
  • active: The product is ready to sell and is available to customers on the online store, sales channels, and apps. By default, existing products are set to active.
  • archived: The product is no longer being sold and isn't available to customers on sales channels and apps.
  • draft: The product isn't ready to sell and is unavailable to customers on sales channels and apps. By default, duplicated and unarchived products are set to draft.

tags
string

A string of comma-separated tags that are used for filtering and search. A product can have up to 250 tags. Each tag can have up to 255 characters.


template_suffix
string

The suffix of the Liquid template used for the product page. If this property is specified, then the product page uses a template called "product.suffix.liquid", where "suffix" is the value of this property. If this property is "" or null, then the product page uses the default template "product.liquid". (default: null)


Was this section helpful?
{}

The Product resource

{
"body_html": "It's the small iPod with a big idea: Video.",
"created_at": "2012-02-15T15:12:21-05:00",
"handle": "ipod-nano",
"id": 632910392,
"images": [
{
"id": 850703190,
"product_id": 632910392,
"position": 1,
"created_at": "2018-01-08T12:34:47-05:00",
"updated_at": "2018-01-08T12:34:47-05:00",
"width": 110,
"height": 140,
"src": "http://example.com/burton.jpg",
"variant_ids": [
{}
]
}
],
"options": {
"id": 594680422,
"product_id": 632910392,
"name": "Color",
"position": 1,
"values": [
"Pink",
"Red",
"Green",
"Black"
]
},
"product_type": "Cult Products",
"published_at": "2007-12-31T19:00:00-05:00",
"published_scope": "global",
"status": "active",
"tags": "Emotive, Flash Memory, MP3, Music",
"template_suffix": "special",
"title": "IPod Nano - 8GB",
"updated_at": "2012-08-24T14:01:47-04:00",
"variants": [
{
"barcode": "1234_pink",
"compare_at_price": null,
"created_at": "2012-08-24T14:01:47-04:00",
"fulfillment_service": "manual",
"grams": 567,
"weight": 0.2,
"weight_unit": "kg",
"id": 808950810,
"inventory_item_id": 341629,
"inventory_management": "shopify",
"inventory_policy": "continue",
"inventory_quantity": 10,
"option1": "Pink",
"position": 1,
"price": 199.99,
"product_id": 632910392,
"requires_shipping": true,
"sku": "IPOD2008PINK",
"taxable": true,
"title": "Pink",
"updated_at": "2012-08-24T14:01:47-04:00"
}
],
"vendor": "Apple"
}

Anchor to POST request, Create a new product
post
Create a new product

Create a new product


Anchor to Parameters of Create a new productParameters


api_version
string
required

Was this section helpful?

Anchor to post-products-examplesExamples

Create a new draft product

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.status:"draft"
string

The status of the product. Valid values:

Show status properties
  • active: The product is ready to sell and is available to customers on the online store, sales channels, and apps. By default, existing products are set to active.
  • archived: The product is no longer being sold and isn't available to customers on sales channels and apps.
  • draft: The product isn't ready to sell and is unavailable to customers on sales channels and apps. By default, duplicated and unarchived products are set to draft.

Create a new product with multiple product variants

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.variants:[{"option1":"First","price":"10.00","sku":"123"},{"option1":"Second","price":"20.00","sku":"123"}]
array

An array of product variants, each representing a different version of the product.

The position property is read-only. The position of variants is indicated by the order in which they are listed.

Create a new product with multiple product variants and multiple options

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.variants:[{"option1":"Blue","option2":"155"},{"option1":"Black","option2":"159"}]
array

An array of product variants, each representing a different version of the product.

The position property is read-only. The position of variants is indicated by the order in which they are listed.

product.options:[{"name":"Color","values":["Blue","Black"]},{"name":"Size","values":["155","159"]}]
array

The custom product properties. For example, Size, Color, and Material. Each product can have up to 3 options and each option value can be up to 255 characters. Product variants are made of up combinations of option values.

Options cannot be created without values. To create new options, a variant with an associated option value also needs to be created.

Create a new product with the default product variant

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.tags:["Barnes & Noble","Big Air","John's Fav"]
string

A string of comma-separated tags that are used for filtering and search. A product can have up to 250 tags. Each tag can have up to 255 characters.

Create a new product with the default variant and a product image that will be downloaded by Shopify

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.images:[{"src":"http://example.com/rails_logo.gif"}]
array

A list of product image objects, each one representing an image associated with the product.

Create a new product with the default variant and base64 encoded image

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

product.images:[{"attachment":"R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\n"}]
array

A list of product image objects, each one representing an image associated with the product.

Create a new unpublished product

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

Create a product with a metafield

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

Create a product with an SEO title and description

Request body
product
Product resource
Show product properties
product.title:"Burton Custom Freestyle 151"
string

The name of the product.

product.body_html:"<strong>Good snowboard!</strong>"
string

A description of the product. Supports HTML formatting.

product.vendor:"Burton"
string

The name of the product's vendor.

product.product_type:"Snowboard"
string

A categorization for the product used for filtering and searching products.

Creating a product without a title will return an error

Request body
product
Product resource
Show product properties
product.body_html:"A mystery!"
string

A description of the product. Supports HTML formatting.

Was this section helpful?
post

/admin/api/2025-07/products.json

curl -d '{"product":{"title":"Burton Custom Freestyle 151","body_html":"<strong>Good snowboard!</strong>","vendor":"Burton","product_type":"Snowboard","status":"draft"}}' \
-X POST "https://your-development-store.myshopify.com/admin/api/2025-07/products.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"

{}

Response

JSON
HTTP/1.1 201 Created
{
"product": {
"id": 1072481044,
"title": "Burton Custom Freestyle 151",
"body_html": "<strong>Good snowboard!</strong>",
"vendor": "Burton",
"product_type": "Snowboard",
"created_at": "2025-04-01T15:58:27-04:00",
"handle": "burton-custom-freestyle-151",
"updated_at": "2025-04-01T15:58:27-04:00",
"published_at": null,
"template_suffix": null,
"published_scope": "web",
"tags": "",
"status": "draft",
"admin_graphql_api_id": "gid://shopify/Product/1072481044",
"variants": [
{
"id": 1070325026,
"product_id": 1072481044,
"title": "Default Title",
"price": "0.00",
"position": 1,
"inventory_policy": "deny",
"compare_at_price": null,
"option1": "Default Title",
"option2": null,
"option3": null,
"created_at": "2025-04-01T15:58:27-04:00",
"updated_at": "2025-04-01T15:58:27-04:00",
"taxable": true,
"barcode": null,
"fulfillment_service": "manual",
"grams": 0,
"inventory_management": null,
"requires_shipping": true,
"sku": "",
"weight": 0,
"weight_unit": "lb",
"inventory_item_id": 1070325026,
"inventory_quantity": 0,
"old_inventory_quantity": 0,
"presentment_prices": [
{
"price": {
"amount": "0.00",
"currency_code": "USD"
},
"compare_at_price": null
}
],
"admin_graphql_api_id": "gid://shopify/ProductVariant/1070325026",
"image_id": null
}
],
"options": [
{
"id": 1064576487,
"product_id": 1072481044,
"name": "Title",
"position": 1,
"values": [
"Default Title"
]
}
],
"images": [],
"image": null
}
}

Retrieve a list of products.


api_version
string
required

collection_id

Return products by product collection ID.


created_at_max

Return products created before a specified date. (format: 2014-04-25T16:15:47-04:00)


created_at_min

Return products created after a specified date. (format: 2014-04-25T16:15:47-04:00)


fields

Return fields by a comma-separated list of field names. Fields: admin_graphql_api_id, body_html, created_at, handle, id, image, images, options, product_type, published_at, published_scope, status, tags, template_suffix, title, updated_at, variants, vendor


handle

Return only products specified by a comma-separated list of product handles.


ids

Return only products specified by a comma-separated list of product IDs.


limit
≤ 250
default 50

Return up to this many results per page.


presentment_currencies

Return presentment prices in only certain currencies, specified by a comma-separated list of ISO 4217 currency codes.


product_type

Return products by product type.


published_at_max

Return products published before a specified date. (format: 2014-04-25T16:15:47-04:00)


published_at_min

Return products published after a specified date. (format: 2014-04-25T16:15:47-04:00)


Was this section helpful?

Retrieve a list of specific products

Query parameters
ids=632910392,921728736

Return only products specified by a comma-separated list of product IDs.

Retrieve all products

Retrieve all products after the specified ID

Query parameters
since_id=632910392

Return only products after the specified ID.

Retrieve all products that belong to a certain collection

Query parameters
collection_id=841564295

Return products by product collection ID.

Retrieve all products with prices in selected presentment currencies

Query parameters
presentment_currencies=USD

Return presentment prices in only certain currencies, specified by a comma-separated list of ISO 4217 currency codes.

Retrieve all products, showing only some attributes

Query parameters
fields=id,images,title

Return fields by a comma-separated list of field names. Fields: admin_graphql_api_id, body_html, created_at, handle, id, image, images, options, product_type, published_at, published_scope, status, tags, template_suffix, title, updated_at, variants, vendor

Was this section helpful?
get

/admin/api/2025-07/products.json?ids=632910392,921728736

curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-07/products.json?ids=632910392%2C921728736" \
-H "X-Shopify-Access-Token: {access_token}"

{}

Response

JSON
HTTP/1.1 200 OK
{
"products": [
{
"id": 632910392,
"title": "IPod Nano - 8GB",
"body_html": "<p>It's the small iPod with one very big idea: Video. Now the world's most popular music player, available in 4GB and 8GB models, lets you enjoy TV shows, movies, video podcasts, and more. The larger, brighter display means amazing picture quality. In six eye-catching colors, iPod nano is stunning all around. And with models starting at just $149, little speaks volumes.</p>",
"vendor": "Apple",
"product_type": "Cult Products",
"created_at": "2025-04-01T15:51:28-04:00",
"handle": "ipod-nano",
"updated_at": "2025-04-01T15:51:28-04:00",
"published_at": "2007-12-31T19:00:00-05:00",
"template_suffix": null,
"published_scope": "web",
"tags": "Emotive, Flash Memory, MP3, Music",
"status": "active",
"admin_graphql_api_id": "gid://shopify/Product/632910392",
"variants": [
{
"id": 808950810,
"product_id": 632910392,
"title": "Pink",
"price": "199.00",
"position": 1,
"inventory_policy": "continue",
"compare_at_price": null,
"option1": "Pink",
"option2": null,
"option3": null,
"created_at": "2025-04-01T15:51:28-04:00",
"updated_at": "2025-04-01T15:51:28-04:00",
"taxable": true,
"barcode": "1234_pink",
"fulfillment_service": "manual",
"grams": 567,

Retrieve a single product.


api_version
string
required

product_id
string
required

fields

A comma-separated list of fields to include in the response.


Was this section helpful?

Retrieve a single product by ID

Path parameters
product_id=632910392
string
required

Retrieve only particular fields from a single product

Path parameters
product_id=632910392
string
required
Query parameters
fields=id,images,title

A comma-separated list of fields to include in the response.

Was this section helpful?
get

/admin/api/2025-07/products/632910392.json

curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-07/products/632910392.json" \
-H "X-Shopify-Access-Token: {access_token}"

{}

Response

JSON
HTTP/1.1 200 OK
{
"product": {
"id": 632910392,
"title": "IPod Nano - 8GB",
"body_html": "<p>It's the small iPod with one very big idea: Video. Now the world's most popular music player, available in 4GB and 8GB models, lets you enjoy TV shows, movies, video podcasts, and more. The larger, brighter display means amazing picture quality. In six eye-catching colors, iPod nano is stunning all around. And with models starting at just $149, little speaks volumes.</p>",
"vendor": "Apple",
"product_type": "Cult Products",
"created_at": "2025-04-01T15:51:28-04:00",
"handle": "ipod-nano",
"updated_at": "2025-04-01T15:51:28-04:00",
"published_at": "2007-12-31T19:00:00-05:00",
"template_suffix": null,
"published_scope": "web",
"tags": "Emotive, Flash Memory, MP3, Music",
"status": "active",
"admin_graphql_api_id": "gid://shopify/Product/632910392",
"variants": [
{
"id": 808950810,
"product_id": 632910392,
"title": "Pink",
"price": "199.00",
"position": 1,
"inventory_policy": "continue",
"compare_at_price": null,
"option1": "Pink",
"option2": null,
"option3": null,
"created_at": "2025-04-01T15:51:28-04:00",
"updated_at": "2025-04-01T15:51:28-04:00",
"taxable": true,
"barcode": "1234_pink",
"fulfillment_service": "manual",
"grams": 567,
"inventory_management": "shopify",

Retrieve a count of products.


api_version
string
required

collection_id

Return products by product collection ID.


created_at_max

Return products created before a specified date. (format: 2014-04-25T16:15:47-04:00)


created_at_min

Return products created after a specified date. (format: 2014-04-25T16:15:47-04:00)


product_type

Return products by product type.


published_at_max

Return products published before a specified date. (format: 2014-04-25T16:15:47-04:00)


published_at_min

Return products published after a specified date. (format: 2014-04-25T16:15:47-04:00)


published_status
default any

Return products by their published status.

Show published_status properties
  • published: Return only published products.

  • unpublished: Return only unpublished products.

  • any: Return all products.


updated_at_max

Return products last updated before a specified date. (format: 2014-04-25T16:15:47-04:00)


updated_at_min

Return products last updated after a specified date. (format: 2014-04-25T16:15:47-04:00)


vendor

Return products by product vendor.


Was this section helpful?

Retrieve a count of all products

Retrieve a count of all products of a given collection

Query parameters
collection_id=841564295

Return products by product collection ID.

Was this section helpful?
get

/admin/api/2025-07/products/count.json

curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-07/products/count.json" \
-H "X-Shopify-Access-Token: {access_token}"

{}

Response

JSON
HTTP/1.1 200 OK
{
"count": 2
}

Update a product



api_version
string
required

product_id
string
required

Was this section helpful?

Add a metafield to an existing product

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

Hide a published product by changing the published attribute to false

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

Show a hidden product by changing the published attribute to true

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

Update a product and one of its variants

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.title:"Updated Product Title"
string

The name of the product.

product.variants:[{"id":808950810,"price":"2000.00","sku":"Updating the Product SKU"},{"id":49148385},{"id":39072856},{"id":457924702}]
array

An array of product variants, each representing a different version of the product.

The position property is read-only. The position of variants is indicated by the order in which they are listed.

Update a product by adding a new product image

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.images:[{"id":850703190},{"id":562641783},{"id":378407906},{"src":"http://example.com/rails_logo.gif"}]
array

A list of product image objects, each one representing an image associated with the product.

Update a product by clearing product images

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.images:[]
array

A list of product image objects, each one representing an image associated with the product.

Update a product by reordering the product images

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.images:[{"id":850703190,"position":3},{"id":562641783,"position":2},{"id":378407906,"position":1}]
array

A list of product image objects, each one representing an image associated with the product.

Update a product by reordering the product variants

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.variants:[{"id":457924702},{"id":39072856},{"id":49148385},{"id":808950810}]
array

An array of product variants, each representing a different version of the product.

The position property is read-only. The position of variants is indicated by the order in which they are listed.

Update a product's SEO title and description

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

Update a product's status

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.status:"draft"
string

The status of the product. Valid values:

Show status properties
  • active: The product is ready to sell and is available to customers on the online store, sales channels, and apps. By default, existing products are set to active.
  • archived: The product is no longer being sold and isn't available to customers on sales channels and apps.
  • draft: The product isn't ready to sell and is unavailable to customers on sales channels and apps. By default, duplicated and unarchived products are set to draft.

Update a product's tags

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.tags:"Barnes & Noble, John's Fav"
string

A string of comma-separated tags that are used for filtering and search. A product can have up to 250 tags. Each tag can have up to 255 characters.

Update a product's title

Path parameters
product_id=632910392
string
required
Request body
product
Product resource
Show product properties
product.id:632910392
integer
int64
read-only

An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops.

product.title:"New product title"
string

The name of the product.

Was this section helpful?
put

/admin/api/2025-07/products/632910392.json

curl -d '{"product":{"id":632910392,"metafields":[{"key":"new","value":"newvalue","type":"single_line_text_field","namespace":"global"}]}}' \
-X PUT "https://your-development-store.myshopify.com/admin/api/2025-07/products/632910392.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"

{}

Response

JSON
HTTP/1.1 200 OK
{
"product": {
"id": 632910392,
"title": "IPod Nano - 8GB",
"body_html": "<p>It's the small iPod with one very big idea: Video. Now the world's most popular music player, available in 4GB and 8GB models, lets you enjoy TV shows, movies, video podcasts, and more. The larger, brighter display means amazing picture quality. In six eye-catching colors, iPod nano is stunning all around. And with models starting at just $149, little speaks volumes.</p>",
"vendor": "Apple",
"product_type": "Cult Products",
"created_at": "2025-04-01T15:51:28-04:00",
"handle": "ipod-nano",
"updated_at": "2025-04-01T15:58:24-04:00",
"published_at": "2007-12-31T19:00:00-05:00",
"template_suffix": null,
"published_scope": "web",
"tags": "Emotive, Flash Memory, MP3, Music",
"status": "active",
"admin_graphql_api_id": "gid://shopify/Product/632910392",
"variants": [
{
"id": 808950810,
"product_id": 632910392,
"title": "Pink",
"price": "199.00",
"position": 1,
"inventory_policy": "continue",
"compare_at_price": null,
"option1": "Pink",
"option2": null,
"option3": null,
"created_at": "2025-04-01T15:51:28-04:00",
"updated_at": "2025-04-01T15:51:28-04:00",
"taxable": true,
"barcode": "1234_pink",
"fulfillment_service": "manual",
"grams": 567,
"inventory_management": "shopify",

Deletes a product.


api_version
string
required

product_id
string
required

Was this section helpful?

Delete a product along with all its variants and images

Path parameters
product_id=632910392
string
required
Was this section helpful?
del

/admin/api/2025-07/products/632910392.json

curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2025-07/products/632910392.json" \
-H "X-Shopify-Access-Token: {access_token}"

{}

Response

JSON
HTTP/1.1 200 OK
{}