# Agent Instructions — Baccarat This document describes how AI agents can interact with Baccarat's online store at https://www.baccarat.com.au. > This storefront is a headless front end. Product discovery and browsing happen on this domain > (`https://www.baccarat.com.au`). Cart and checkout — including all agent-driven (UCP/MCP) commerce — are handled on the > Shopify-managed checkout domain at `https://checkout.baccarat.com.au`. See "Transacting" below. ## Read-Only Browsing (No Authentication Required) For agents that only need to read store data without transacting, use the following routes on this domain. ### Product Data - Browse by category: `GET /collections/{handle}` — e.g. `/collections/bedding` - Product page: `GET /products/{handle}` — e.g. `/products/abc-cookware-set` - Search: `GET /search?q={query}` — e.g. `/search?q=quilt` - Optional facet filters: `filter.{facet}={value}` (comma-separated for multiple values) - Pagination: `filter.page={n}` - Sort: `filter.sortOrder={value}` - Price filter: `filter.ss_price=low-high` - Promotions: `GET /offers` - Brands: `GET /brands` Collection handles are single-segment only (e.g. `/collections/bedding`, not nested paths). ### Structured / Machine-Readable Data - Each product page includes schema.org JSON-LD in the page ``: - `Product` or `ProductGroup` (with variants, offers, shipping details) - `BreadcrumbList` - `FAQPage` (where configured) - Customer reviews - Sitemap: `GET /sitemap.xml` — full URL index, regenerated daily - Human-readable sitemap: `GET /sitemap` There is **no public product JSON API** on this domain. For machine-readable product data, parse JSON-LD from product pages or discover URLs via the sitemap. ### Search Assist (Optional) - Autocomplete suggestions: `GET /api/autocomplete?query={term}` — returns matching pages, articles, and collections > Note: `/search` is disallowed in `robots.txt` for crawlers, but remains a valid route for agent-driven product discovery. ## Transacting (Cart, Checkout, Agent Commerce) All purchasing is handled on the Shopify checkout domain, which implements the [Universal Commerce Protocol](https://ucp.dev) natively. Do not attempt to transact on `https://www.baccarat.com.au`. - **Discovery** — `GET https://checkout.baccarat.com.au/.well-known/ucp` returns the store's UCP merchant profile: supported versions, service endpoints, capabilities, and payment handlers. - **MCP endpoint** — `POST https://checkout.baccarat.com.au/api/ucp/mcp` with `Content-Type: application/json`. Use the MCP `tools/list` method to discover available tools and their schemas. - **Canonical agent description** — the full agent-facing commerce description lives at `https://checkout.baccarat.com.au/agents.md`. ### Domain Split | Action | Domain | | ------------------------------------ | ------------------ | | Browse products, collections, search | `https://www.baccarat.com.au` | | Cart, checkout, UCP/MCP commerce | `https://checkout.baccarat.com.au` | ### Headless Cart (Human Flow Only) The headless site supports a browser cart at `/cart`. Checkout is initiated via `/checkout`, which redirects to the Shopify checkout domain. Agents should use UCP/MCP on the checkout domain instead of scripting these routes. ### Typical Agent Flow (Checkout Domain Only) All steps below run against `https://checkout.baccarat.com.au` via UCP/MCP. Do **not** call these tools or endpoints on `https://www.baccarat.com.au`. 1. **Discover** — `GET https://checkout.baccarat.com.au/.well-known/ucp` to confirm capabilities 2. **Search** — On checkout: use MCP tool `search_catalog` to find products matching the buyer's intent 3. **Cart** — On checkout: use MCP tool `create_cart` to add desired items 4. **Checkout** — On checkout: use MCP tool `create_checkout` to start the purchase flow 5. **Fulfill** — On checkout: use MCP tool `update_checkout` to set shipping address and method 6. **Complete** — On checkout: use MCP tool `complete_checkout` to finalize (buyer must approve payment) All MCP calls go to `POST https://checkout.baccarat.com.au/api/ucp/mcp`. ### Important Rules - **Use the checkout domain for all commerce.** Browse on `https://www.baccarat.com.au`; transact on `https://checkout.baccarat.com.au` only. - **Checkout requires human approval.** Agents must not complete payment without explicit buyer consent. - **Respect rate limits.** The checkout MCP endpoint is rate-limited per IP. Back off on 429 responses. - **Use buyer context.** Pass `context.address_country` and `context.currency` for accurate pricing and availability. Default currency is AUD; default market is Australia. ## Store Policies - **Privacy policy**: https://www.baccarat.com.au/privacy-policy - **Privacy collection statement**: https://www.baccarat.com.au/privacy-collection-statement - **Terms of service**: https://www.baccarat.com.au/terms-and-conditions - **Refund policy**: https://www.baccarat.com.au/returns ## Platform This store's commerce is powered by [Shopify](https://www.shopify.com) and supports [UCP](https://ucp.dev) for agent-driven commerce via the checkout domain above.