Skip to content

List your products

GET
/v1/products
curl --request GET \
--url 'https://example.com/v1/products?status=active&limit=50&offset=0' \
--header 'Authorization: Bearer <token>'

Your products, newest first. Archived ones are hidden unless requested.

status
Any of:
string
Allowed values: active archived ""

active | archived. Send status= for every status.

limit
Limit
integer
default: 50 >= 1 <= 200
offset
Offset
integer
0
X-Shopify-Hmac-Sha256
Any of:
string

Successful Response

Media typeapplication/json
ProductListResponse

A page of products, newest first.

object
products
Products
Array<object>
ProductResponse

One product owned by the authenticated client.

object
public_id
required
Public Id
string
title
required
Title
string
external_ref
Any of:
string
category
Any of:
ProductCategoryResponse

The garment category a product sits in, resolved for display.

object
public_id
required
Public Id
string
key
required
Key

Canonical taxonomy key, e.g. ethnic_top.

string
display_label
required
Display Label
string
status
required
Status

active | archived.

string
description
Any of:
string
primary_image_url
Any of:
string
source_pdp_image_url
Any of:
string
images
Images
Array<object>
ProductImageResponse

One image on a product.

object
asset_public_id
required
Asset Public Id
string
role
required
Role

primary | gallery | source_pdp.

string
position
required
Position
integer
image_url
required
Image Url

Short-lived presigned URL; not an input handle.

string
created_at
required
Created At
string format: date-time
total
required
Total

Total matching the status filter, for pagination.

integer
Examplegenerated
{
"products": [
{
"public_id": "example",
"title": "example",
"external_ref": "example",
"category": {
"public_id": "example",
"key": "example",
"display_label": "example"
},
"status": "example",
"description": "example",
"primary_image_url": "example",
"source_pdp_image_url": "example",
"images": [
{
"asset_public_id": "example",
"role": "example",
"position": 1,
"image_url": "example"
}
],
"created_at": "2026-04-15T12:00:00Z"
}
],
"total": 1
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}