{"openapi":"3.1.0","info":{"title":"CrowCrowCrow Storefront API","version":"1.0.0","description":"JSON endpoints for the CrowCrowCrow e-commerce storefront (imported USA products, India delivery). No separate merchant API key; some routes require a logged-in session cookie. See /mcp and /llms.txt.","contact":{"name":"CrowCrowCrow support","email":"connect@crowcrowcrow.com"}},"servers":[{"url":"https://crowcrowcrow.com"}],"tags":[{"name":"Catalog","description":"Product and search"},{"name":"Session","description":"Customer session"}],"paths":{"/api/products":{"get":{"tags":["Catalog"],"summary":"List products or get one by slug","operationId":"getProducts","parameters":[{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"If set, return a single product by slug (all other parameters ignored)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50},"description":"Page size for the list response (default 50, max 200)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"1-based page number. Ignored when offset is set."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0},"description":"Zero-based item offset; takes precedence over page."},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by root category slug (e.g. health-supplement)."},{"name":"brand","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by brand name (case-insensitive exact match)."},{"name":"minPrice","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum INR price."},{"name":"maxPrice","in":"query","required":false,"schema":{"type":"number"},"description":"Maximum INR price."}],"responses":{"200":{"description":"Product(s) as JSON. List responses are paginated (default 50/page) and carry X-Total-Count, X-Limit and X-Offset headers.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Product not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/search/suggestions":{"get":{"tags":["Catalog"],"summary":"Search query suggestions","operationId":"searchSuggestions","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Suggestion list","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/currency-rates":{"get":{"tags":["Catalog"],"summary":"Cached INR reference rates (display)","operationId":"getCurrencyRates","responses":{"200":{"description":"Rates object","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/reviews":{"get":{"tags":["Catalog"],"summary":"Product reviews","operationId":"getReviews","parameters":[{"name":"productId","in":"query","required":true,"schema":{"type":"string"}},{"name":"productSlug","in":"query","required":true,"schema":{"type":"string"},"description":"Store slug for the product (used with productId to verify purchase eligibility)"}],"responses":{"200":{"description":"Reviews","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/auth/session":{"get":{"tags":["Session"],"summary":"Current session (cookie-based)","operationId":"getSession","responses":{"200":{"description":"Session state","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/ask":{"get":{"tags":["Catalog"],"summary":"NLWeb-style entry point: where to go for product discovery","operationId":"askEntry","responses":{"200":{"description":"Machine-readable hints for agents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"AskResponse":{"type":"object","properties":{"name":{"type":"string"},"use_for":{"type":"array","items":{"type":"string"}},"start_urls":{"type":"array","items":{"type":"string","format":"uri"}},"open_api":{"type":"string","format":"uri"}}}}}}