Skip to content

List products

GET
/products
curl --request GET \
--url 'https://api.integration.tryonvirtual.com/v1/products?page=1&limit=20&category=eyewear&tryon_status=active' \
--header 'Authorization: Bearer <token>'
page
integer
default: 1 >= 1
limit
integer
default: 20 >= 1 <= 100
category
string
Allowed values: eyewear watch shoes jewelry clothes bag luggage
tryon_status
string
Allowed values: active inactive
external_id
string

Exact match on your own product identifier.

Paginated product list

Media typeapplication/json
object
products
Array<object>
object
id
string format: uuid
external_id

Your own product identifier (SKU, database id…). Set it at create or via PATCH, filter with GET /products?external_id=…, and use it directly in the storefront button/script in place of our id. Read-only for Shopify-platform shops.

string | null
title
string
handle
string
category
string
Allowed values: eyewear watch shoes jewelry clothes bag luggage
status
string
image_url
string | null
model_type

Try-on experience. Null when no mode is set yet.

string | null
Allowed values: realtime swap
tryon_status
string
Allowed values: active inactive
active_asset_id

UUID of the active 3D asset (realtime mode only).

string | null
swap_ready

True once the product’s images have been processed for AI try-on (processing starts when images are added, typically under a minute). Only show the storefront button when this is true and tryon_status is active.

boolean
images
Array<object>
object
id
string format: uuid
url
string
position
integer
is_primary
boolean
created_at
string format: date-time
created_at
string format: date-time
total
integer
page
integer
limit
integer
Example
{
"products": [
{
"category": "eyewear",
"model_type": "realtime",
"tryon_status": "active"
}
]
}