{"openapi":"3.1.0","info":{"title":"Xweather Hazards (BYOK) API","version":"0.1.0","description":"Xweather Hazards (BYOK) lets an AI assistant read your own Xweather Hazards data through the Xweather Hazards API with a key you supply (Xweather client id). Read-only: 10 tools (get_nearby_lightning, get_nearby_storm_reports, search_storm_reports, get_nearby_storm_cells, list_active_tropical_cyclones, get_nearby_tropical_cyclones, get_nearby_earthquakes, search_earthquakes, get_nearby_wildfires,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-xweather-hazards.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-xweather-hazards/docs"},"termsOfService":"https://connectorbay.com/byok-xweather-hazards/terms"},"servers":[{"url":"https://byok-xweather-hazards.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-xweather-hazards/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_nearby_lightning":{"post":{"operationId":"get_nearby_lightning","summary":"List the lightning strikes closest to a place from the last 5 minutes (standard access): time, position, polarity and pe","description":"List the lightning strikes closest to a place from the last 5 minutes (standard access): time, position, polarity and peak amplitude of the pulse, distance and bearing. Radius at most 100 km. Counts as 10 accesses per call. Use for \"Is there lightning near Minneapolis right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"filter":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":"all","description":"Pulse types to include: all, cg for cloud-to-ground or ic for intracloud (see the Xweather lightning page).","title":"Filter"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,loc.lat,loc.long,ob.dateTimeISO,ob.age,ob.pulse.type,ob.pulse.peakamp,relativeTo.distanceKM,relativeTo.distanceMI,relativeTo.bearingENG","description":"Comma-separated response properties to keep, in dot notation; the default keeps time, position, pulse type, amplitude and distance.","title":"Fields"}},"required":["p"],"title":"get_nearby_lightningArguments","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/get_nearby_storm_reports":{"post":{"operationId":"get_nearby_storm_reports","summary":"List local storm reports (tornado, hail, wind, flood and snow reports from spotters and the National Weather Service) cl","description":"List local storm reports (tornado, hail, wind, flood and snow reports from spotters and the National Weather Service) closest to a US place, optionally within a time range. Each call counts against the monthly accesses of the Xweather plan. Use for \"Were there any hail reports near Oklahoma City today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"filter":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Report types to include, comma separated, such as hail, tornado, wind, flood or snow.","title":"Filter"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range: now, a relative value such as -1hour, -3days, or a date such as 2026-10-01.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range: now, a relative value such as +1day, or a date such as 2026-10-19.","title":"To Time"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,loc.lat,loc.long,report.dateTimeISO,report.type,report.cat,report.name,report.detail.text,report.detail.hailIN,report.detail.windSpeedMPH,report.reporter,report.wfo,report.comments,place.name,place.state,place.county,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps type, time, detail, reporter and place.","title":"Fields"}},"required":["p"],"title":"get_nearby_storm_reportsArguments","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/search_storm_reports":{"post":{"operationId":"search_storm_reports","summary":"Search US local storm reports by advanced query (state, severity, size), report type and time range, for example all hai","description":"Search US local storm reports by advanced query (state, severity, size), report type and time range, for example all hail reports of a state since a date. Each call counts against the monthly accesses of the Xweather plan. Use for \"How many tornado reports were filed in Kansas in the last 3 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: state:ks,detail:1:2.","maxLength":200,"title":"Query","type":"string"},"filter":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Report types to include, comma separated, such as hail, tornado, wind, flood or snow.","title":"Filter"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range: now, a relative value such as -1hour, -3days, or a date such as 2026-10-01.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range: now, a relative value such as +1day, or a date such as 2026-10-19.","title":"To Time"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"sort":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Sort as property or property:-1 for descending, for example mag:-1 (short property names are allowed).","title":"Sort"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,loc.lat,loc.long,report.dateTimeISO,report.type,report.cat,report.name,report.detail.text,report.detail.hailIN,report.detail.windSpeedMPH,report.reporter,report.wfo,report.comments,place.name,place.state,place.county,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps type, time, detail, reporter and place.","title":"Fields"}},"required":["query"],"title":"search_storm_reportsArguments","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/get_nearby_storm_cells":{"post":{"operationId":"get_nearby_storm_cells","summary":"List the storm cells (radar-tracked thunderstorms, US) closest to a place with hail probability and size, rotation, torn","description":"List the storm cells (radar-tracked thunderstorms, US) closest to a place with hail probability and size, rotation, tornadic signature, cloud top, speed and direction. Each call counts against the monthly accesses of the Xweather plan. Use for \"Are there any severe storm cells near Dallas\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: hail:80 or tvs:1;mda:10 for tornadic signatures.","title":"Query"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,loc.lat,loc.long,ob.dateTimeISO,ob.movement.dir,ob.movement.speedMPH,ob.hail.prob,ob.hail.probSevere,ob.hail.maxSizeIN,ob.tvs,ob.mda,ob.vil,ob.topFT,traits.type,traits.threat,traits.rotating,traits.tornado,traits.hail,place.name,place.state,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps position, movement, hail, rotation and threat.","title":"Fields"}},"required":["p"],"title":"get_nearby_storm_cellsArguments","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/list_active_tropical_cyclones":{"post":{"operationId":"list_active_tropical_cyclones","summary":"List the active tropical cyclones worldwide (invests, depressions, storms, hurricanes, typhoons) with name, basin, categ","description":"List the active tropical cyclones worldwide (invests, depressions, storms, hurricanes, typhoons) with name, basin, category, wind speed, pressure, position and movement from NHC, CPHC and JTWC. Each call counts against the monthly accesses of the Xweather plan. Use for \"Which tropical cyclones are active right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of storms to return (the service default is 10).","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,profile.name,profile.basinCurrent,profile.year,profile.isActive,profile.maxStormCat,profile.windSpeed.maxMPH,profile.pressure.minMB,position.dateTimeISO,position.loc.lat,position.loc.long,position.details.stormType,position.details.stormCat,position.details.stormName,position.details.windSpeedMPH,position.details.pressureMB,position.details.movement.direction,position.details.movement.speedMPH","description":"Comma-separated response properties to keep, in dot notation; the default keeps name, basin, category, wind, pressure, position and movement.","title":"Fields"}},"title":"list_active_tropical_cyclonesArguments","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/get_nearby_tropical_cyclones":{"post":{"operationId":"get_nearby_tropical_cyclones","summary":"List the active tropical cyclones closest to a place, with their current position, strength and movement. Each call coun","description":"List the active tropical cyclones closest to a place, with their current position, strength and movement. Each call counts against the monthly accesses of the Xweather plan. Use for \"Is any tropical cyclone close to Miami\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":5,"description":"Maximum number of storms to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,profile.name,profile.basinCurrent,profile.year,profile.isActive,profile.maxStormCat,profile.windSpeed.maxMPH,profile.pressure.minMB,position.dateTimeISO,position.loc.lat,position.loc.long,position.details.stormType,position.details.stormCat,position.details.stormName,position.details.windSpeedMPH,position.details.pressureMB,position.details.movement.direction,position.details.movement.speedMPH","description":"Comma-separated response properties to keep, in dot notation; the default keeps name, basin, category, wind, pressure, position and movement.","title":"Fields"}},"required":["p"],"title":"get_nearby_tropical_cyclonesArguments","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/get_nearby_earthquakes":{"post":{"operationId":"get_nearby_earthquakes","summary":"List the earthquakes (USGS) closest to a place, optionally within a time range, with magnitude, depth, region and distan","description":"List the earthquakes (USGS) closest to a place, optionally within a time range, with magnitude, depth, region and distance. Each call counts against the monthly accesses of the Xweather plan. Use for \"Have there been any earthquakes near Los Angeles this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range: now, a relative value such as -1hour, -3days, or a date such as 2026-10-01.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range: now, a relative value such as +1day, or a date such as 2026-10-19.","title":"To Time"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: mag:4 for magnitude 4 and above.","title":"Query"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"loc.lat,loc.long,report.id,report.dateTimeISO,report.mag,report.type,report.depthKM,report.region,report.location,place.name,place.country,relativeTo.distanceKM,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps time, magnitude, depth, location and distance.","title":"Fields"}},"required":["p"],"title":"get_nearby_earthquakesArguments","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/search_earthquakes":{"post":{"operationId":"search_earthquakes","summary":"Search worldwide earthquakes (USGS) by magnitude, region and time range, for example all magnitude 5 and larger events o","description":"Search worldwide earthquakes (USGS) by magnitude, region and time range, for example all magnitude 5 and larger events of the last 30 days. Each call counts against the monthly accesses of the Xweather plan. Use for \"Which magnitude 6 or larger earthquakes happened worldwide in the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: mag:6.","maxLength":200,"title":"Query","type":"string"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range: now, a relative value such as -1hour, -3days, or a date such as 2026-10-01.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range: now, a relative value such as +1day, or a date such as 2026-10-19.","title":"To Time"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"sort":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Sort as property or property:-1 for descending, for example mag:-1 (short property names are allowed).","title":"Sort"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"loc.lat,loc.long,report.id,report.dateTimeISO,report.mag,report.type,report.depthKM,report.region,report.location,place.name,place.country,relativeTo.distanceKM,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps time, magnitude, depth, location.","title":"Fields"}},"required":["query"],"title":"search_earthquakesArguments","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/get_nearby_wildfires":{"post":{"operationId":"get_nearby_wildfires","summary":"List the active wildfires (US and Canada) closest to a place with name, type, size, percent contained, cause and distanc","description":"List the active wildfires (US and Canada) closest to a place with name, type, size, percent contained, cause and distance. Each call counts against the monthly accesses of the Xweather plan. Use for \"Are there any wildfires near Boise\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"p":{"description":"Where to look: 'city,state' such as 'minneapolis,mn', 'lat,lon' such as '44.98,-93.26', a US or Canadian postal code, or a place id.","maxLength":100,"title":"P","type":"string"},"radius":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Search radius around the place with a unit, for example 25miles or 50km (default set by the service).","title":"Radius"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: areaAC:1000 for fires of at least 1,000 acres.","title":"Query"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,dataSource,loc.lat,loc.long,report.name,report.type,report.dateTimeISO,report.startDateISO,report.areaAC,report.areaKM,report.perContained,report.cause,report.location,place.name,place.state,place.country,relativeTo.distanceKM,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps name, size, containment, cause and distance.","title":"Fields"}},"required":["p"],"title":"get_nearby_wildfiresArguments","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/search_wildfires":{"post":{"operationId":"search_wildfires","summary":"Search active wildfires (US and Canada) by advanced query such as state, size or containment. Each call counts against t","description":"Search active wildfires (US and Canada) by advanced query such as state, size or containment. Each call counts against the monthly accesses of the Xweather plan. Use for \"Which wildfires in California are less than 50 percent contained\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Advanced filter as property:value pairs, comma for AND and semicolon for OR (numbers match at least the value, min:max for a range, ! for not equal). Example: state:ca,perContained:0:50.","maxLength":200,"title":"Query","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of records to return.","title":"Limit"},"sort":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Sort as property or property:-1 for descending, for example mag:-1 (short property names are allowed).","title":"Sort"},"fields":{"anyOf":[{"maxLength":1500,"type":"string"},{"type":"null"}],"default":"id,dataSource,loc.lat,loc.long,report.name,report.type,report.dateTimeISO,report.startDateISO,report.areaAC,report.areaKM,report.perContained,report.cause,report.location,place.name,place.state,place.country,relativeTo.distanceKM,relativeTo.distanceMI","description":"Comma-separated response properties to keep, in dot notation; the default keeps name, size, containment, cause and place.","title":"Fields"}},"required":["query"],"title":"search_wildfiresArguments","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}}}}