{"openapi":"3.1.0","info":{"title":"Met Office Weather Data Hub (BYOK) API","version":"0.1.0","description":"Met Office Weather Data Hub (BYOK) lets an AI assistant read your own Met Office Weather Data Hub data through the Met Office Weather Data Hub API with a key you supply (Weather DataHub API key (apikey)). Read-only: 6 tools (get_hourly_forecast, get_three_hourly_forecast, get_daily_forecast, list_bpf_collections, list_bpf_locations, get_bpf_forecast). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-metofficedatahub.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-metofficedatahub/docs"},"termsOfService":"https://connectorbay.com/byok-metofficedatahub/terms"},"servers":[{"url":"https://byok-metofficedatahub.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-metofficedatahub/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_hourly_forecast":{"post":{"operationId":"get_hourly_forecast","summary":"Get the hourly site-specific forecast for the point nearest to a latitude and longitude (modelled screen temperature, wi","description":"Get the hourly site-specific forecast for the point nearest to a latitude and longitude (modelled screen temperature, wind, rain and more per hour). Use for \"What is the hourly forecast for Exmouth at 50.7, -3.52\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees, -85 to 85, for example 50.7.","maximum":85,"minimum":-85,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees, -180 to 180, for example -3.52.","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"exclude_parameter_metadata":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to leave out the parameter descriptions and units, false to include them.","title":"Exclude Parameter Metadata"},"include_location_name":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to include the name of the forecast location.","title":"Include Location Name"}},"required":["latitude","longitude"],"title":"get_hourly_forecastArguments","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_three_hourly_forecast":{"post":{"operationId":"get_three_hourly_forecast","summary":"Get the three-hourly site-specific forecast for the point nearest to a latitude and longitude. Use for \"Give me the thre","description":"Get the three-hourly site-specific forecast for the point nearest to a latitude and longitude. Use for \"Give me the three-hourly forecast for 51.5, -0.12\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees, -85 to 85, for example 50.7.","maximum":85,"minimum":-85,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees, -180 to 180, for example -3.52.","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"exclude_parameter_metadata":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to leave out the parameter descriptions and units, false to include them.","title":"Exclude Parameter Metadata"},"include_location_name":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to include the name of the forecast location.","title":"Include Location Name"}},"required":["latitude","longitude"],"title":"get_three_hourly_forecastArguments","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_daily_forecast":{"post":{"operationId":"get_daily_forecast","summary":"Get the daily site-specific forecast (day and night values) for the point nearest to a latitude and longitude. Use for \"","description":"Get the daily site-specific forecast (day and night values) for the point nearest to a latitude and longitude. Use for \"What is the daily forecast for Edinburgh at 55.95, -3.19\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees, -85 to 85, for example 50.7.","maximum":85,"minimum":-85,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees, -180 to 180, for example -3.52.","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"exclude_parameter_metadata":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to leave out the parameter descriptions and units, false to include them.","title":"Exclude Parameter Metadata"},"include_location_name":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":"true","description":"true to include the name of the forecast location.","title":"Include Location Name"}},"required":["latitude","longitude"],"title":"get_daily_forecastArguments","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_bpf_collections":{"post":{"operationId":"list_bpf_collections","summary":"List the blended probabilistic forecast collections available through Weather DataHub (percentile and probability produc","description":"List the blended probabilistic forecast collections available through Weather DataHub (percentile and probability products, UK and global). Use for \"Which probabilistic forecast collections does Met Office offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_bpf_collectionsArguments","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_bpf_locations":{"post":{"operationId":"list_bpf_locations","summary":"List the spot locations (ids and names) of one blended probabilistic forecast collection. Use for \"Which locations does ","description":"List the spot locations (ids and names) of one blended probabilistic forecast collection. Use for \"Which locations does the UK percentile forecast cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"BPF collection: improver-percentiles-spot-global, improver-probabilities-spot-global, improver-probabilities-spot-uk or improver-percentiles-spot-uk.","enum":["improver-percentiles-spot-global","improver-probabilities-spot-global","improver-probabilities-spot-uk","improver-percentiles-spot-uk"],"title":"Collection Id","type":"string"}},"required":["collection_id"],"title":"list_bpf_locationsArguments","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_bpf_forecast":{"post":{"operationId":"get_bpf_forecast","summary":"Get the blended probabilistic forecast of one location in a collection (percentiles or probabilities of weather paramete","description":"Get the blended probabilistic forecast of one location in a collection (percentiles or probabilities of weather parameters over time). Use for \"What is the probabilistic forecast for location 0000046 in the UK percentiles collection\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"BPF collection: improver-percentiles-spot-global, improver-probabilities-spot-global, improver-probabilities-spot-uk or improver-percentiles-spot-uk.","enum":["improver-percentiles-spot-global","improver-probabilities-spot-global","improver-probabilities-spot-uk","improver-percentiles-spot-uk"],"title":"Collection Id","type":"string"},"location_id":{"description":"Location id from list_bpf_locations, for example 0000046.","maxLength":20,"title":"Location Id","type":"string"}},"required":["collection_id","location_id"],"title":"get_bpf_forecastArguments","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}}}}