Skip to content

Garment versions of a product, newest first

GET
/v1/products/{product}/garments
curl --request GET \
--url https://api.tryyoursize.com/v1/products/example/garments \
--header 'Authorization: Bearer <token>'

Key scopes: products:read. A secret key (sk_) has every scope; a restricted key (rk_) needs the scopes listed.

has_more is always false (a product has few versions).

product
required
string
>= 1 characters <= 120 characters

The product: its TryYourSize ID (UUID) or the brand’s SKU / style ID (external_id). An ID is looked up first.

OK

Media typeapplication/json

One page of a list (convention). Pass next_cursor as cursor for the next page while has_more is true.

object
data
required
Array<object>
object
id
required
string format: uuid
product_id
required
string format: uuid
version
required
integer
status
required
string
Allowed values: draft published retired
category
required

The garment type; it sets which POMs are needed.

string
Allowed values: tshirt shirt sweater jacket dress skirt jeans trousers shorts leggings polo hoodie
fit_intent
required

The designer’s intended silhouette; sets the ease targets the fit judgement compares against.

string
Allowed values: skinny slim regular relaxed oversized
sizes
required
Array<string>
poms
required

Garment measurements per size: size label → POM code → millimetres. Widths are flat half-measurements. See GET /v1/studio/garment_dictionary for codes and plausible ranges.

object
key
additional properties
object
key
additional properties
number format: double
grading

How the POM table was derived: the base size’s values plus, per POM, the increment (mm) between each pair of consecutive sizes (len = number of sizes - 1). The table stays the source of truth.

object
base_size
required
string
increments_mm
required
object
key
additional properties
Array<number>
fabric
required

What the tech pack / mill sheet says.

object
name
string
construction
string
Allowed values: jersey rib interlock fleece pique plain_weave twill denim satin other
composition
required
Array<object>
object
fiber
required
string
Allowed values: cotton polyester elastane viscose modal lyocell wool linen polyamide silk acrylic other
pct
required
number format: double
weight_gsm

Areal density, g/m².

number format: double
stretch_warp_pct

Stretch along the warp (lengthwise), percent.

number format: double
stretch_weft_pct

Stretch along the weft (crosswise), percent.

number format: double
notes
string
import_id
string format: uuid
issues
required

What still blocks publishing (errors) or deserves a look (warnings).

Array<object>
object
severity
required
string
Allowed values: error warning
code
required

E.g. out_of_range, not_graded, missing_pom, composition_total

string
field
required

Category | fit_intent | sizes | poms | grading | import | fabric.

string
size
string
pom
string
params

The values in message, for clients that word the finding in their own language (keys depend on code, e.g. value_mm, min_mm, max_mm, prev_size, fiber, max). Numbers are plain decimals (“.” separator); lengths in mm.

object
key
additional properties
string
message
required

English text; clients in other languages can word it from code, size, pom and params.

string
created_at
required
string format: date-time
updated_at
required
string format: date-time
published_at
string format: date-time
season
string
tolerances_mm

Spec-sheet tolerance per POM code, ± mm (e.g. {“chest_width”: 10}). Optional; the flat preview uses ±5 mm when a POM has none.

object
key
additional properties
number format: double
spec_source

Where the POM table came from, kept for audit. Set by Studio’s paste/import.

object
kind
required
string
Allowed values: manual paste xlsx csv pdf workbook clo browzwear
filename
string
<= 255 characters
fit_group_id

The fit group (garments row) this version belongs to (absent until grouped).

string format: uuid
has_more
required
boolean
next_cursor
string
nullable

Example

{
"data": [
{
"status": "draft",
"category": "tshirt",
"fit_intent": "skinny",
"fabric": {
"construction": "jersey",
"composition": [
{
"fiber": "cotton"
}
]
},
"issues": [
{
"severity": "error"
}
],
"spec_source": {
"kind": "manual"
}
}
]
}

Missing or invalid credentials

Media typeapplication/json

Every error has this shape. error is a human-readable message, status the HTTP status. code is stable and machine-readable; doc_url links its explanation; request_id identifies the request (also in the X-Request-ID response header): quote it to support.

object
error
required
string
status
required
integer
code

Stable error code, e.g. invalid_request, unauthorized, reauth_required, payment_required, forbidden, not_found, conflict, unprocessable, rate_limited, internal_error, not_implemented, unavailable, invalid_api_version, idempotency_key_in_use, idempotency_key_reused, invalid_idempotency_key, handle_expired, handle_invalid.

string
doc_url
string format: uri
request_id
string

Example

{
"code": "not_found",
"doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"
}

Not allowed

Media typeapplication/json

Every error has this shape. error is a human-readable message, status the HTTP status. code is stable and machine-readable; doc_url links its explanation; request_id identifies the request (also in the X-Request-ID response header): quote it to support.

object
error
required
string
status
required
integer
code

Stable error code, e.g. invalid_request, unauthorized, reauth_required, payment_required, forbidden, not_found, conflict, unprocessable, rate_limited, internal_error, not_implemented, unavailable, invalid_api_version, idempotency_key_in_use, idempotency_key_reused, invalid_idempotency_key, handle_expired, handle_invalid.

string
doc_url
string format: uri
request_id
string

Example

{
"code": "not_found",
"doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"
}

Not found

Media typeapplication/json

Every error has this shape. error is a human-readable message, status the HTTP status. code is stable and machine-readable; doc_url links its explanation; request_id identifies the request (also in the X-Request-ID response header): quote it to support.

object
error
required
string
status
required
integer
code

Stable error code, e.g. invalid_request, unauthorized, reauth_required, payment_required, forbidden, not_found, conflict, unprocessable, rate_limited, internal_error, not_implemented, unavailable, invalid_api_version, idempotency_key_in_use, idempotency_key_reused, invalid_idempotency_key, handle_expired, handle_invalid.

string
doc_url
string format: uri
request_id
string

Example

{
"code": "not_found",
"doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"
}

Was this page helpful?