openapi: 3.0.3
info:
title: Caiyun Weather API
version: '2.6'
description: >-
Caiyun Weather API v2.6 from ColorfulClouds Tech (彩云科技). Hyperlocal weather,
minute-level precipitation nowcasting, hourly forecast up to 360 hours, daily
forecast up to 15 days, real-time air quality with CHN + USA AQI standards,
severe-weather alerts, life indices, and a precipitation map raster. All
operations share a single base URL pattern with the API token embedded in
the path and lng,lat as a path tuple.
contact:
name: ColorfulClouds Tech (彩云科技)
url: https://docs.caiyunapp.com/weather-api/
email: [email protected]
license:
name: Commercial — Caiyun Weather API Terms
url: https://platform.caiyunapp.com/
x-generated-from: documentation+sdk
x-source-urls:
- https://docs.caiyunapp.com/weather-api/
- https://github.com/caiyunapp/mcp-caiyun-weather
- https://github.com/caiyunapp/caiyun-weather-api-python-sdk
x-last-validated: '2026-05-30'
servers:
- url: https://api.caiyunapp.com/v2.6
description: Caiyun Weather API v2.6 production endpoint
tags:
- name: Realtime
description: Real-time weather conditions at the requested location.
- name: Forecast
description: Minute-level, hourly, and daily forecast endpoints.
- name: Weather
description: Combined weather envelope returning realtime, minutely, hourly, daily, and alerts in one call.
- name: Air Quality
description: Real-time pollutant readings and AQI values under CHN and USA standards.
- name: Alerts
description: Severe-weather alerts published by the China Meteorological Administration.
- name: Precipitation Map
description: Radar + nowcast precipitation map raster for live overlays.
paths:
/{token}/{lnglat}/realtime:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getRealtimeWeather
summary: Caiyun Weather Get Realtime Weather
description: >-
Returns the current weather conditions at the requested location —
temperature, humidity, wind, cloud cover, sky condition (skycon),
visibility, downward shortwave radiation, pressure, apparent
temperature, precipitation, air quality, and life indices.
tags: [Realtime]
parameters:
- $ref: '#/components/parameters/Lang'
- $ref: '#/components/parameters/Unit'
responses:
'200':
description: Realtime weather payload
content:
application/json:
schema:
$ref: '#/components/schemas/RealtimeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/minutely:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getMinutelyPrecipitation
summary: Caiyun Weather Get Minutely Precipitation Forecast
description: >-
Returns 120-minute minute-level precipitation nowcast (mm/hr) and per-minute
probability series for the requested location, plus a natural-language
summary of the precipitation pattern.
tags: [Forecast]
parameters:
- $ref: '#/components/parameters/Lang'
- $ref: '#/components/parameters/Unit'
responses:
'200':
description: Minutely precipitation payload
content:
application/json:
schema:
$ref: '#/components/schemas/MinutelyResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/hourly:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getHourlyForecast
summary: Caiyun Weather Get Hourly Weather Forecast
description: >-
Returns hourly forecast series for up to 360 hours covering temperature,
apparent temperature, humidity, cloud cover, sky condition, precipitation
(value + probability), pressure, visibility, downward shortwave radiation,
wind, and air quality (AQI + PM2.5). When the begin parameter is supplied
the series is anchored at that Unix epoch second instead of "now".
tags: [Forecast]
parameters:
- $ref: '#/components/parameters/Lang'
- $ref: '#/components/parameters/Unit'
- $ref: '#/components/parameters/HourlySteps'
- $ref: '#/components/parameters/Begin'
responses:
'200':
description: Hourly forecast payload
content:
application/json:
schema:
$ref: '#/components/schemas/HourlyResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/daily:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getDailyForecast
summary: Caiyun Weather Get Daily Weather Forecast
description: >-
Returns daily forecast series for up to 15 days covering astronomical
sunrise/sunset, precipitation, temperature, humidity, cloud cover,
pressure, visibility, downward shortwave radiation, wind, sky condition,
air quality, and life indices. Includes daytime (08h-20h) and
nighttime (20h-32h) splits for skycon, precipitation, temperature, and
wind. Free tier returns 3 days; paid tiers extend to 15.
tags: [Forecast]
parameters:
- $ref: '#/components/parameters/Lang'
- $ref: '#/components/parameters/Unit'
- $ref: '#/components/parameters/DailySteps'
- $ref: '#/components/parameters/Begin'
responses:
'200':
description: Daily forecast payload
content:
application/json:
schema:
$ref: '#/components/schemas/DailyResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/weather:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getWeatherCombined
summary: Caiyun Weather Get Combined Weather Envelope
description: >-
Returns a combined response containing realtime, minutely, hourly,
and daily forecast blocks in a single call, optionally with severe-
weather alerts. The granu parameter narrows the response to a single
granularity (realtime, minutely, hourly, daily) when only part of the
envelope is needed.
tags: [Weather]
parameters:
- $ref: '#/components/parameters/Lang'
- $ref: '#/components/parameters/Unit'
- $ref: '#/components/parameters/DailySteps'
- $ref: '#/components/parameters/HourlySteps'
- $ref: '#/components/parameters/Alert'
- $ref: '#/components/parameters/Begin'
- $ref: '#/components/parameters/Granu'
responses:
'200':
description: Combined weather payload
content:
application/json:
schema:
$ref: '#/components/schemas/WeatherResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/air-quality:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getRealtimeAirQuality
summary: Caiyun Weather Get Realtime Air Quality
description: >-
Returns real-time air quality readings — PM2.5, PM10, O3, SO2, NO2, CO
concentrations plus AQI values and category descriptions under both
Chinese (HJ 633-2012) and US EPA standards.
tags: [Air Quality]
parameters:
- $ref: '#/components/parameters/Lang'
responses:
'200':
description: Realtime air quality payload
content:
application/json:
schema:
$ref: '#/components/schemas/AirQualityRealtimeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/{token}/{lnglat}/alert:
parameters:
- $ref: '#/components/parameters/Token'
- $ref: '#/components/parameters/LngLat'
get:
operationId: getWeatherAlerts
summary: Caiyun Weather Get Severe Weather Alerts
description: >-
Returns the active severe-weather alerts published by the China
Meteorological Administration for the requested location, including
title, code, status, description, region (province/city/county),
adcode, publication timestamp, and originating source.
tags: [Alerts]
parameters:
- $ref: '#/components/parameters/Lang'
responses:
'200':
description: Severe-weather alert payload
content:
application/json:
schema:
$ref: '#/components/schemas/AlertResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/precipitation/{z}/{x}/{y}.png:
parameters:
- name: z
in: path
required: true
description: Web Mercator zoom level (0-9 typical).
schema:
type: integer
minimum: 0
maximum: 18
- name: x
in: path
required: true
description: Web Mercator tile column.
schema:
type: integer
minimum: 0
- name: y
in: path
required: true
description: Web Mercator tile row.
schema:
type: integer
minimum: 0
get:
operationId: getPrecipitationMapTile
summary: Caiyun Weather Get Precipitation Map Tile
description: >-
Returns a 256x256 PNG raster tile representing radar + nowcast
precipitation intensity colored by the standard dBZ palette. Suitable
for overlaying on Web Mercator base maps (Mapbox, MapLibre, OpenLayers,
Leaflet) to render live precipitation animations.
tags: [Precipitation Map]
parameters:
- name: timestamp
in: query
description: >-
Optional Unix epoch second for the nowcast frame. Omit to receive
the most recent observation; provide a future timestamp within the
nowcast horizon to render a forecast frame.
required: false
schema:
type: integer
responses:
'200':
description: PNG raster tile
content:
image/png:
schema:
type: string
format: binary
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Tile not available for the requested coordinates or timestamp
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
parameters:
Token:
name: token
in: path
required: true
description: >-
Caiyun Weather API token issued by the Open Platform
(platform.caiyunapp.com). Embedded in the path rather than a header.
schema:
type: string
example: TAkhjf8d1nlSlspN
LngLat:
name: lnglat
in: path
required: true
description: >-
Longitude,latitude tuple as `lng,lat` (note the order — longitude first).
Use WGS84 decimal degrees.
schema:
type: string
pattern: '^-?\d+(\.\d+)?,-?\d+(\.\d+)?$'
example: '116.4074,39.9042'
Lang:
name: lang
in: query
required: false
description: Response language for description fields.
schema:
type: string
enum: [zh_CN, zh_TW, ja, en_GB, en_US]
default: en_US
example: en_US
Unit:
name: unit
in: query
required: false
description: Unit system for numeric values (temperature, wind, precipitation, pressure).
schema:
type: string
enum: [metric, 'metric:v1', 'metric:v2', imperial, SI]
default: metric
example: 'metric:v2'
DailySteps:
name: dailysteps
in: query
required: false
description: Number of daily forecast days to return. Free tier caps at 3.
schema:
type: integer
minimum: 1
maximum: 15
default: 5
example: 7
HourlySteps:
name: hourlysteps
in: query
required: false
description: Number of hourly forecast steps to return.
schema:
type: integer
minimum: 1
maximum: 360
default: 48
example: 72
Alert:
name: alert
in: query
required: false
description: Include severe-weather alerts in the combined weather response.
schema:
type: boolean
default: false
example: true
Begin:
name: begin
in: query
required: false
description: >-
Anchor the forecast or historical series at a specific Unix epoch
second instead of "now". Used to fetch past 24h (historical) or shift
the start of the forecast window.
schema:
type: integer
example: 1748563200
Granu:
name: granu
in: query
required: false
description: >-
Restrict the combined /weather response to a single granularity
instead of returning the full envelope.
schema:
type: string
enum: [realtime, minutely, hourly, daily, weather]
example: hourly
responses:
BadRequest:
description: Malformed request (invalid coordinates, parameter out of range)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Invalid or missing API token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Per-token quota exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
pathToken:
type: apiKey
in: query
name: token
description: >-
Caiyun Weather API token. Note that the token is conventionally embedded
in the path between the API version and the lng,lat segment rather than
sent as a header or query parameter. This security scheme is recorded
for tooling completeness; clients should construct the URL with the
token in the path as documented.
schemas:
Wind:
title: Wind
type: object
description: Wind speed and direction.
properties:
speed:
type: number
format: float
description: Wind speed in the active unit system (km/h for metric:v2).
example: 12.4
direction:
type: number
format: float
description: Wind direction in degrees from north, clockwise.
example: 215.0
PrecipitationLocal:
title: PrecipitationLocal
type: object
description: Realtime local precipitation reading at the requested point.
properties:
status:
type: string
description: Local precipitation reading status (ok / error).
example: ok
datasource:
type: string
description: Origin of the precipitation reading (radar, satellite, observation).
example: radar
intensity:
type: number
format: float
description: Precipitation intensity in mm/hr at the point.
example: 0.0
required: [status, datasource, intensity]
PrecipitationNearest:
title: PrecipitationNearest
type: object
description: Nearest precipitation echo to the requested point.
properties:
status:
type: string
example: ok
distance:
type: number
format: float
description: Distance to the nearest precipitation echo in km.
example: 8.7
intensity:
type: number
format: float
example: 0.4
Precipitation:
title: Precipitation
type: object
properties:
local:
$ref: '#/components/schemas/PrecipitationLocal'
nearest:
$ref: '#/components/schemas/PrecipitationNearest'
required: [local]
AQIValueDual:
title: AQIValueDual
type: object
description: AQI numeric value under both Chinese and US standards.
properties:
chn:
type: number
format: float
example: 78.0
usa:
type: number
format: float
example: 95.0
required: [chn, usa]
AQIDescDual:
title: AQIDescDual
type: object
description: AQI category description under both standards.
properties:
chn:
type: string
example: Good
usa:
type: string
example: Moderate
required: [chn, usa]
AirQualityRealtime:
title: AirQualityRealtime
type: object
description: Realtime pollutant concentrations and AQI.
properties:
aqi:
$ref: '#/components/schemas/AQIValueDual'
description:
$ref: '#/components/schemas/AQIDescDual'
pm25:
type: number
format: float
description: PM2.5 concentration in µg/m³.
example: 32.0
pm10:
type: number
format: float
example: 48.0
o3:
type: number
format: float
example: 96.0
so2:
type: number
format: float
example: 4.0
no2:
type: number
format: float
example: 21.0
co:
type: number
format: float
description: CO concentration in mg/m³.
example: 0.6
required: [aqi, description]
LifeIndexItem:
title: LifeIndexItem
type: object
properties:
index:
oneOf:
- type: number
- type: string
description: Index numeric value (0-5) or string code.
example: 3
desc:
type: string
description: Localized description of the index level.
example: Moderate
required: [index, desc]
RealtimeLifeIndex:
title: RealtimeLifeIndex
type: object
properties:
ultraviolet:
$ref: '#/components/schemas/LifeIndexItem'
comfort:
$ref: '#/components/schemas/LifeIndexItem'
required: [ultraviolet, comfort]
SkyCon:
title: SkyCon
type: string
description: Normalized weather phenomenon (sky condition) enum.
enum:
- CLEAR_DAY
- CLEAR_NIGHT
- PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT
- CLOUDY
- LIGHT_HAZE
- MODERATE_HAZE
- HEAVY_HAZE
- LIGHT_RAIN
- MODERATE_RAIN
- HEAVY_RAIN
- STORM_RAIN
- FOG
- LIGHT_SNOW
- MODERATE_SNOW
- HEAVY_SNOW
- STORM_SNOW
- DUST
- SAND
- WIND
example: PARTLY_CLOUDY_DAY
Realtime:
title: Realtime
type: object
description: Realtime weather block.
properties:
status:
type: string
example: ok
temperature:
type: number
format: float
example: 22.4
humidity:
type: number
format: float
description: Relative humidity, 0-1 ratio.
example: 0.58
cloudrate:
type: number
format: float
description: Cloud cover ratio, 0-1.
example: 0.32
skycon:
$ref: '#/components/schemas/SkyCon'
visibility:
type: number
format: float
description: Visibility in km.
example: 14.2
dswrf:
type: number
format: float
description: Downward shortwave radiation flux in W/m².
example: 412.0
wind:
$ref: '#/components/schemas/Wind'
pressure:
type: number
format: float
description: Surface pressure in Pa.
example: 100240.0
apparent_temperature:
type: number
format: float
example: 21.8
precipitation:
$ref: '#/components/schemas/Precipitation'
air_quality:
$ref: '#/components/schemas/AirQualityRealtime'
life_index:
$ref: '#/components/schemas/RealtimeLifeIndex'
required: [status, temperature, humidity, cloudrate, skycon, wind]
Minutely:
title: Minutely
type: object
description: Minute-level precipitation nowcast block (next 120 minutes).
properties:
status:
type: string
example: ok
datasource:
type: string
example: radar
precipitation_2h:
type: array
items:
type: number
format: float
minItems: 120
maxItems: 120
description: 120 minutes of precipitation intensity in mm/hr.
precipitation:
type: array
items:
type: number
format: float
minItems: 60
maxItems: 60
description: 60 minutes of precipitation intensity in mm/hr.
probability:
type: array
items:
type: number
format: float
description: Per-segment precipitation probability (0-1).
description:
type: string
description: Natural-language summary of the precipitation pattern.
example: clear weather over the next 2 hours
required: [status, description]
DateTimeValuePair:
title: DateTimeValuePair
type: object
properties:
datetime:
type: string
format: date-time
example: '2026-05-30T15:00:00+08:00'
value:
type: number
format: float
example: 23.1
required: [datetime, value]
HourlyPrecipitationItem:
title: HourlyPrecipitationItem
type: object
properties:
datetime:
type: string
format: date-time
value:
type: number
format: float
description: Precipitation intensity in mm/hr.
probability:
type: number
format: float
description: Per-hour precipitation probability (0-100).
required: [datetime, value, probability]
HourlyWindItem:
title: HourlyWindItem
type: object
properties:
datetime:
type: string
format: date-time
speed:
type: number
format: float
direction:
type: number
format: float
required: [datetime, speed, direction]
HourlySkyconItem:
title: HourlySkyconItem
type: object
properties:
datetime:
type: string
format: date-time
value:
$ref: '#/components/schemas/SkyCon'
required: [datetime, value]
HourlyAQIItem:
title: HourlyAQIItem
type: object
properties:
datetime:
type: string
format: date-time
value:
$ref: '#/components/schemas/AQIValueDual'
required: [datetime, value]
HourlyPM25Item:
title: HourlyPM25Item
type: object
properties:
datetime:
type: string
format: date-time
value:
type: number
format: float
required: [datetime, value]
HourlyAirQuality:
title: HourlyAirQuality
type: object
properties:
aqi:
type: array
items:
$ref: '#/components/schemas/HourlyAQIItem'
pm25:
type: array
items:
$ref: '#/components/schemas/HourlyPM25Item'
Hourly:
title: Hourly
type: object
description: Hourly forecast series block.
properties:
status:
type: string
example: ok
description:
type: string
example: clear weather over the next 24 hours
precipitation:
type: array
items:
$ref: '#/components/schemas/HourlyPrecipitationItem'
temperature:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
apparent_temperature:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
humidity:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
cloudrate:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
skycon:
type: array
items:
$ref: '#/components/schemas/HourlySkyconItem'
pressure:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
visibility:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
dswrf:
type: array
items:
$ref: '#/components/schemas/DateTimeValuePair'
wind:
type: array
items:
$ref: '#/components/schemas/HourlyWindItem'
air_quality:
$ref: '#/components/schemas/HourlyAirQuality'
required: [status, description]
DailyAstroTime:
title: DailyAstroTime
type: object
properties:
time:
type: string
example: '05:48'
required: [time]
DailyAstroItem:
title: DailyAstroItem
type: object
properties:
date:
type: string
format: date
sunrise:
$ref: '#/components/schemas/DailyAstroTime'
sunset:
$ref: '#/components/schemas/DailyAstroTime'
required: [date, sunrise, sunset]
DailyMinMaxAvgItem:
title: DailyMinMaxAvgItem
type: object
properties:
date:
type: string
format: date
max:
type: number
format: float
min:
type: number
format: float
avg:
type: number
format: float
required: [date, max, min, avg]
DailyPrecipitationItem:
title: DailyPrecipitationItem
type: object
properties:
date:
type: string
format: date
max:
type: number
format: float
min:
type: number
format: float
avg:
type: number
format: float
probability:
type: number
format: float
required: [date, max, min, avg, probability]
DailyWindProperty:
title: DailyWindProperty
type: object
properties:
speed:
type: number
format: float
direction:
type: number
format: float
required: [speed, direction]
DailyWindItem:
title: DailyWindItem
type: object
properties:
date:
type: string
format: date
max:
$ref: '#/components/schemas/DailyWindProperty'
min:
$ref: '#/components/schemas/DailyWindProperty'
avg:
$ref: '#/components/schemas/DailyWindProperty'
required: [date, max, min, avg]
DailySkyconItem:
title: DailySkyconItem
type: object
properties:
date:
type: string
format: date
value:
$ref: '#/components/schemas/SkyCon'
required: [date, value]
DailyAQIItem:
title: DailyAQIItem
type: object
properties:
date:
type: string
format: date
max:
$ref: '#/components/schemas/AQIValueDual'
min:
$ref: '#/components/schemas/AQIValueDual'
avg:
$ref: '#/components/schemas/AQIValueDual'
required: [date, max, min, avg]
DailyAirQuality:
title: DailyAirQuality
type: object
properties:
aqi:
type: array
items:
$ref: '#/components/schemas/DailyAQIItem'
pm25:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
DailyLifeIndexEntry:
title: DailyLifeIndexEntry
type: object
properties:
date:
type: string
format: date
index:
oneOf:
- type: number
- type: string
desc:
type: string
required: [date, index, desc]
DailyLifeIndex:
title: DailyLifeIndex
type: object
properties:
ultraviolet:
type: array
items:
$ref: '#/components/schemas/DailyLifeIndexEntry'
carWashing:
type: array
items:
$ref: '#/components/schemas/DailyLifeIndexEntry'
dressing:
type: array
items:
$ref: '#/components/schemas/DailyLifeIndexEntry'
comfort:
type: array
items:
$ref: '#/components/schemas/DailyLifeIndexEntry'
coldRisk:
type: array
items:
$ref: '#/components/schemas/DailyLifeIndexEntry'
Daily:
title: Daily
type: object
description: Daily forecast series block.
properties:
status:
type: string
example: ok
astro:
type: array
items:
$ref: '#/components/schemas/DailyAstroItem'
precipitation:
type: array
items:
$ref: '#/components/schemas/DailyPrecipitationItem'
precipitation_08h_20h:
type: array
items:
$ref: '#/components/schemas/DailyPrecipitationItem'
precipitation_20h_32h:
type: array
items:
$ref: '#/components/schemas/DailyPrecipitationItem'
temperature:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
temperature_08h_20h:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
temperature_20h_32h:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
humidity:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
cloudrate:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
pressure:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
visibility:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
dswrf:
type: array
items:
$ref: '#/components/schemas/DailyMinMaxAvgItem'
wind:
type: array
items:
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/colorfulclouds/refs/heads/main/openapi/colorfulclouds-caiyun-weather-openapi.yml