{"openapi":"3.1.0","info":{"title":"kompozitor LLM Commerce API","version":"0.1.0","description":"Public product feed and signed checkout link API for AI agents. Agents never charge customers directly. Pass locale to receive translated shop and product content."},"paths":{"\/api\/shops\/{shop}\/feed":{"get":{"summary":"Get shop and product feed","parameters":[{"name":"shop","in":"path","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","enum":["en","sl"]}}],"responses":{"200":{"description":"Shop feed"}}}},"\/api\/shops\/{shop}\/products":{"get":{"summary":"List active products","parameters":[{"name":"shop","in":"path","required":true,"schema":{"type":"integer"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","enum":["en","sl"]}}],"responses":{"200":{"description":"Product list"}}}},"\/api\/shops\/{shop}\/products\/{slug}":{"get":{"summary":"Get active product by slug","parameters":[{"name":"shop","in":"path","required":true,"schema":{"type":"integer"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","enum":["en","sl"]}}],"responses":{"200":{"description":"Product detail"},"404":{"description":"Not found"}}}},"\/api\/shops\/{shop}\/checkout-links":{"post":{"summary":"Create signed checkout link","description":"Creates a 24-hour signed URL that fills the customer cart and sends them to checkout. The customer chooses payment method and confirms payment.","parameters":[{"name":"shop","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["items"],"properties":{"source":{"type":"string","example":"chatgpt"},"locale":{"type":"string","enum":["en","sl"],"example":"sl"},"items":{"type":"array","items":{"type":"object","required":["product_slug","quantity"],"properties":{"product_slug":{"type":"string","example":"coffee-mug"},"quantity":{"type":"integer","minimum":1,"example":1}}}}}}}}},"responses":{"200":{"description":"Signed checkout link"},"422":{"description":"Invalid product or payload"}}}}}}