{"openapi":"3.0.3","info":{"title":"Personalized pet tag purchasing","version":"1.1.0","description":"Agent-assisted selection and customer review in the existing storefront. No autonomous checkout or payment API."},"paths":{"/catalog.json":{"get":{"operationId":"getCatalog","summary":"Read available tag designs, options, engraving limits and current prices.","responses":{"200":{"description":"Market catalogue","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/quote":{"post":{"operationId":"quoteDesign","summary":"Validate a design and calculate item prices, excluding shipping.","description":"Obtain the customer\u0027s exact engraving. One design per request, multiple identical tags allowed. Additional basket items can change quantity discounts. No stock reservation or final checkout total.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["variant_id","color","font","quantity"],"properties":{"variant_id":{"type":"string","description":"Exact variant id from the current catalogue."},"color":{"type":"string","description":"Available color key for the selected variant."},"font":{"type":"string","description":"Font id from the selected product."},"quantity":{"type":"integer","minimum":1,"maximum":1000},"front":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue front_line_limits."},"back":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue back_line_limits."}}}}}},"responses":{"200":{"description":"Validated design","content":{"application/json":{"schema":{"type":"object","properties":{"market":{"type":"string"},"currency":{"type":"string"},"design":{"type":"object","additionalProperties":false,"required":["variant_id","color","font","quantity"],"properties":{"variant_id":{"type":"string","description":"Exact variant id from the current catalogue."},"color":{"type":"string","description":"Available color key for the selected variant."},"font":{"type":"string","description":"Font id from the selected product."},"quantity":{"type":"integer","minimum":1,"maximum":1000},"front":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue front_line_limits."},"back":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue back_line_limits."}}},"unit_price":{"type":"string"},"items_subtotal":{"type":"string"},"product_url":{"type":"string","format":"uri"},"shipping_included":{"type":"boolean","enum":[false]},"stock_reserved":{"type":"boolean","enum":[false]},"pricing_scope":{"type":"string"},"customer_review_required":{"type":"boolean","enum":[true]}}}}}},"400":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"405":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"413":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"415":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"422":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/prepare":{"post":{"operationId":"prepareCustomerReview","summary":"Prepare a private 15-minute link for customer review; does not order or pay.","description":"Obtain the customer\u0027s exact engraving. One design per request, multiple identical tags allowed. Additional basket items can change quantity discounts. No stock reservation or final checkout total.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["variant_id","color","font","quantity"],"properties":{"variant_id":{"type":"string","description":"Exact variant id from the current catalogue."},"color":{"type":"string","description":"Available color key for the selected variant."},"font":{"type":"string","description":"Font id from the selected product."},"quantity":{"type":"integer","minimum":1,"maximum":1000},"front":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue front_line_limits."},"back":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue back_line_limits."}}}}}},"responses":{"200":{"description":"Validated design","content":{"application/json":{"schema":{"type":"object","properties":{"market":{"type":"string"},"currency":{"type":"string"},"design":{"type":"object","additionalProperties":false,"required":["variant_id","color","font","quantity"],"properties":{"variant_id":{"type":"string","description":"Exact variant id from the current catalogue."},"color":{"type":"string","description":"Available color key for the selected variant."},"font":{"type":"string","description":"Font id from the selected product."},"quantity":{"type":"integer","minimum":1,"maximum":1000},"front":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue front_line_limits."},"back":{"type":"array","maxItems":5,"items":{"type":"string"},"description":"Exact customer engraving; each line must fit catalogue back_line_limits."}}},"unit_price":{"type":"string"},"items_subtotal":{"type":"string"},"product_url":{"type":"string","format":"uri"},"shipping_included":{"type":"boolean","enum":[false]},"stock_reserved":{"type":"boolean","enum":[false]},"pricing_scope":{"type":"string"},"customer_review_required":{"type":"boolean","enum":[true]},"review_url":{"type":"string","format":"uri","description":"Private link for the customer. Do not log or publish it."},"expires_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"405":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"413":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"415":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"422":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request rejected; refresh the catalogue or correct the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}}},"servers":[{"url":"https://www.medailleschien.com/commerce/fr-FR"}]}