{"openapi":"3.1.0","info":{"title":"BotSKU","description":"SAMPLE DATA: fictional products, sellers, prices, stock, GTINs, and certifications. Nothing here is for sale and no real payment is captured.\n\nPublic read API for a fictional USB-C catalog (GaN chargers, cables, power banks) staged in sample US warehouses.\n\n- No API key on read endpoints.\n- `POST /api/v1/checkout-links` returns a URL on this website. It does not take payment or card numbers.\n- MCP streamable HTTP (no auth) is at `/mcp`. The server card is `GET /server-card`.\n- Machine-readable catalog: `/feeds/products.json` and `/feeds/products.csv`.\n- Humans can browse the same data as HTML without JavaScript.\n","version":"0.1.0"},"servers":[{"url":"https://botsku.com","description":"Public origin from BASE_URL"}],"paths":{"/feeds/products.json":{"get":{"tags":["feeds"],"summary":"ACP / Google Merchant style JSON feed","operationId":"products_json_feeds_products_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/feeds/products.csv":{"get":{"tags":["feeds"],"summary":"ACP / Google Merchant style CSV feed","operationId":"products_csv_feeds_products_csv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/products":{"get":{"tags":["catalog"],"summary":"Search and filter the sample catalog","description":"Every product is fictional sample data. Filter by category, brand, seller, wattage, price, or protocol such as PPS.","operationId":"list_products_api_v1_products_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"brand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand"}},{"name":"seller_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Id"}},{"name":"min_wattage","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Wattage"}},{"name":"max_price_usd","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Price Usd"}},{"name":"protocol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Protocol"}},{"name":"in_stock","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"In Stock"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"featured","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/{product_id}":{"get":{"tags":["catalog"],"summary":"Get one sample product","operationId":"read_product_api_v1_products__product_id__get","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/availability":{"get":{"tags":["catalog"],"summary":"Stock and delivery estimate for a US ZIP","description":"Shipping price is flat. The ZIP changes estimated days, not the rate. Sample stock only.","operationId":"read_availability_api_v1_availability_get","parameters":[{"name":"product_id","in":"query","required":true,"schema":{"type":"string","title":"Product Id"}},{"name":"zip","in":"query","required":true,"schema":{"type":"string","title":"Zip"}},{"name":"qty","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Qty"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compare":{"post":{"tags":["catalog"],"summary":"Compare two to four products","operationId":"compare_post_api_v1_compare_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["catalog"],"summary":"Compare products with a query string","operationId":"compare_get_api_v1_compare_get","parameters":[{"name":"ids","in":"query","required":true,"schema":{"type":"string","title":"Ids"}},{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checkout-links":{"post":{"tags":["catalog"],"summary":"Create a checkout URL (no payment)","description":"Returns a URL on this website. The API does not accept card numbers or charge anyone.","operationId":"create_link_api_v1_checkout_links_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutLinkBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories":{"get":{"tags":["catalog"],"summary":"List sample categories","operationId":"list_categories_api_v1_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/brands":{"get":{"tags":["catalog"],"summary":"List sample brands","operationId":"list_brands_api_v1_brands_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sellers":{"get":{"tags":["catalog"],"summary":"List sample sellers and warehouses","operationId":"list_sellers_api_v1_sellers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sellers/{seller_id}":{"get":{"tags":["catalog"],"summary":"One sample seller","operationId":"read_seller_api_v1_sellers__seller_id__get","parameters":[{"name":"seller_id","in":"path","required":true,"schema":{"type":"string","title":"Seller Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meta":{"get":{"tags":["catalog"],"summary":"Machine-readable entry points","operationId":"meta_api_v1_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"CheckoutLinkBody":{"properties":{"items":{"items":{"$ref":"#/components/schemas/LineBody"},"type":"array","maxItems":8,"minItems":1,"title":"Items"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"}},"type":"object","required":["items"],"title":"CheckoutLinkBody"},"CompareBody":{"properties":{"product_ids":{"items":{"type":"string"},"type":"array","maxItems":4,"minItems":2,"title":"Product Ids"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"}},"type":"object","required":["product_ids"],"title":"CompareBody"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LineBody":{"properties":{"product_id":{"type":"string","title":"Product Id"},"qty":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Qty","default":1}},"type":"object","required":["product_id"],"title":"LineBody"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}