A garment version
const url = 'https://api.tryyoursize.com/v1/garments/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.tryyoursize.com/v1/garments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Key scopes: products:read. A secret key (sk_) has every scope; a restricted key (rk_) needs the scopes listed.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”A garment version (garment_versions.id). A fit group (garments table) is fit_group_id.
Responses
Section titled “Responses”OK
object
The garment type; it sets which POMs are needed (footwear has a size chart instead).
The designer’s intended silhouette; sets the ease targets the fit judgement compares against.
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
object
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
object
What the tech pack / mill sheet says.
object
object
Areal density, g/m².
Stretch along the warp (lengthwise), percent.
Stretch along the weft (crosswise), percent.
What still blocks publishing (errors) or deserves a look (warnings).
object
E.g. out_of_range, not_graded, missing_pom, composition_total
Category | fit_intent | sizes | poms | grading | import | fabric.
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
English text; clients in other languages can word it from code, size, pom and params.
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
Where the POM table came from, kept for audit. Set by Studio’s paste/import.
object
A footwear version’s size chart (category footwear). The version’s sizes must be the chart’s labels in the chart’s size_system, in row order (fittings collapsed). Footwear has no POMs and no 3D fit check.
object
Sets the room left in front of the toes that a size is chosen for.
A shoe size system: eu (Paris points), uk, us_men, us_women, or mondopoint (foot length in mm).
What length_mm is: the foot length each size is made for (foot_length), the longest foot for the size (foot_length_max, “up to 25.5 cm”), or the shoe’s inside (last) length (last_length).
One size (and width fitting) of a footwear size chart. Lengths in millimetres.
object
The size’s label in each system the brand uses, e.g. {“eu”: “40”, “uk”: “6.5”}. The label in the chart’s size_system is the size shoppers and the store see.
object
The length the chart’s basis names (foot length, longest foot, or the shoe’s inside length).
Optional width fitting, e.g. narrow, regular, wide, E, EE. Rows of one size share its length.
Optional width at the ball (inside the shoe, or the foot width the fitting is made for).
Optional ball girth.
Waistband: true = elastic pull-on, false = fixed band (button or zip), null = not stated.
True when elastic_waist was inferred from text, not stated by the brand.
The fit group (garments row) this version belongs to (absent until grouped).
Where the waistband is worn (bottoms); null = not stated.
True when rise_type was inferred from text, not stated by the brand.
Height of the waistband top relative to the natural waist, mm, negative = below; null = derived from the rise measurements.
Example
{ "status": "draft", "category": "tshirt", "fit_intent": "skinny", "fabric": { "construction": "jersey", "composition": [ { "fiber": "cotton" } ] }, "issues": [ { "severity": "error" } ], "spec_source": { "kind": "manual" }, "footwear": { "shoe_type": "sneaker", "size_system": "eu", "basis": "foot_length" }, "rise_type": "low"}Missing or invalid credentials
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
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.
Example
{ "code": "not_found", "doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"}Not allowed
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
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.
Example
{ "code": "not_found", "doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"}Not found
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
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.
Example
{ "code": "not_found", "doc_url": "https://docs.tryyoursize.com/api/errors/#not_found"}Was this page helpful?
Thank you. We read every answer.