Get a product
GET
/products/{product_id}
const url = 'https://api.integration.tryonvirtual.com/v1/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.integration.tryonvirtual.com/v1/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”product_id
required
string format: uuid
Responses
Section titled “Responses”Product detail
Media typeapplication/json
object
product
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
status
string
image_url
string | null
model_type
Try-on experience. Null when no mode is set yet.
string | null
tryon_status
string
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
Example
{ "product": { "category": "eyewear", "model_type": "realtime", "tryon_status": "active" }}Resource not found (or belongs to another shop)
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}