{"openapi":"3.1.0","info":{"title":"GTIN UPC EAN Validate and Policy Guard API","version":"1.0.0","description":"Inspect GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, and GTIN-14 values; calculate GS1 Modulo-10 check digits; convert zero-padding-compatible representations; compare canonical identities; inspect bounded batches; and apply explicit product-feed policy. Processing is stateless and deterministic. The API never queries a GS1 or product registry and does not prove assignment, product identity, brand ownership, country of origin, or marketplace acceptance."},"paths":{"/marketplace/rapid/gtin/v1/inspect":{"post":{"tags":["GTIN Inspect"],"summary":"Inspect GTIN, UPC, or EAN","description":"Validate length and GS1 check digit and return canonical GTIN-14 evidence without a registry lookup.","operationId":"inspectGTIN","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINInspectRequest"},"examples":{"example":{"summary":"Inspect GTIN, UPC, or EAN","value":{"gtin":"4006381333931"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINInspectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/gtin/v1/check-digit/calculate":{"post":{"tags":["GTIN Check Digit"],"summary":"Calculate GTIN check digit","description":"Calculate the GS1 Modulo-10 check digit for a bounded 7, 11, 12, or 13 digit body.","operationId":"calculateGTINCheckDigit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINCalculateRequest"},"examples":{"example":{"summary":"Calculate GTIN check digit","value":{"body":"400638133393","target_type":"GTIN_13"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINCalculateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/gtin/v1/convert":{"post":{"tags":["GTIN Representation Convert"],"summary":"Convert GTIN representation","description":"Convert only between zero-padding-compatible GTIN-8, GTIN-12, GTIN-13, and GTIN-14 representations.","operationId":"convertGTINRepresentation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINConvertRequest"},"examples":{"example":{"summary":"Convert GTIN representation","value":{"gtin":"036000291452","target_type":"GTIN_14"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINConvertResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/gtin/v1/compare":{"post":{"tags":["GTIN Compare"],"summary":"Compare GTIN representations","description":"Compare two values through canonical GTIN-14 identity with explicit checksum evidence.","operationId":"compareGTINs","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINCompareRequest"},"examples":{"example":{"summary":"Compare GTIN representations","value":{"left":"036000291452","right":"00-036000291452"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINCompareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/gtin/v1/batch/inspect":{"post":{"tags":["GTIN Batch Inspect"],"summary":"Inspect GTIN batch","description":"Inspect up to 1,000 values with per-item errors and canonical duplicate groups.","operationId":"inspectGTINBatch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINBatchRequest"},"examples":{"example":{"summary":"Inspect GTIN batch","value":{"items":[{"reference":"sku-1","gtin":"4006381333931"},{"reference":"sku-2","gtin":"0 4006381333931"},{"reference":"bad","gtin":"4006381333932"}]}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/gtin/v1/policy-check":{"post":{"tags":["GTIN Policy"],"summary":"Check GTIN policy","description":"Apply explicit type, checksum, restricted-circulation, coupon, and demonstration-prefix policy.","operationId":"checkGTINPolicy","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINPolicyRequest"},"examples":{"example":{"summary":"Check GTIN policy","value":{"gtin":"4006381333931","profile":"GOOGLE_MERCHANT","allowed_types":["GTIN_12","GTIN_13","GTIN_14"],"require_type_allowlist":true}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTINPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"GTINBatchItem":{"properties":{"gtin":{"type":"string","maxLength":64,"minLength":1,"title":"Gtin"},"separator_policy":{"type":"string","enum":["REJECT","IGNORE_ASCII_SPACE_HYPHEN"],"title":"Separator Policy","default":"IGNORE_ASCII_SPACE_HYPHEN"},"reference":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Reference"}},"additionalProperties":false,"type":"object","required":["gtin"],"title":"GTINBatchItem"},"GTINBatchRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GTINBatchItem"},"type":"array","maxItems":1000,"minItems":1,"title":"Items"}},"additionalProperties":false,"type":"object","required":["items"],"title":"GTINBatchRequest"},"GTINBatchResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"item_count":{"type":"integer","title":"Item Count"},"valid_count":{"type":"integer","title":"Valid Count"},"invalid_count":{"type":"integer","title":"Invalid Count"},"duplicate_groups":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Duplicate Groups"},"items":{"items":{"$ref":"#/components/schemas/GTINBatchResult"},"type":"array","title":"Items"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-11"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","item_count","valid_count","invalid_count","duplicate_groups","items","next_action"],"title":"GTINBatchResponse"},"GTINBatchResult":{"properties":{"index":{"type":"integer","title":"Index"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"parsed":{"anyOf":[{"$ref":"#/components/schemas/ParsedGTIN"},{"type":"null"}]},"decision":{"anyOf":[{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"]},{"type":"null"}],"title":"Decision"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"}},"additionalProperties":false,"type":"object","required":["index","reference"],"title":"GTINBatchResult"},"GTINCalculateRequest":{"properties":{"body":{"type":"string","maxLength":13,"minLength":7,"pattern":"^[0-9]+$","title":"Body"},"target_type":{"anyOf":[{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"]},{"type":"null"}],"title":"Target Type"}},"additionalProperties":false,"type":"object","required":["body"],"title":"GTINCalculateRequest"},"GTINCalculateResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","const":"CLEAR","title":"Decision","default":"CLEAR"},"body":{"type":"string","title":"Body"},"check_digit":{"type":"integer","title":"Check Digit"},"gtin":{"type":"string","title":"Gtin"},"gtin_type":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"],"title":"Gtin Type"},"canonical_gtin14":{"type":"string","title":"Canonical Gtin14"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-11"},"registry_queried":{"type":"boolean","const":false,"title":"Registry Queried","default":false},"assignment_verified":{"type":"boolean","const":false,"title":"Assignment Verified","default":false},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["body","check_digit","gtin","gtin_type","canonical_gtin14","next_action"],"title":"GTINCalculateResponse"},"GTINCompareRequest":{"properties":{"left":{"type":"string","maxLength":64,"minLength":1,"title":"Left"},"right":{"type":"string","maxLength":64,"minLength":1,"title":"Right"},"separator_policy":{"type":"string","enum":["REJECT","IGNORE_ASCII_SPACE_HYPHEN"],"title":"Separator Policy","default":"IGNORE_ASCII_SPACE_HYPHEN"},"require_valid_checksums":{"type":"boolean","title":"Require Valid Checksums","default":true}},"additionalProperties":false,"type":"object","required":["left","right"],"title":"GTINCompareRequest"},"GTINCompareResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"canonical_equal":{"type":"boolean","title":"Canonical Equal"},"same_valid_identity":{"type":"boolean","title":"Same Valid Identity"},"left":{"$ref":"#/components/schemas/ParsedGTIN"},"right":{"$ref":"#/components/schemas/ParsedGTIN"},"findings":{"items":{"$ref":"#/components/schemas/GTINFinding"},"type":"array","title":"Findings"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","canonical_equal","same_valid_identity","left","right","findings","next_action"],"title":"GTINCompareResponse"},"GTINConvertRequest":{"properties":{"gtin":{"type":"string","maxLength":64,"minLength":1,"title":"Gtin"},"separator_policy":{"type":"string","enum":["REJECT","IGNORE_ASCII_SPACE_HYPHEN"],"title":"Separator Policy","default":"IGNORE_ASCII_SPACE_HYPHEN"},"target_type":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"],"title":"Target Type","default":"GTIN_14"},"require_valid_checksum":{"type":"boolean","title":"Require Valid Checksum","default":true}},"additionalProperties":false,"type":"object","required":["gtin"],"title":"GTINConvertRequest"},"GTINConvertResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"source":{"$ref":"#/components/schemas/ParsedGTIN"},"target_type":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"],"title":"Target Type"},"converted":{"type":"string","title":"Converted"},"identity_preserved":{"type":"boolean","const":true,"title":"Identity Preserved","default":true},"findings":{"items":{"$ref":"#/components/schemas/GTINFinding"},"type":"array","title":"Findings"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","source","target_type","converted","findings","next_action"],"title":"GTINConvertResponse"},"GTINFinding":{"properties":{"code":{"type":"string","title":"Code"},"severity":{"type":"string","enum":["LOW","MEDIUM","HIGH"],"title":"Severity"},"message":{"type":"string","title":"Message"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["code","severity","message","next_action"],"title":"GTINFinding"},"GTINInspectRequest":{"properties":{"gtin":{"type":"string","maxLength":64,"minLength":1,"title":"Gtin"},"separator_policy":{"type":"string","enum":["REJECT","IGNORE_ASCII_SPACE_HYPHEN"],"title":"Separator Policy","default":"IGNORE_ASCII_SPACE_HYPHEN"}},"additionalProperties":false,"type":"object","required":["gtin"],"title":"GTINInspectRequest"},"GTINInspectResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"parsed":{"$ref":"#/components/schemas/ParsedGTIN"},"findings":{"items":{"$ref":"#/components/schemas/GTINFinding"},"type":"array","title":"Findings"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","parsed","findings","next_action"],"title":"GTINInspectResponse"},"GTINPolicyRequest":{"properties":{"gtin":{"type":"string","maxLength":64,"minLength":1,"title":"Gtin"},"separator_policy":{"type":"string","enum":["REJECT","IGNORE_ASCII_SPACE_HYPHEN"],"title":"Separator Policy","default":"IGNORE_ASCII_SPACE_HYPHEN"},"profile":{"type":"string","enum":["GENERIC_SYNTAX","GOOGLE_MERCHANT"],"title":"Profile","default":"GENERIC_SYNTAX"},"allowed_types":{"items":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"]},"type":"array","maxItems":4,"title":"Allowed Types"},"require_type_allowlist":{"type":"boolean","title":"Require Type Allowlist","default":false},"require_valid_checksum":{"type":"boolean","title":"Require Valid Checksum","default":true},"block_restricted_circulation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Block Restricted Circulation"},"block_coupon_ranges":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Block Coupon Ranges"},"block_demonstration_prefix":{"type":"boolean","title":"Block Demonstration Prefix","default":true}},"additionalProperties":false,"type":"object","required":["gtin"],"title":"GTINPolicyRequest"},"GTINPolicyResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","BLOCKED"],"title":"Decision"},"permitted":{"type":"boolean","title":"Permitted"},"profile":{"type":"string","enum":["GENERIC_SYNTAX","GOOGLE_MERCHANT"],"title":"Profile"},"parsed":{"$ref":"#/components/schemas/ParsedGTIN"},"findings":{"items":{"$ref":"#/components/schemas/GTINFinding"},"type":"array","title":"Findings"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-11"},"registry_queried":{"type":"boolean","const":false,"title":"Registry Queried","default":false},"marketplace_acceptance_verified":{"type":"boolean","const":false,"title":"Marketplace Acceptance Verified","default":false},"country_of_origin_inferred":{"type":"boolean","const":false,"title":"Country Of Origin Inferred","default":false},"network_access_performed":{"type":"boolean","const":false,"title":"Network Access Performed","default":false},"payload_stored":{"type":"boolean","const":false,"title":"Payload Stored","default":false},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","permitted","profile","parsed","findings","next_action"],"title":"GTINPolicyResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ParsedGTIN":{"properties":{"normalized":{"type":"string","title":"Normalized"},"gtin_type":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"],"title":"Gtin Type"},"length":{"type":"integer","title":"Length"},"body":{"type":"string","title":"Body"},"check_digit":{"type":"integer","title":"Check Digit"},"expected_check_digit":{"type":"integer","title":"Expected Check Digit"},"checksum_valid":{"type":"boolean","title":"Checksum Valid"},"canonical_gtin14":{"type":"string","title":"Canonical Gtin14"},"representable_types":{"items":{"type":"string","enum":["GTIN_8","GTIN_12","GTIN_13","GTIN_14"]},"type":"array","title":"Representable Types"},"prefix_category":{"type":"string","enum":["GENERAL","RESTRICTED_CIRCULATION","COUPON","DEMONSTRATION"],"title":"Prefix Category"},"gs1_prefix_candidate":{"type":"string","title":"Gs1 Prefix Candidate"},"source_sha256":{"type":"string","title":"Source Sha256"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-11"},"gs1_general_specifications_version":{"type":"string","title":"Gs1 General Specifications Version","default":"26.0.0"},"syntax_and_checksum_only":{"type":"boolean","const":true,"title":"Syntax And Checksum Only","default":true},"registry_queried":{"type":"boolean","const":false,"title":"Registry Queried","default":false},"assignment_verified":{"type":"boolean","const":false,"title":"Assignment Verified","default":false},"product_identity_verified":{"type":"boolean","const":false,"title":"Product Identity Verified","default":false},"brand_ownership_verified":{"type":"boolean","const":false,"title":"Brand Ownership Verified","default":false},"country_of_origin_inferred":{"type":"boolean","const":false,"title":"Country Of Origin Inferred","default":false},"network_access_performed":{"type":"boolean","const":false,"title":"Network Access Performed","default":false},"payload_stored":{"type":"boolean","const":false,"title":"Payload Stored","default":false}},"additionalProperties":false,"type":"object","required":["normalized","gtin_type","length","body","check_digit","expected_check_digit","checksum_valid","canonical_gtin14","representable_types","prefix_category","gs1_prefix_candidate","source_sha256"],"title":"ParsedGTIN"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"GTIN Inspect","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."},{"name":"GTIN Check Digit","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."},{"name":"GTIN Representation Convert","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."},{"name":"GTIN Compare","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."},{"name":"GTIN Batch Inspect","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."},{"name":"GTIN Policy","description":"A bounded, stateless product-identifier preflight for agents, merchant feeds, catalog imports, retail operations, and e-commerce integrations."}],"servers":[{"url":"https://api-production-9502.up.railway.app"}]}