{"openapi":"3.1.0","info":{"title":"AgentPOS Demo Store (AgentPOS store)","version":"0.2.0","description":"An agent-buyable storefront. Payments over x402 2 on stellar:pubnet, settled in USDC. The merchant is the merchant of record; AgentPOS takes no commission and holds no funds.","x-guidance":"AgentPOS Demo Store sells real goods and services to agents over x402 on stellar:pubnet, settling in USDC. Flow: GET /agentpos/catalog to see what is for sale, POST /agentpos/cart with the items you want, then POST /agentpos/checkout?cart=<cartId> and pay the 402 challenge. The price is per cart, not per call, so /agentpos/checkout quotes dynamically from the cart. A cart the merchant flags for human review answers 202 with a polling URL and is NOT charged; poll it and retry the checkout once approved. After settlement, GET /agentpos/orders/{orderId}/receipt returns a signed receipt you can verify offline.","license":{"name":"Apache-2.0","identifier":"Apache-2.0"}},"servers":[{"url":"https://demo.agentposhq.com"}],"x-agentpos":{"adapterVersion":"0.2.0","network":"stellar:pubnet","asset":"USDC","assetAddress":"CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75","manifest":"https://demo.agentposhq.com/.well-known/ucp","ucpVersion":"2026-08-25","acpVersion":"2026-04-17","mcp":"https://demo.agentposhq.com/agentpos/mcp","publishedItems":3},"paths":{"/agentpos/catalog":{"get":{"operationId":"listCatalog","summary":"Catalog - items this store sells to agents","tags":["Catalog"],"parameters":[{"name":"q","in":"query","required":false,"description":"Free-text filter over titles and descriptions.","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"The published catalog with prices in the checkout asset.","content":{"application/json":{"schema":{"type":"object","properties":{"adapterVersion":{"type":"string"},"site":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}}},"payment":{"type":"object","properties":{"protocol":{"type":"string"},"network":{"type":"string"},"asset":{"type":"string"},"assetAddress":{"type":"string"},"checkout":{"type":"string"}}},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"price":{"type":"object","properties":{"amount":{"type":"string"},"asset":{"type":"string"},"minor":{"type":"string"}},"required":["amount","asset","minor"]},"physical":{"type":"boolean"}},"required":["id","title","price"]}}},"required":["items"]}}}}},"security":[]}},"/agentpos/cart":{"post":{"operationId":"createCart","summary":"Cart - quote a set of items before paying","tags":["Checkout"],"description":"Creating a cart is free and reserves nothing. It returns the exact terms the 402 will demand, and the merchant policy outcome for those terms.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","minItems":1,"items":{"type":"object","properties":{"itemId":{"type":"string","minLength":1},"quantity":{"type":"integer","minimum":1},"note":{"type":"string","minLength":1,"maxLength":500,"description":"Free-text personalization for this line (engraving, dedication, chosen color). Passed verbatim to the merchant; never changes the price."}},"required":["itemId","quantity"]}},"buyer":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["email"]},"shipping":{"type":"object","description":"Required for physical items.","properties":{"name":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"country":{"type":"string","minLength":2,"maxLength":2},"phone":{"type":"string"}},"required":["name","line1","city","postalCode","country"]}},"required":["items"]}}}},"responses":{"201":{"description":"A quoted cart.","content":{"application/json":{"schema":{"type":"object","properties":{"cartId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"quote":{"type":"object"},"checkout":{"type":"string"},"policy":{"type":"object"},"agent":{"type":"object"}},"required":["cartId","quote","checkout"]}}}},"403":{"description":"The merchant policy refuses this sale; the code says why.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object"}}}}}}},"security":[]}},"/agentpos/checkout":{"post":{"operationId":"checkout","summary":"Checkout - pay for a quoted cart over x402","tags":["Checkout"],"description":"Answers 402 with the exact terms of the cart. Pay and repeat the request with the payment header; the order is created in the merchant's system only after settlement.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"1","max":"2"},"protocols":[{"x402":{"network":"stellar:pubnet","asset":"CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75"}}]},"parameters":[{"name":"cart","in":"query","required":true,"description":"Cart id from POST /agentpos/cart.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Payment verified; settlement runs immediately after this response.","content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string"},"status":{"type":"string"},"order":{"type":"string"}},"required":["orderId","status"]}}}},"202":{"description":"The merchant parked this order for a human. Nothing was charged; poll the approval.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"approvalId":{"type":"string"},"poll":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"402":{"description":"Payment Required"},"409":{"description":"The cart must be re-quoted (price or stock changed).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object"}}}}}}}}},"/agentpos/orders/{orderId}":{"get":{"operationId":"getOrder","summary":"Order - status, payment and the merchant's order id","tags":["Orders"],"parameters":[{"name":"orderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The order as the merchant sees it.","content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string"},"status":{"type":"string"},"total":{"type":"string"},"payment":{"type":"object"},"externalOrderId":{"type":"string"}},"required":["orderId","status"]}}}},"404":{"description":"No such order.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/agentpos/health":{"get":{"operationId":"health","summary":"Health - facilitator reachability and stuck orders","tags":["Operations"],"responses":{"200":{"description":"Healthy.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"network":{"type":"string"}},"required":["ok"]}}}},"503":{"description":"Degraded; do not start a purchase.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/agentpos/feed":{"get":{"operationId":"productFeed","summary":"Product feed - ACP ProductsResponse","tags":["Catalog"],"description":"Agentic Commerce Protocol 2026-04-17 product feed, with fiat prices in ISO 4217 minor units.","responses":{"200":{"description":"ACP ProductsResponse.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/agentpos/orders/{orderId}/receipt":{"get":{"operationId":"getOrderReceipt","summary":"Receipt - signed record of this sale, verifiable offline","tags":["Orders"],"parameters":[{"name":"orderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The receipt chain for this order, with its verification result.","content":{"application/json":{"schema":{"type":"object","properties":{"receipts":{"type":"array","items":{"type":"object"}},"verification":{"type":"object"}},"required":["receipts"]}}}},"404":{"description":"No receipt for that order yet.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}}}}