generated: '2026-07-15' method: generated source: openapi/openweathermap-accumulated-parameters-openapi.yml, openapi/openweathermap-air-pollution-openapi.yml, openapi/openweathermap-current-weather-openapi.yml, openapi/openweathermap-forecast-openapi.yml, openapi/openweathermap-geocoding-openapi.yml, openapi/openweathermap-history-openapi.yml, openapi/openweathermap-one-call-openapi.yml, openapi/openweathermap-road-risk-openapi.yml, openapi/openweathermap-solar-openapi.yml, openapi/openweathermap-statistical-weather-openapi.yml, openapi/openweathermap-weather-maps-openapi.yml, openapi/openweathermap-weather-stations-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 42 by_action_class: connected: 33 acting: 9 by_consequence: read: 33 write: 9 human_in_the_loop_required: 0 operations: - path: /accumulated_temperature method: get operationId: getAccumulatedTemperature x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /accumulated_precipitation method: get operationId: getAccumulatedPrecipitation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /air_pollution method: get operationId: getCurrentAirPollution x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /air_pollution/forecast method: get operationId: getAirPollutionForecast x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /air_pollution/history method: get operationId: getAirPollutionHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /weather method: get operationId: getCurrentWeather x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /forecast method: get operationId: getForecastFiveDay x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /forecast/hourly method: get operationId: getForecastHourly x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /forecast/daily method: get operationId: getForecastDaily x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /forecast/climate method: get operationId: getForecastClimate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /direct method: get operationId: getDirectGeocoding x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /zip method: get operationId: getZipGeocoding x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reverse method: get operationId: getReverseGeocoding x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /history/city method: get operationId: getHistoricalWeatherCity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /current method: get operationId: getOneCallCurrent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timeline/1min method: get operationId: getOneCallTimelineOneMinute x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timeline/15min method: get operationId: getOneCallTimelineFifteenMinute x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timeline/1h method: get operationId: getOneCallTimelineHour x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timeline/1day method: get operationId: getOneCallTimelineDay x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /alert/{alert_id} method: get operationId: getOneCallAlert x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/2.5/roadrisk method: post operationId: postRoadRisk x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /solar/interval_data method: get operationId: getSolarIrradianceIntervalData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /locations method: get operationId: listSolarLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /locations method: post operationId: createSolarLocation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /location/{location_id} method: get operationId: getSolarLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/{location_id} method: delete operationId: deleteSolarLocation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /location/{location_id}/panels method: get operationId: listSolarPanels x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /location/{location_id}/panels method: post operationId: createSolarPanel x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /panel/{panel_id} method: get operationId: getSolarPanel x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /panel/{panel_id} method: delete operationId: deleteSolarPanel x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /location/{location_id}/interval_data method: get operationId: getSolarPanelIntervalData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /aggregated/year method: get operationId: getStatisticalAggregatedYear x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /aggregated/month method: get operationId: getStatisticalAggregatedMonth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /aggregated/day method: get operationId: getStatisticalAggregatedDay x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /map/{layer}/{z}/{x}/{y}.png method: get operationId: getWeatherMapTile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stations method: get operationId: listStations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stations method: post operationId: createStation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /stations/{station_id} method: get operationId: getStation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stations/{station_id} method: put operationId: updateStation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /stations/{station_id} method: delete operationId: deleteStation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /measurements method: get operationId: getMeasurements x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /measurements method: post operationId: postMeasurements x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required