{"openapi":"3.1.0","info":{"title":"Bolot Studio UCP API","version":"1.1.0","description":"Universal Commerce Protocol API for Bolot Studio — custom made-to-order metal products. Photo-print products require a customer-provided image before checkout can be completed. The Address Sign uses template and address inputs, not photo upload. AI agents should direct customers to the product configurator before checkout. Pricing updated 2026-09-04; Statement single from PL 219 zł / DE €99 / CZ 1499 Kč / DK 749 kr / SE 999 kr / NO 999 kr / CH CHF129 / UK £79 / CA $229 / HU HUF25990 / RO RON319. Public agentic discovery is catalog/search plus hosted-Shopify handoff only; cart, checkout, photo-upload, order, and payment mutation APIs are intentionally omitted from this public OpenAPI surface.","contact":{"name":"Bolot Studio Support","email":"support@bolotstudio.com","url":"https://bolotstudio.com/en/pages/contact"},"x-llms-txt":"https://bolotstudio.com/llms.txt","x-pricing-updated":"2026-09-04","x-pricing-version":"v5.2.3 July 2026","license":{"name":"Proprietary"}},"servers":[{"url":"https://bolotstudio.com","description":"Production"}],"paths":{"/api/ucp":{"get":{"operationId":"getUCPRoot","summary":"UCP root discovery document","description":"Returns canonical links to the manifest, catalog, OpenAPI document, public product feed, and MCP endpoint. Checkout and payment remain a hosted human handoff.","tags":["Discovery"],"responses":{"200":{"description":"UCP root discovery document","content":{"application/json":{"schema":{"type":"object","required":["protocol","profile_version","canonical_url","links","capabilities"]}}}}}}},"/api/ucp/discover":{"get":{"operationId":"discoverUCP","summary":"UCP Discovery Endpoint","description":"Returns the UCP manifest for AI agent discovery. Describes available services, capabilities, and payment handlers.","tags":["Discovery"],"responses":{"200":{"description":"UCP manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UCPManifest"}}}}}}},"/api/ucp/products":{"get":{"operationId":"listProducts","summary":"List or search products","description":"Query the product catalog. Supports searching by term, filtering by handle, and sorting.","tags":["Products"],"parameters":[{"name":"handle","in":"query","description":"Get a single product by its handle","schema":{"type":"string","example":"the-legacy-print"}},{"name":"search","in":"query","description":"Search products by keyword","schema":{"type":"string","example":"metal print"}},{"name":"sortBy","in":"query","description":"Sort field","schema":{"type":"string","enum":["title","price","created","updated","best_selling"]}},{"name":"sortOrder","in":"query","description":"Sort direction","schema":{"type":"string","enum":["asc","desc"]}},{"name":"limit","in":"query","description":"Maximum number of results (1-50)","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"country","in":"query","description":"ISO 3166-1 alpha-2 country code for geo-specific pricing (e.g., GB, PL, DE)","schema":{"type":"string"}},{"name":"locale","in":"query","description":"Locale code for localized URLs and descriptions (e.g. en, de, pl)","schema":{"type":"string","enum":["en","pl","de","fr","it","es","nl","no","sv","da","cs","pt","el"]}},{"name":"market","in":"query","description":"Bolot Shopify Market code. Use this to force market/currency context when locale is generic (for example locale=en, market=UK). If `country` is present, country and market must agree. The US market is not currently supported.","schema":{"type":"string","minLength":2,"maxLength":2,"example":"UK"}}],"responses":{"200":{"description":"Product list or single product","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"oneOf":[{"$ref":"#/components/schemas/UCPProduct"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UCPProduct"}},"totalCount":{"type":"integer"}}}]}}}}}},"400":{"description":"Invalid request parameters"},"404":{"description":"Product not found"}}}},"/api/google-merchant-feed":{"get":{"operationId":"getGoogleMerchantFeed","summary":"Google Merchant Center product feed","description":"Returns product feed in XML format for Google Merchant Center with all products, pricing, images, availability, and shipping data.","tags":["Feeds"],"responses":{"200":{"description":"Google Merchant Center XML feed","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/api/mcp":{"post":{"summary":"MCP (Model Context Protocol) Server","description":"JSON-RPC 2.0 endpoint for AI agent tool calling. Supports 9 tools: search_products, get_product_recommendations, search_policies_and_faqs, compare_products, get_store_info, check_photo_compatibility, get_shipping_estimate, get_reviews_summary, start_configuration. Returns enriched product data with AI summaries, use-case recommendations, FAQs, competitive positioning, shipping information, reviews, and configurator links.","operationId":"mcpServer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":["string","integer"]},"method":{"type":"string","enum":["initialize","tools/list","tools/call"]},"params":{"type":"object"}},"required":["jsonrpc","method"]}}}},"responses":{"200":{"description":"JSON-RPC 2.0 response","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"type":["string","integer"]},"result":{"type":"object"}}}}}}}}},"/api/ucp/auth":{"post":{"operationId":"authenticateAgent","summary":"OAuth 2.0 Token Endpoint","description":"Issue access tokens for AI agents using Client Credentials flow.","tags":["Authentication"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["grant_type","client_id","client_secret"],"properties":{"grant_type":{"type":"string","enum":["client_credentials"]},"client_id":{"type":"string"},"client_secret":{"type":"string"},"scope":{"type":"string","description":"Space-separated scopes: ucp:scopes:checkout_session ucp:scopes:order_read ucp:scopes:order_write ucp:scopes:catalog_read ucp:scopes:identity_read (legacy: read:orders write:cart read:profile)"}}}}}},"responses":{"200":{"description":"Access token issued","content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string"},"token_type":{"type":"string","example":"Bearer"},"expires_in":{"type":"integer","example":3600,"description":"Token validity in seconds"},"scope":{"type":"string"}}}}}},"401":{"description":"Invalid credentials"},"429":{"description":"Rate limit exceeded"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Access token obtained from POST /api/ucp/auth"},"ucp_agent":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Agent identification JWT signed with ES256 (EC P-256, asymmetric). Issued by Bolot via POST /api/ucp/auth; the matching public key is published at /.well-known/jwks.json (keyed by `kid`). Include `UCP-Agent: profile=\"<agent profile URL>\"` header alongside. Mutating checkout requests MAY additionally be signed at the HTTP-message level: send RFC 9421 `Signature-Input` + `Signature` headers (derived components @method @authority @path plus `content-digest` per RFC 9530, alg=ecdsa-p256-sha256), OR the legacy custom `request-signature` JWT. When present, the signature is verified against the agent's UCP-profile signing keys; RFC 9421 takes precedence over the custom JWT."}},"schemas":{"UCPCartCrudData":{"type":"object","additionalProperties":false,"required":["cartId","items","totalPrice","subtotalPrice","totalQuantity","requiresCustomImage"],"description":"Non-terminal create/add/remove cart data. Payable checkout URLs are intentionally absent.","properties":{"cartId":{"type":"string"},"items":{"type":"array","items":{"type":"object"}},"totalPrice":{"type":"object"},"subtotalPrice":{"type":"object"},"totalQuantity":{"type":"integer","minimum":0},"requiresCustomImage":{"type":"boolean"}}},"UCPCartHandoffData":{"type":"object","additionalProperties":false,"required":["cartId","items","totalPrice","subtotalPrice","totalQuantity","checkoutUrl","requiresCustomImage"],"description":"Explicit action=get checkout handoff data returned only after live validation and successful checkout-lane seal.","properties":{"cartId":{"type":"string"},"items":{"type":"array","items":{"type":"object"}},"totalPrice":{"type":"object"},"subtotalPrice":{"type":"object"},"totalQuantity":{"type":"integer","minimum":0},"checkoutUrl":{"type":"string","format":"uri"},"requiresCustomImage":{"type":"boolean"}}},"UCPCartItemInput":{"type":"object","required":["variantId","quantity"],"properties":{"variantId":{"type":"string","description":"Shopify variant GID","example":"gid://shopify/ProductVariant/12345678901234"},"quantity":{"type":"integer","minimum":1,"maximum":100},"customAttributes":{"type":"array","description":"For photo prints, include custom_image_url with the /api/ucp/photos prepress_url.","items":{"type":"object","properties":{"key":{"type":"string","maxLength":100},"value":{"type":"string","maxLength":5000}}}}}},"PhotoIngestResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["photo_id","original_url","dimensions","quality_for","mime_type","bytes","prepress_applied"],"properties":{"photo_id":{"type":"string","pattern":"^ph_[A-Za-z0-9_-]+$"},"original_url":{"type":"string","format":"uri","description":"Proxy URL pointing to the EXIF-stripped, rotated original (archival)."},"prepress_url":{"type":"string","format":"uri","description":"Proxy URL pointing to the pre-pressed JPEG at trim+bleed. Pass this in custom_image_url."},"dimensions":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"quality_for":{"type":"object","properties":{"large":{"type":"string","enum":["ok","warn","fail"]},"medium":{"type":"string","enum":["ok","warn","fail"]},"intimate":{"type":"string","enum":["ok","warn","fail"]},"small":{"type":"string","enum":["ok","warn","fail"]}}},"mime_type":{"type":"string"},"bytes":{"type":"integer"},"prepress_applied":{"type":"boolean"}}}}},"UCPError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["low_resolution","unsupported_mime","ssrf_blocked","url_unreachable","url_oversized","url_wrong_content_type","oversized","invalid_image","image_too_large","invalid_variant","product_not_available_in_market","prepress_failed","upload_failed","metadata_write_failed","feature_disabled","rate_limited","unauthorized","forbidden","internal_error","validation_error","unsupported_media_type"]},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"UCPManifest":{"type":"object","description":"UCP discovery manifest","properties":{"about":{"type":"object","description":"About this commerce provider","properties":{"type":{"type":"string","example":"custom_photo_printing"},"description":{"type":"string"},"customization_required":{"type":"boolean"},"product_types":{"type":"array","items":{"type":"string"}},"configurator_url":{"type":"string","format":"uri"}}},"ucp":{"type":"object","properties":{"version":{"type":"string"},"services":{"type":"object"},"capabilities":{"type":"array","items":{"type":"object"}}}},"payment":{"type":"object","properties":{"handlers":{"type":"array","items":{"type":"object"}}}},"brand":{"type":"object","description":"Brand identity and legal information","properties":{"name":{"type":"string"},"legalName":{"type":"string"},"logo":{"type":"string","format":"uri"},"foundingDate":{"type":"string"},"country":{"type":"string"},"taxID":{"type":"string"},"email":{"type":"string","format":"email"},"socialProfiles":{"type":"object","properties":{"instagram":{"type":"string","format":"uri"},"tiktok":{"type":"string","format":"uri"},"pinterest":{"type":"string","format":"uri"}}}}},"policies":{"type":"object","description":"Links to legal and policy pages","properties":{"returns":{"type":"string","format":"uri"},"shipping":{"type":"string","format":"uri"},"privacy":{"type":"string","format":"uri"},"terms":{"type":"string","format":"uri"},"cookies":{"type":"string","format":"uri"}}},"agent_instructions":{"type":"object","description":"Instructions for AI shopping agents on how to interact with this commerce provider","properties":{"critical_requirement":{"type":"string"},"recommended_flow":{"type":"array","items":{"type":"string"}},"configurator_urls":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"product_selection_guide":{"type":"string"}}}}},"UCPProduct":{"type":"object","description":"Product in UCP format","properties":{"id":{"type":"string","description":"Shopify product GID"},"handle":{"type":"string","example":"the-legacy-print"},"title":{"type":"string","example":"The Legacy Print"},"description":{"type":"string"},"price":{"oneOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}],"description":"Lowest market-visible resolver price, or null when no sellable offer is available in the requested market."},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"}},"variants":{"type":"array","items":{"$ref":"#/components/schemas/UCPVariant"}},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Size"},"values":{"type":"array","items":{"type":"string"},"example":["Small","Medium","Large"]}}}},"availability":{"type":"string","enum":["in_stock","out_of_stock"]},"vendor":{"type":"string","example":"Bolot Studio"},"productType":{"type":"string","example":"Metal Photo Print"},"shipping":{"type":"object","properties":{"freeAbove":{"$ref":"#/components/schemas/Money"},"estimatedDays":{"type":"object","properties":{"min":{"type":"integer","example":4},"max":{"type":"integer","example":12}}},"zones":{"type":"array","items":{"type":"string"},"example":["EU","UK","NO","CH"]}}},"returns":{"type":"object","properties":{"days":{"type":["integer","null"],"example":null,"description":"Commercial return-window length, or null when no blanket change-of-mind window is offered."},"type":{"type":"string","enum":["statutory_remedies_personalized_goods"],"example":"statutory_remedies_personalized_goods"},"freeReturns":{"type":"boolean","const":false,"example":false,"description":"True only for a blanket merchant-paid commercial return policy. Mandatory statutory-remedy costs are described separately."},"changeOfMindReturns":{"type":"string","description":"No blanket voluntary change-of-mind window is promised; mandatory destination-law rights remain.","enum":["not_offered_for_personalized_goods"]},"qualityIssueReportingTiming":{"type":"string","const":"promptly_after_discovery","example":"promptly_after_discovery","description":"Contact timing for voluntary Verified quality support. It does not create a separate claim deadline or limit mandatory rights."},"qualityIssueReportingHasSeparateDeadline":{"type":"boolean","const":false,"example":false,"description":"Verified quality support does not impose a separate voluntary claim deadline."},"merchantPaidVerifiedIssueReturns":{"type":"boolean","const":true,"example":true,"description":"If Bolot Studio accepts a physical return for a verified quality issue, Bolot Studio pays that return cost."},"personalizedGoodsExemption":{"type":"boolean","const":true},"legalBasis":{"type":"string"},"process":{"type":"string"},"eligibleReasons":{"type":"array","items":{"type":"string"}},"excludedReasons":{"type":"array","items":{"type":"string"}},"coverage":{"type":"string"}}},"customization":{"type":"object","description":"Customization requirements. IMPORTANT: Most products require a customer-uploaded photo; the Address Sign uses text/template input instead.","properties":{"required":{"type":"boolean","description":"Whether customization is mandatory to order"},"type":{"type":"string","description":"Type of customization (e.g., photo_upload)"},"description":{"type":"string"},"image_upload":{"type":"object","properties":{"required":{"type":"boolean"},"formats":{"type":"array","items":{"type":"string"}},"max_file_size":{"type":"string"},"min_resolution":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"recommended_resolution":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}}}},"configurator_url":{"type":"string","format":"uri","description":"URL where customer can upload photo and configure the product"},"ordering_flow":{"type":"array","items":{"type":"string"},"description":"Step-by-step ordering flow"},"checkout_attribute":{"type":"object","description":"How to pass the customer's image URL when creating a checkout session","properties":{"key":{"type":"string","description":"Attribute key to use in line_items[].custom_attributes"},"description":{"type":"string"},"required":{"type":"boolean"}}}}},"product_nature":{"type":"string","description":"Whether product is made_to_order, ready_made, etc."},"material":{"type":"object","properties":{"type":{"type":"string"},"thickness":{"type":"string"},"process":{"type":"string"},"mounting":{"type":"string"}}},"social_proof":{"type":"object","description":"Social proof and review data for AI shopping agent recommendations","properties":{"aggregate_rating":{"type":"object","properties":{"value":{"type":"number","description":"Average rating (e.g. 4.9)"},"scale":{"type":"number","description":"Rating scale maximum (5)"},"review_count":{"type":"integer","description":"Total number of reviews"},"verified_purchase_count":{"type":"integer","description":"Number of verified purchase reviews"},"reviews_with_photos_count":{"type":"integer","description":"Number of reviews with photos"}}},"featured_reviews":{"type":"array","items":{"type":"object","properties":{"author":{"type":"string"},"rating":{"type":"number"},"variant":{"type":"string"},"body":{"type":"string"},"verified_purchase":{"type":"boolean"},"has_photo":{"type":"boolean"},"date":{"type":"string","format":"date"}}}},"review_source":{"type":"string","description":"Review platform (judge.me)"},"review_page_url":{"type":"string","format":"uri"}}},"use_cases":{"type":"array","description":"Recommended use cases with variant/finish suggestions for AI recommendation engines","items":{"type":"object","properties":{"occasion":{"type":"string","description":"Use case identifier (birthday_gift, home_decor, etc.)"},"recommended_variant":{"type":"string"},"recommended_finish":{"type":"string"},"price_from":{"type":["object","null"],"properties":{"amount":{"type":"string"},"currency":{"type":"string"}}},"why":{"type":"string","description":"Explanation for the recommendation"},"recipient_profile":{"type":"string","description":"Target recipient profile, e.g. man_who_has_everything, woman, couple"},"age_range":{"type":"string","description":"Target age range, e.g. 30, 40-49, 50, 60+"},"seasonal":{"type":"boolean","description":"Whether this use case is seasonal (Valentine's, Christmas, etc.)"}}}},"gifting":{"type":"object","description":"Gift purchasing metadata with budget tiers","properties":{"is_giftable":{"type":"boolean"},"gift_wrapping":{"type":"boolean"},"gift_message":{"type":"boolean"},"budget_tiers":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"variant":{"type":"string"},"from":{"type":["string","null"]},"currency":{"type":["string","null"]}}}}}},"competitive_positioning":{"type":"object","description":"Competitive comparison data for AI shopping comparison","properties":{"category":{"type":"string"},"differentiators":{"type":"array","items":{"type":"object","properties":{"feature":{"type":"string"},"value":{"oneOf":[{"type":"string"},{"type":"boolean"}]},"competitor_typical":{"oneOf":[{"type":"string"},{"type":"boolean"}]}}}},"vs_competitors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"key_differences":{"type":"array","items":{"type":"string"}}}}}}},"sustainability":{"type":"object","description":"Environmental and sustainability claims","properties":{"material_recyclability":{"type":"string"},"process_claims":{"type":"array","items":{"type":"string"}},"packaging":{"type":"string"},"certifications":{"type":"array","items":{"type":"string"}}}},"gallery":{"type":"object","description":"Semantically tagged image gallery for AI visual context","properties":{"product_shots":{"type":"array","items":{"$ref":"#/components/schemas/UCPImage"}},"lifestyle":{"type":"array","items":{"$ref":"#/components/schemas/UCPImage"}},"size_comparison":{"type":"array","items":{"$ref":"#/components/schemas/UCPImage"}},"mounting_detail":{"type":"array","items":{"$ref":"#/components/schemas/UCPImage"}},"close_up":{"type":"array","items":{"$ref":"#/components/schemas/UCPImage"}}}},"active_promotions":{"type":"array","description":"Currently active promotional offers","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"qualifying_variants":{"type":"array","items":{"type":"string"}},"gift_value":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"}}},"active":{"type":"boolean"},"terms":{"type":"string"}}}},"finish_guide":{"type":"object","description":"Finish selection guide for AI recommendations","properties":{"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"best_for":{"type":"array","items":{"type":"string"}},"avoid_for":{"type":"array","items":{"type":"string"}}}}},"decision_rule":{"type":"string"}}},"b2b":{"type":"object","description":"B2B purchasing information","properties":{"available":{"type":"boolean"},"programs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"min_order":{"type":"integer","nullable":true},"description":{"type":"string"}}}},"contact_email":{"type":"string","format":"email"},"contact_subject":{"type":"string"},"b2b_page_url":{"type":"string","format":"uri"},"vat_invoicing":{"type":"boolean"}}},"quality_assurance":{"type":"object","description":"Quality assurance and trust signals","properties":{"individual_inspection":{"type":"boolean"},"inspection_description":{"type":"string"},"color_accuracy":{"type":"string"},"production_method":{"type":"string"},"quality_standard":{"type":"string"},"defect_policy":{"type":"string"}}},"localized_urls":{"type":"object","description":"Product URLs for all supported locales","additionalProperties":{"type":"string","format":"uri"}},"available_locales":{"type":"array","description":"List of available locale codes","items":{"type":"string"}},"ai_summary":{"type":"object","description":"Structured AI-friendly summary for shopping agents and LLMs","properties":{"one_liner":{"type":"string"},"key_differentiator":{"type":"string"},"ideal_for":{"type":"array","items":{"type":"string"}},"not_ideal_for":{"type":"array","items":{"type":"string"}},"decision_factors":{"type":"array","items":{"type":"string"}},"requires_photo_upload":{"type":"boolean"},"has_3d_preview":{"type":"boolean"},"has_template_editor":{"type":"boolean"},"production_timeline":{"type":"object","description":"Made-to-order production timeline","properties":{"min_days":{"type":"integer","description":"Minimum production days"},"max_days":{"type":"integer","description":"Maximum production days"},"note":{"type":"string","description":"Production timeline note"}}},"price_breakdown":{"type":"array","description":"Price breakdown per variant size","items":{"type":"object","properties":{"variant":{"type":"string"},"from":{"type":["string","null"]},"currency":{"type":["string","null"]}}}},"unique_benefits":{"type":"array","description":"Product-specific benefits (e.g. tool_free_mounting, protective_uv_laminate_included)","items":{"type":"string"}}}},"ai_description":{"type":"string","description":"Markdown-formatted product description optimized for LLM consumption"},"faqs":{"type":"array","description":"Frequently asked questions about this product","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}}}},"product_comparison":{"type":"object","description":"Comparison with related products to help AI agents guide selection","properties":{"vs_product":{"type":"string","description":"Handle of the compared product"},"vs_product_title":{"type":"string","description":"Title of the compared product"},"differences":{"type":"array","items":{"type":"string"}},"when_to_choose_this":{"type":"array","items":{"type":"string"}},"when_to_choose_other":{"type":"array","items":{"type":"string"}}}},"shipping_zones":{"type":"array","description":"Detailed shipping zone information with delivery estimates per region","items":{"type":"object","properties":{"zone":{"type":"string"},"countries":{"type":"array","items":{"type":"string"}},"delivery_days":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}}},"carrier":{"type":"string"}}}}}},"UCPVariant":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","example":"Large / Glossy"},"sku":{"type":"string","nullable":true},"price":{"$ref":"#/components/schemas/Money"},"availability":{"type":"string","enum":["in_stock","out_of_stock"]},"options":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}},"dimensions":{"$ref":"#/components/schemas/UCPVariantDimensions"}}},"UCPVariantDimensions":{"type":"object","description":"Verified face dimensions of a product variant","properties":{"width_cm":{"type":"number","description":"Width in centimeters"},"height_cm":{"type":"number","description":"Height in centimeters"}}},"Money":{"type":"object","description":"Currency amounts use major units as decimal strings. v5.2.3 July 2026 Statement reference prices: PL 219 zł / DE €99 / CZ 1499 Kč / DK 749 kr / SE 999 kr / NO 999 kr / CH CHF129 / UK £79 / CA $229 / HU HUF25990 / RO RON319.","properties":{"amount":{"type":"string","example":"99.00"},"currency":{"type":"string","example":"EUR"}}},"MinorMoney":{"type":"object","description":"Currency amount in ISO 4217 minor units. Zero-decimal currencies such as HUF and JPY are not multiplied by 100.","required":["amount","currency"],"properties":{"amount":{"type":"integer","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3,"example":"EUR"}}},"Image":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"altText":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"}}},"UCPImage":{"type":"object","description":"Semantically tagged product image","properties":{"url":{"type":"string","format":"uri"},"alt":{"type":"string"},"context":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"}},"required":["url","alt"]}}}}