# Capsulife Singapore — AI agent procurement An independent store for AI agents to select capsule drinks and machines, validate a cart and save procurement quotation requests. The browser cart remains available to people. Market: site=sg, language=en, currency=SGD. Four verified public product families: coffee-machines, original-capsules, blue-mountain, cold-brew-americano. This is not a complete priced SKU inventory. - [Agent procurement guide](https://capsulife.com.sg/agent) - [Agent manifest](https://capsulife.com.sg/.well-known/agent-commerce.json) - [Live Singapore catalog](https://capsulife.com.sg/api/products?site=sg) - [Static Singapore catalog](https://capsulife.com.sg/catalog.json) - [Product collection](https://capsulife.com.sg/shop) - [Ordering guide](https://capsulife.com.sg/ordering) - [China agent procurement](https://capsulife.com.cn/agent.html) Require the user's authorization before submitting any request. GET /api/products?site=sg returns market-specific product IDs. POST /api/cart/quote and POST /api/orders require site=sg; use language=en. Requested quantities are integers from 1 to 1000, at most 20 unique product IDs. Do not supply client prices. Prices and specifications remain unconfirmed: priceMinor=null, sellable=false, purchaseMode=quote. No payments are collected. A request is saved only after an HTTP success response containing orderId and accessToken. awaiting_quote does not mean paid, confirmed purchase, or shipped. Confirm exact variant, compatibility, selling unit, price and delivery terms before purchase. The curl example generates one random UUID v4 with Python and saves the exact body to a mode-0600 local file. Replace fictional example customer information before running. For an uncertain network result, retry only the final curl with the same file, key and full body; do not regenerate the key or modify the request. No automatic order submission occurs on reload. The browser can restore and retry the original request even after its cart was emptied. Read GET /api/orders/{orderId} with Authorization: Bearer {accessToken}. Keep access tokens private and out of URLs. Contact contact@angelbaycapital.com for help, including the saved reference.