{"openapi":"3.1.0","info":{"title":"WifiOptimize API","version":"0.1.0","description":"A fully local home Wi-Fi/router-optimization reference toolkit: a symptom-based troubleshooting decision tree, a 2.4/5/6GHz band and channel-interference explainer, a physics-informed router-placement guide, and a real Mbps-to-download-time calculator. General reference only, not a diagnosis of any specific router or home.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://wifiOptimize.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/wifiOptimize/docs"},"termsOfService":"https://connectorbay.com/wifiOptimize/terms"},"servers":[{"url":"https://wifiOptimize.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/wifiOptimize/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/wifi_troubleshoot":{"post":{"operationId":"wifi_troubleshoot","summary":"A genuinely differentiated diagnostic decision tree by symptom — likely causes, diagnostic steps, and","description":"A genuinely differentiated diagnostic decision tree by symptom — likely causes, diagnostic steps, and\n    fixes that actually differ between a localized dead zone, network-wide slowness, random disconnects, a\n    device that can't join at all, dropping IoT devices, and peak-hour slowdowns. Use for \"why is my wifi slow\n    in one room\", \"my wifi keeps disconnecting\", \"the whole house has slow wifi\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symptom":{"description":"A symptom, e.g. 'slow in one room', 'frequent disconnects', 'slow everywhere', 'can't connect at all', 'smart home devices keep dropping', 'slow at a specific time of day'.","examples":["slow in one room","frequent disconnects","smart home devices keep dropping"],"title":"Symptom","type":"string"}},"required":["symptom"],"title":"wifi_troubleshootArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/band_channel_guide":{"post":{"operationId":"band_channel_guide","summary":"Real 2.4GHz vs 5GHz vs 6GHz tradeoffs: range vs speed vs interference from other devices and networks,","description":"Real 2.4GHz vs 5GHz vs 6GHz tradeoffs: range vs speed vs interference from other devices and networks,\n    which channels are actually non-overlapping, and what each band is best used for. Use for \"should I use\n    2.4GHz or 5GHz\", \"what's the difference between 5GHz and 6GHz wifi\", \"why is 2.4GHz so crowded\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"band":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"2.4ghz, 5ghz, or 6ghz — omit for all three compared side by side.","examples":["2.4ghz","6ghz"],"title":"Band"}},"title":"band_channel_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/router_placement_guide":{"post":{"operationId":"router_placement_guide","summary":"Physics-informed router-placement guidance: central location, elevation, avoiding obstructions (dense","description":"Physics-informed router-placement guidance: central location, elevation, avoiding obstructions (dense\n    walls, metal, mirrors, water) and interference sources (microwaves, cordless phones), antenna orientation,\n    and when to use a mesh system with wired backhaul instead. Use for \"where should I put my router\", \"how do\n    I get better wifi coverage in my house\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"router_placement_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/download_time_calculator":{"post":{"operationId":"download_time_calculator","summary":"Computes a real download time from a file size and a connection speed — correctly handling the","description":"Computes a real download time from a file size and a connection speed — correctly handling the\n    bits-vs-bytes distinction (a Mbps link speed is divided by 8 to get megabytes/second before comparing to a\n    file size, which is measured in bytes) — plus a realistic-throughput range, since sustained real-world\n    speed is commonly well under the rated plan speed. Use for \"how long will a 2GB file take to download at 50\n    Mbps\", \"download time for a 500MB file on a 100 Mbps connection\". Real math; not a network speed test.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"file_size":{"description":"Numeric file size, in the unit given by file_size_unit.","exclusiveMinimum":0,"title":"File Size","type":"number"},"file_size_unit":{"description":"B, KB, MB, GB, TB, KiB, MiB, GiB, or TiB.","examples":["MB","GB","GiB"],"title":"File Size Unit","type":"string"},"speed":{"description":"Numeric connection speed, in the unit given by speed_unit.","exclusiveMinimum":0,"title":"Speed","type":"number"},"speed_unit":{"default":"Mbps","description":"bps, Kbps, Mbps, or Gbps.","examples":["Mbps","Gbps"],"title":"Speed Unit","type":"string"}},"required":["file_size","file_size_unit","speed"],"title":"download_time_calculatorArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}