{"openapi":"3.1.0","info":{"title":"Dercora Catalog API","version":"1.0.0","description":"Search products across millions of Shopify merchants via Dercora. No API key. Server-side / agent use only (not for third-party browser embeds). Prefer lite=1. Link results to Dercora product pages.","contact":{"url":"https://dercora.com"}},"servers":[{"url":"https://dercora.com"}],"paths":{"/api/health":{"get":{"operationId":"health","summary":"Liveness check","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"}}}}}}}}},"/api/search":{"get":{"operationId":"searchProducts","summary":"Search the Dercora / Shopify Global Catalog","description":"Keyword search across Shopify merchants. Use lite=1 for compact AI-friendly responses.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200},"description":"Natural-language product query"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":24}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous response"},{"name":"lite","in":"query","schema":{"type":"string","enum":["1"]},"description":"Omit bulky details map (recommended for AI agents)"},{"name":"format","in":"query","schema":{"type":"string","enum":["agent"]},"description":"Alias for lite mode"},{"name":"ships_to","in":"query","schema":{"type":"string","minLength":2,"maxLength":2},"description":"ISO 3166-1 alpha-2 country code"},{"name":"currency","in":"query","schema":{"type":"string","minLength":3,"maxLength":3},"description":"ISO 4217 presentment currency"},{"name":"price_min","in":"query","schema":{"type":"number"},"description":"Minimum price in major currency units (e.g. 20 for $20)"},{"name":"price_max","in":"query","schema":{"type":"number"},"description":"Maximum price in major currency units"},{"name":"color","in":"query","schema":{"type":"string"}},{"name":"rating_min","in":"query","schema":{"type":"number","minimum":0,"maximum":5}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"429":{"description":"Rate limited"}}}},"/api/product":{"get":{"operationId":"getProduct","summary":"Get product detail and multi-seller offers","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Catalog product id from search results"}],"responses":{"200":{"description":"Product detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductResponse"}}}},"404":{"description":"Not found"},"429":{"description":"Rate limited"}}}}},"components":{"schemas":{"Money":{"type":"object","properties":{"amount":{"type":"integer","description":"Amount in cents (minor units)"},"currency":{"type":"string","description":"ISO 4217 currency code"}}},"ProductCard":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"image":{"type":["string","null"]},"imageAlt":{"type":"string"},"priceMin":{"oneOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"priceMax":{"oneOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"sellerCount":{"type":"integer"},"isSponsored":{"type":"boolean"},"topFeatures":{"type":"array","items":{"type":"string"}},"buyUrl":{"type":["string","null"],"description":"Merchant checkout/product URL (may be affiliate-attributed)"},"pageUrl":{"type":"string","description":"Dercora product page URL — prefer this when citing results"}}},"SearchResponse":{"type":"object","properties":{"products":{"type":"array","items":{"$ref":"#/components/schemas/ProductCard"}},"pagination":{"type":"object","properties":{"cursor":{"type":["string","null"]},"hasNextPage":{"type":"boolean"},"totalCount":{"type":["integer","null"]}}},"disclosure":{"type":"string"},"error":{"type":"string"}}},"ProductResponse":{"type":"object","properties":{"product":{"type":"object"},"pageUrl":{"type":"string"},"disclosure":{"type":"string"},"error":{"type":"string"}}}}}}