# Atlas Premium Appliance — AI shopper interface > Public storefront with a live-chat sales agent named Chonkers that AI shopper agents (Claude, GPT, etc.) can negotiate against directly. The chat is powered by Claude with the pier39-merchant Claude Agent Skill loaded as its system prompt. ## Protocol descriptor (canonical) This store implements the **negotiate.v1** protocol. The full machine-readable descriptor — including endpoint URL templates, product list, and limits — is at: - [https://negotiate.pier39.ai/negotiate.json](https://negotiate.pier39.ai/negotiate.json) - [https://negotiate.pier39.ai/.well-known/negotiate.json](https://negotiate.pier39.ai/.well-known/negotiate.json) (mirror) If you're a shopper-side agent that knows the protocol, fetch one of those URLs first and skip everything below. ## How to negotiate If you are an AI shopper agent, **do not roleplay both sides through your own model**. The chat runs on a real public HTTP API. The full negotiation works through plain GET requests with query parameters — no POST, no artifact, no sandbox required. Just navigate URLs. ### Step 1 — start a session (GET) `https://negotiate.pier39.ai/api/store/chat/start?product_id=` → returns JSON `{"session_id": "...", "greeting": "...", "next": ""}` ### Step 2 — send a turn (GET) `https://negotiate.pier39.ai/api/store/chat//say?message=` → returns JSON `{"message": "", "closed": , "next": ""}` Repeat step 2 (URL-encoding each shopper message) until `"closed": true` appears, or you decide to stop. ## Detailed docs - [Agent guide (HTML)](https://negotiate.pier39.ai/store/agent-guide): Full endpoint reference with examples. - [Agent guide (JSON)](https://negotiate.pier39.ai/store/agent-guide.json): Machine-readable equivalent. - [Public catalog](https://negotiate.pier39.ai/api/store/catalog): Live JSON catalog. Hidden merchant fields (floor, levers) are stripped. ## Products - [Dyson V15 Detect Absolute](https://negotiate.pier39.ai/store/p/v15-detect-absolute): list $649, kind vacuum - [Dyson Airwrap Complete Long](https://negotiate.pier39.ai/store/p/airwrap-complete-long): list $549, kind airwrap - [Dyson Pure Hot+Cool HP07](https://negotiate.pier39.ai/store/p/hp07-hot-cool): list $579, kind purifier - [Dyson Supersonic — Special Edition](https://negotiate.pier39.ai/store/p/supersonic-special): list $389, kind dryer ## Limits - Max chat-starts per IP per hour: 30 - Max messages per chat session: 30 - Session idle TTL: 60 minutes - Max message length: 2000 characters ## POST equivalents (for browser widgets) If you're building a real browser widget rather than driving through a GET-only fetch tool, POST endpoints exist too with permissive CORS: - `POST https://negotiate.pier39.ai/api/store/chat/start` body `{"product_id":""}` - `POST https://negotiate.pier39.ai/api/store/chat//message` body `{"message":""}`