Create a new product record and claim the GTIN for the authenticated user’s organization. If the GTIN already exists, returns 409 — use POST /products//claim instead.
Documentation Index
Fetch the complete documentation index at: https://docs.closient.com/llms.txt
Use this file to discover all available pages before exploring further.
Body for POST /products — creates a new GTIN and claims it.
gtin is required; all other product fields are optional and may be
enriched after creation via PATCH.
GTIN barcode in any GTIN-8/12/13/14 form. Normalized to GTIN-14 before storage.
8 - 14Developer-attached key/value data. Send {} or null to clear. Empty-string values delete that key. Omitted keys are preserved.
URL-safe 22-character shortuuid encoding of the row's UUID primary key. Stable across the row's lifetime; suitable for sharing in URLs, log lines, and external SDK clients. Accepted on input as either the shortuuid form or the canonical UUID form (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Display name for the new product. Empty string is allowed and may be enriched later via PATCH.
255Long-form product description. Empty string is allowed.
ISO 3166-1 alpha-2 country code where the product is made. Empty string when unknown.
2Free-text net content as printed on the package (e.g. 340g). Empty string when unknown.
100Raw ingredient list text. When provided, the parser splits the text into spans and matches each span to a Substance record. Omit to skip ingredient parsing.
Created
Canonical product record returned by the GTIN repository.
Combines the core trade-item fields, GDSN dimension/weight pairs, GS1
Global Product Classification (GPC) codes, and the Stripe-style
metadata map. Crowd-sourced contributions are folded into this
shape only after they pass the confidence-promotion threshold.
Internal product identifier (UUID). Stable for the lifetime of the GTIN.
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Normalized GTIN-14 (zero-padded). Stable across the catalog regardless of input format.
14^\d{14}$Display name of the product as marketed on the packaging.
True when the GTIN has been claimed by a brand owner (i.e. the linked Brand belongs to an Organization).
Provenance of the canonical record (e.g. crowd_sourced, open_food_facts, claimed once a brand owner takes ownership).
crowd_sourced, claimed, imported, ai_extracted, brand_site_crawl, gtin1_authoritative, external_api, open_food_facts, usda_fdc, fda_ndc, affiliate_feed, datakick, common_crawl_wdc Aggregate confidence score across all canonical fields, derived from contribution agreement.
0 <= x <= 1Per-field confidence map, e.g. {"product_name": 0.95, "brand": 0.9}. Each value is in the range 0.0 - 1.0.
Developer-attached key/value data attached to this object. Up to 50 keys; key max 40 chars, value max 500 chars.
Brand name resolved from the linked Brand record. Empty string when the GTIN is not yet associated with a brand.
Manufacturer name resolved from the linked Manufacturer record. Empty string when no manufacturer is on file.
Long-form description of the product. May be empty.
Absolute URL of the primary product image. Empty string when the product has no hero image.
ISO 3166-1 alpha-2 country code identifying where the product was made. Empty string when unknown.
2Free-text net content as printed on the package (e.g. 340g, 12 x 330ml). Use net_content_value + net_content_uom for the structured pair.
Structured numeric net content (e.g. 340 for 340g). Null when no structured value has been parsed.
UN/CEFACT unit code paired with net_content_value. Null when no structured value has been parsed; expect the empty string on legacy records pending a backfill.
MLT, CLT, LTR, GRM, KGM, ONZ, LBR, PTI, QTI, GLL, EA URL-safe 22-character shortuuid encoding of the row's UUID primary key. Stable across the row's lifetime; suitable for sharing in URLs, log lines, and external SDK clients. Accepted on input as either the shortuuid form or the canonical UUID form (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Verification tier for the GTIN ownership claim. Null when the GTIN has never been claimed; set automatically to unverified on initial claim and upgraded by external verification signals.
unverified, prefix_matched, verified, disputed, rejected Product length in the unit specified by length_uom. Null when the dimension is unknown.
UN/CEFACT recommendation 20/21 unit code for the paired dimension (e.g. CMT centimetre, MMT millimetre, MTR metre). Empty string when the dimension is unknown.
10Product width in the unit specified by width_uom. Null when the dimension is unknown.
UN/CEFACT recommendation 20/21 unit code for the paired dimension (e.g. CMT centimetre, MMT millimetre, MTR metre). Empty string when the dimension is unknown.
10Product height in the unit specified by height_uom. Null when the dimension is unknown.
UN/CEFACT recommendation 20/21 unit code for the paired dimension (e.g. CMT centimetre, MMT millimetre, MTR metre). Empty string when the dimension is unknown.
10Product depth in the unit specified by depth_uom. Null when the dimension is unknown.
UN/CEFACT recommendation 20/21 unit code for the paired dimension (e.g. CMT centimetre, MMT millimetre, MTR metre). Empty string when the dimension is unknown.
10Gross weight (product + packaging) in the unit specified by gross_weight_uom. Null when unknown.
UN/CEFACT recommendation 20/21 unit code for the paired weight (e.g. GRM gram, KGM kilogram, LBR pound, ONZ ounce). Empty string when the weight is unknown.
10Net weight (product only, excluding packaging) in the unit specified by net_weight_uom. Null when unknown.
UN/CEFACT recommendation 20/21 unit code for the paired weight (e.g. GRM gram, KGM kilogram, LBR pound, ONZ ounce). Empty string when the weight is unknown.
10GS1 Global Product Classification 8-digit brick code (the most specific level). Empty string when the product has not been classified.
8^(\d{8})?$GS1 Global Product Classification class code (parent of brick). Empty string when unclassified.
8^(\d{8})?$GS1 Global Product Classification family code (parent of class). Empty string when unclassified.
8^(\d{8})?$GS1 Global Product Classification segment code (top-level category). Empty string when unclassified.
8^(\d{8})?$