openapi: 3.0.3
info:
title: ECMWF Forecast - A Weather Source API
description: "Daily and hourly forecast data from the ECMWF model for latitude/longitude points, ZIP/Postal Codes, and Designated Market Areas. Hourly and daily forecasts are up to 360 hours or 15 days out from current day. The Weather Source ECMWF Forecast API is built upon the [OnPoint™ Platform](https://weathersource.com/products/onpoint-platform/) which ensures data that is gap-free, homogeneous, and ready for immediate analysis. We offer the highest resolution grid on the market, covering every landmass in the world and up to 200 miles offshore.\n\n **IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.\n \n When using the \\\"Try it out\\\" capability in the documentation, the API key should be added by clicking the green \\\"Authorize\\\" button at the top of the page.\n"
termsOfService: https://weathersource.com/company/legal/terms-of-service/
contact:
name: Weather Source APIs
url: https://developer.weathersourceapis.com/
email: support@weathersource.com
version: 2.0.1
servers:
- url: https://ecmwfforecast.weathersourceapis.com/v2
security:
- ApiKeyAuth: []
tags:
- name: points
description: Latitude/Longitude ECMWF forecast data
- name: postcodes
description: Postcode ECMWF forecast data
- name: dmas
description: Designated Market Area ECMWF forecast data
- name: onpoints
description: OnPoint™ point ECMWF forecast data
paths:
/points/{latitude},{longitude}/days:
get:
tags:
- points
summary: The complete daily ECMWF forecast for a Latitude/Longitude point.
description: |
Returns the complete set of daily ECMWF forecast data for a Latitude/Longitude point.
*Alternatively using a query that specificies just the days required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: latitude
in: path
description: A latitude value between -90° and 90°.
required: true
schema:
maximum: 90
minimum: -90
type: number
format: float
example: 38.8552
- name: longitude
in: path
description: A longitude value between -180° (West) and 180° (East).
required: true
schema:
maximum: 180
minimum: -180
type: number
format: float
example: -77.0513
- name: fields
in: query
description: |
A comma separated list of field names to return. The date field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are supported:
* all *(all fields)*
* allCldCvr *(derivatives of cldCvr)*
* allHum *(derivatives of relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(derivatives of mslPres, sfcPres)*
* allRad *(derivatives of radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(derivatives of dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(derivatives of windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(derivatives of cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvrMin
- cldCvrAvg
- cldCvrMax
- dewPtMin
- dewPtAvg
- dewPtMax
- feelsLikeMin
- feelsLikeAvg
- feelsLikeMax
- heatIndexMin
- heatIndexAvg
- heatIndexMax
- mslPresMin
- mslPresAvg
- mslPresMax
- precip
- precipProb
- radSolarMin
- radSolarAvg
- radSolarMax
- radSolarTot
- radSolarDirectMin
- radSolarDirectAvg
- radSolarDirectMax
- radSolarDirectTot
- radSolarDirectPMin
- radSolarDirectPAvg
- radSolarDirectPMax
- radSolarDirectPTot
- relHumMin
- relHumAvg
- relHumMax
- sfcPresMin
- sfcPresAvg
- sfcPresMax
- snowfall
- snowfallProb
- spcHumMin
- spcHumAvg
- spcHumMax
- tempMin
- tempAvg
- tempMax
- wetBulbMin
- wetBulbAvg
- wetBulbMax
- windChillMin
- windChillAvg
- windChillMax
- windDirAvg
- windDir80mAvg
- windDir100mAvg
- windSpdMin
- windSpdAvg
- windSpdMax
- windSpd80mMin
- windSpd80mAvg
- windSpd80mMax
- windSpd100mMin
- windSpd100mAvg
- windSpd100mMax
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Daily ECMWF forecast response for a Latitude/Longitude point.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastPointDayObj"
default:
$ref: "#/components/responses/errorResponse"
/points/{latitude},{longitude}/hours:
get:
tags:
- points
summary: The complete hourly ECMWF forecast for a Latitude/Longitude point.
description: |
Returns the complete set of ECMWF forecast data for a Latitude/Longitude point.
*Alternatively using a query that specificies just the hours required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: latitude
in: path
description: A latitude value between -90° and 90°.
required: true
schema:
maximum: 90
minimum: -90
type: number
format: float
example: 38.8552
- name: longitude
in: path
description: A longitude value between -180° (West) and 180° (East).
required: true
schema:
maximum: 180
minimum: -180
type: number
format: float
example: -77.0513
- name: fields
in: query
description: |
A comma separated list of field names to return. The timestamp field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are also supported:
* all *(all fields)*
* allCldCvr *(cldCvr)*
* allHum *(relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(mslPres, sfcPres)*
* allRad *(radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvr
- dewPt
- feelsLike
- heatIndex
- mslPres
- precip
- precipProb
- radSolar
- radSolarDirect
- radSolarDirectP
- relHum
- sfcPres
- snowfall
- snowfallProb
- spcHum
- temp
- wetBulb
- windChill
- windDir
- windDir80m
- windDir100m
- windSpd
- windSpd80m
- windSpd100m
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Hourly ECMWF forecast response for a Latitude/Longitude point.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastPointHourObj"
default:
$ref: "#/components/responses/errorResponse"
/postcodes/{postcode},{countryCode}/days:
get:
tags:
- postcodes
summary: The complete daily ECMWF forecast for a postcode.
description: |
Returns the complete set of ECMWF forecast data for a postcode.
*Alternatively using a query that specificies just the days required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: postcode
in: path
description: A postcode string.
required: true
schema:
type: string
example: "22222"
- name: countryCode
in: path
description: "An uppercase 2-character [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/)."
required: true
schema:
pattern: "^([A-Z]){2}$"
type: string
example: US
- name: fields
in: query
description: |
A comma separated list of field names to return. The date field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are supported:
* all *(all fields)*
* allCldCvr *(derivatives of cldCvr)*
* allHum *(derivatives of relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(derivatives of mslPres, sfcPres)*
* allRad *(derivatives of radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(derivatives of dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(derivatives of windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(derivatives of cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvrMin
- cldCvrAvg
- cldCvrMax
- dewPtMin
- dewPtAvg
- dewPtMax
- feelsLikeMin
- feelsLikeAvg
- feelsLikeMax
- heatIndexMin
- heatIndexAvg
- heatIndexMax
- mslPresMin
- mslPresAvg
- mslPresMax
- precip
- precipProb
- radSolarMin
- radSolarAvg
- radSolarMax
- radSolarTot
- radSolarDirectMin
- radSolarDirectAvg
- radSolarDirectMax
- radSolarDirectTot
- radSolarDirectPMin
- radSolarDirectPAvg
- radSolarDirectPMax
- radSolarDirectPTot
- relHumMin
- relHumAvg
- relHumMax
- sfcPresMin
- sfcPresAvg
- sfcPresMax
- snowfall
- snowfallProb
- spcHumMin
- spcHumAvg
- spcHumMax
- tempMin
- tempAvg
- tempMax
- wetBulbMin
- wetBulbAvg
- wetBulbMax
- windChillMin
- windChillAvg
- windChillMax
- windDirAvg
- windDir80mAvg
- windDir100mAvg
- windSpdMin
- windSpdAvg
- windSpdMax
- windSpd80mMin
- windSpd80mAvg
- windSpd80mMax
- windSpd100mMin
- windSpd100mAvg
- windSpd100mMax
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Daily ECMWF forecast response for a postcode.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastPostcodeDayObj"
default:
$ref: "#/components/responses/errorResponse"
/postcodes/{postcode},{countryCode}/hours:
get:
tags:
- postcodes
summary: The complete hourly ECMWF forecast for a postcode.
description: |
Returns the complete set of ECMWF forecast data for a postcode.
*Alternatively using a query that specificies just the hours required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: postcode
in: path
description: A postcode string.
required: true
schema:
type: string
example: "22222"
- name: countryCode
in: path
description: "An uppercase 2-character [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/)."
required: true
schema:
pattern: "^([A-Z]){2}$"
type: string
example: US
- name: fields
in: query
description: |
A comma separated list of field names to return. The timestamp field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are also supported:
* all *(all fields)*
* allCldCvr *(cldCvr)*
* allHum *(relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(mslPres, sfcPres)*
* allRad *(radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvr
- dewPt
- feelsLike
- heatIndex
- mslPres
- precip
- precipProb
- radSolar
- radSolarDirect
- radSolarDirectP
- relHum
- sfcPres
- snowfall
- snowfallProb
- spcHum
- temp
- wetBulb
- windChill
- windDir
- windDir80m
- windDir100m
- windSpd
- windSpd80m
- windSpd100m
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Hourly ECMWF forecast response for a postcode.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastPostcodeHourObj"
default:
$ref: "#/components/responses/errorResponse"
/dmas/{dmaId}/days:
get:
tags:
- dmas
summary: The complete daily ECMWF forecast for a DMA.
description: |
Returns the complete set of ECMWF forecast data for a Designated Market Area.
*Alternatively using a query that specificies just the days required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: dmaId
in: path
description: "A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/)."
required: true
schema:
type: integer
example: 529
- name: fields
in: query
description: |
A comma separated list of field names to return. The date field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are supported:
* all *(all fields)*
* allCldCvr *(derivatives of cldCvr)*
* allHum *(derivatives of relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(derivatives of mslPres, sfcPres)*
* allRad *(derivatives of radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(derivatives of dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(derivatives of windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(derivatives of cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvrMin
- cldCvrAvg
- cldCvrMax
- dewPtMin
- dewPtAvg
- dewPtMax
- feelsLikeMin
- feelsLikeAvg
- feelsLikeMax
- heatIndexMin
- heatIndexAvg
- heatIndexMax
- mslPresMin
- mslPresAvg
- mslPresMax
- precip
- precipProb
- radSolarMin
- radSolarAvg
- radSolarMax
- radSolarTot
- radSolarDirectMin
- radSolarDirectAvg
- radSolarDirectMax
- radSolarDirectTot
- radSolarDirectPMin
- radSolarDirectPAvg
- radSolarDirectPMax
- radSolarDirectPTot
- relHumMin
- relHumAvg
- relHumMax
- sfcPresMin
- sfcPresAvg
- sfcPresMax
- snowfall
- snowfallProb
- spcHumMin
- spcHumAvg
- spcHumMax
- tempMin
- tempAvg
- tempMax
- wetBulbMin
- wetBulbAvg
- wetBulbMax
- windChillMin
- windChillAvg
- windChillMax
- windDirAvg
- windDir80mAvg
- windDir100mAvg
- windSpdMin
- windSpdAvg
- windSpdMax
- windSpd80mMin
- windSpd80mAvg
- windSpd80mMax
- windSpd100mMin
- windSpd100mAvg
- windSpd100mMax
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Daily ECMWF forecast response for a Designated Market Area.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastDmaDayObj"
default:
$ref: "#/components/responses/errorResponse"
/dmas/{dmaId}/hours:
get:
tags:
- dmas
summary: The complete hourly ECMWF forecast for a DMA
description: |
Returns the complete set of ECMWF forecast data for a Designated Market Area.
*Alternatively using a query that specificies just the hours required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: dmaId
in: path
description: "A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/)."
required: true
schema:
type: integer
example: 529
- name: fields
in: query
description: |
A comma separated list of field names to return. The timestamp field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are also supported:
* all *(all fields)*
* allCldCvr *(cldCvr)*
* allHum *(relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(mslPres, sfcPres)*
* allRad *(radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvr
- dewPt
- feelsLike
- heatIndex
- mslPres
- precip
- precipProb
- radSolar
- radSolarDirect
- radSolarDirectP
- relHum
- sfcPres
- snowfall
- snowfallProb
- spcHum
- temp
- wetBulb
- windChill
- windDir
- windDir80m
- windDir100m
- windSpd
- windSpd80m
- windSpd100m
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Hourly ECMWF forecast response for a Designated Market Area.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastDmaHourObj"
default:
$ref: "#/components/responses/errorResponse"
/onpoints/{onpointId}/days:
get:
tags:
- onpoints
summary: The complete daily ECMWF forecast for an OnPoint™ point.
description: |
Returns the complete set of ECMWF forecast data for an OnPoint™ point.
*Alternatively using a query that specificies just the days required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: onpointId
in: path
description: An OnPoint™ ID.
required: true
schema:
type: integer
example: 10725864
- name: fields
in: query
description: |
A comma separated list of field names to return. The date field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are supported:
* all *(all fields)*
* allCldCvr *(derivatives of cldCvr)*
* allHum *(derivatives of relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(derivatives of mslPres, sfcPres)*
* allRad *(derivatives of radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(derivatives of dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(derivatives of windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(derivatives of cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvrMin
- cldCvrAvg
- cldCvrMax
- dewPtMin
- dewPtAvg
- dewPtMax
- feelsLikeMin
- feelsLikeAvg
- feelsLikeMax
- heatIndexMin
- heatIndexAvg
- heatIndexMax
- mslPresMin
- mslPresAvg
- mslPresMax
- precip
- precipProb
- radSolarMin
- radSolarAvg
- radSolarMax
- radSolarTot
- radSolarDirectMin
- radSolarDirectAvg
- radSolarDirectMax
- radSolarDirectTot
- radSolarDirectPMin
- radSolarDirectPAvg
- radSolarDirectPMax
- radSolarDirectPTot
- relHumMin
- relHumAvg
- relHumMax
- sfcPresMin
- sfcPresAvg
- sfcPresMax
- snowfall
- snowfallProb
- spcHumMin
- spcHumAvg
- spcHumMax
- tempMin
- tempAvg
- tempMax
- wetBulbMin
- wetBulbAvg
- wetBulbMax
- windChillMin
- windChillAvg
- windChillMax
- windDirAvg
- windDir80mAvg
- windDir100mAvg
- windSpdMin
- windSpdAvg
- windSpdMax
- windSpd80mMin
- windSpd80mAvg
- windSpd80mMax
- windSpd100mMin
- windSpd100mAvg
- windSpd100mMax
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Daily ECMWF forecast response for an OnPoint™ point.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastOnpointDayObj"
default:
$ref: "#/components/responses/errorResponse"
/onpoints/{onpointId}/hours:
get:
tags:
- onpoints
summary: The complete hourly ECMWF forecast for an OnPoint™ point.
description: |
Returns the complete set of ECMWF forecast data for an OnPoint™ point.
*Alternatively using a query that specificies just the hours required for your purposes will improve the query response time.*
**IMPORTANT:** To authenticate to the Weather Source ECMWF Forecast API, each request must contain your API key set to a custom header named `X-API-KEY`. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
When using the \"Try it out\" capability in the documentation, the API key should be added by clicking the green \"Authorize\" button at the top of the page.
parameters:
- name: onpointId
in: path
description: An OnPoint™ ID.
required: true
schema:
type: integer
example: 10725864
- name: fields
in: query
description: |
A comma separated list of field names to return. The timestamp field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are also supported:
* all *(all fields)*
* allCldCvr *(cldCvr)*
* allHum *(relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(mslPres, sfcPres)*
* allRad *(radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvr
- dewPt
- feelsLike
- heatIndex
- mslPres
- precip
- precipProb
- radSolar
- radSolarDirect
- radSolarDirectP
- relHum
- sfcPres
- snowfall
- snowfallProb
- spcHum
- temp
- wetBulb
- windChill
- windDir
- windDir80m
- windDir100m
- windSpd
- windSpd80m
- windSpd100m
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
- name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
responses:
"200":
description: Hourly ECMWF forecast response for an OnPoint™ point.
content:
application/json:
schema:
$ref: "#/components/schemas/ecmwfForecastOnpointHourObj"
default:
$ref: "#/components/responses/errorResponse"
components:
schemas:
fieldListDayObj:
title: fieldListObj
required:
- fields
type: object
properties:
fields:
$ref: "#/components/schemas/fields"
description: A list of returned field names the associated units.
example:
fields:
date: "Date as string: \"YYYY-MM-DD\""
timestampInit: "Timestamp as string: RFC 3339"
cldCvrAvg: "Percent value in [0,100]"
cldCvrMax: "Percent value in [0,100]"
cldCvrMin: "Percent value in [0,100]"
dewPtAvg: Fahrenheit
dewPtMax: Fahrenheit
dewPtMin: Fahrenheit
feelsLikeAvg: Fahrenheit
feelsLikeMax: Fahrenheit
feelsLikeMin: Fahrenheit
heatIndexAvg: Fahrenheit
heatIndexMax: Fahrenheit
heatIndexMin: Fahrenheit
mslPresAvg: Millibars
mslPresMax: Millibars
mslPresMin: Millibars
precip: Inches
precipProb: "Percent value in [0,100]"
radSolarAvg: Watts per Square Meter
radSolarMax: Watts per Square Meter
radSolarMin: Watts per Square Meter
radSolarTot: Watts per Square Meter
radSolarDirectAvg: Watts per Square Meter
radSolarDirectMax: Watts per Square Meter
radSolarDirectMin: Watts per Square Meter
radSolarDirectTot: Watts per Square Meter
radSolarDirectPAvg: Watts per Square Meter
radSolarDirectPMax: Watts per Square Meter
radSolarDirectPMin: Watts per Square Meter
radSolarDirectPTot: Watts per Square Meter
relHumAvg: "Percent value in [0,100]"
relHumMax: "Percent value in [0,100]"
relHumMin: "Percent value in [0,100]"
sfcPresAvg: Millibars
sfcPresMax: Millibars
sfcPresMin: Millibars
snowfall: Inches
snowfallProb: "Percent value in [0,100]"
spcHumAvg: Grams of Moisture per Kilograms of Air
spcHumMax: Grams of Moisture per Kilograms of Air
spcHumMin: Grams of Moisture per Kilograms of Air
tempAvg: Fahrenheit
tempMax: Fahrenheit
tempMin: Fahrenheit
wetBulbAvg: Fahrenheit
wetBulbMax: Fahrenheit
wetBulbMin: Fahrenheit
windChillAvg: Fahrenheit
windChillMax: Fahrenheit
windChillMin: Fahrenheit
windDir100mAvg: "Degrees [0,360] (0 = North)"
windDir80mAvg: "Degrees [0,360] (0 = North)"
windDirAvg: "Degrees [0,360] (0 = North)"
windSpd100mAvg: Miles per Hour
windSpd100mMax: Miles per Hour
windSpd100mMin: Miles per Hour
windSpd80mAvg: Miles per Hour
windSpd80mMax: Miles per Hour
windSpd80mMin: Miles per Hour
windSpdAvg: Miles per Hour
windSpdMax: Miles per Hour
windSpdMin: Miles per Hour
fieldListHourObj:
title: fieldListObj
required:
- fields
type: object
properties:
fields:
$ref: "#/components/schemas/fields"
description: A list of returned field names the associated units.
example:
fields:
timestamp: "Timestamp as string: RFC 3339"
timestampInit: "Timestamp as string: RFC 3339"
cldCvr: "Percent value in [0,100]"
dewPt: Fahrenheit
feelsLike: Fahrenheit
heatIndex: Fahrenheit
mslPres: Millibars
precip: Inches
precipProb: "Percent value in [0,100]"
radSolar: Watts per Square Meter
radDirectSolar: Watts per Square Meter
radDirectPSolar: Watts per Square Meter
relHum: "Percent value in [0,100]"
sfcPres: Millibars
snowfall: Inches
snowfallProb: "Percent value in [0,100]"
spcHum: Grams of Moisture per Kilograms of Air
temp: Fahrenheit
wetBulb: Fahrenheit
windChill: Fahrenheit
windDir: "Degrees [0,360] (0 = North)"
windDir100m: "Degrees [0,360] (0 = North)"
windDir80m: "Degrees [0,360] (0 = North)"
windSpd: Miles per Hour
windSpd100m: Miles per Hour
windSpd80m: Miles per Hour
ecmwfForecastDayArr:
type: array
description: An array of daily weather ECMWF forecast objects.
items:
$ref: "#/components/schemas/ecmwfForecastDayObj"
ecmwfForecastDayObj:
required:
- date
type: object
properties:
date:
$ref: "#/components/schemas/date"
timestampInit:
$ref: "#/components/schemas/timestampInit"
cldCvrMin:
$ref: "#/components/schemas/cldCvrMin"
cldCvrAvg:
$ref: "#/components/schemas/cldCvrAvg"
cldCvrMax:
$ref: "#/components/schemas/cldCvrMax"
dewPtMin:
$ref: "#/components/schemas/dewPtMin"
dewPtAvg:
$ref: "#/components/schemas/dewPtAvg"
dewPtMax:
$ref: "#/components/schemas/dewPtMax"
feelsLikeMin:
$ref: "#/components/schemas/feelsLikeMin"
feelsLikeAvg:
$ref: "#/components/schemas/feelsLikeAvg"
feelsLikeMax:
$ref: "#/components/schemas/feelsLikeMax"
heatIndexMin:
$ref: "#/components/schemas/heatIndexMin"
heatIndexAvg:
$ref: "#/components/schemas/heatIndexAvg"
heatIndexMax:
$ref: "#/components/schemas/heatIndexMax"
mslPresMin:
$ref: "#/components/schemas/mslPresMin"
mslPresAvg:
$ref: "#/components/schemas/mslPresAvg"
mslPresMax:
$ref: "#/components/schemas/mslPresMax"
precip:
$ref: "#/components/schemas/precip"
precipProb:
$ref: "#/components/schemas/precipProb"
radSolarMin:
$ref: "#/components/schemas/radSolarMin"
radSolarAvg:
$ref: "#/components/schemas/radSolarAvg"
radSolarMax:
$ref: "#/components/schemas/radSolarMax"
radSolarTot:
$ref: "#/components/schemas/radSolarTot"
radSolarDirectMin:
$ref: "#/components/schemas/radSolarDirectMin"
radSolarDirectAvg:
$ref: "#/components/schemas/radSolarDirectAvg"
radSolarDirectMax:
$ref: "#/components/schemas/radSolarDirectMax"
radSolarDirectTot:
$ref: "#/components/schemas/radSolarDirectTot"
radSolarDirectPMin:
$ref: "#/components/schemas/radSolarDirectPMin"
radSolarDirectPAvg:
$ref: "#/components/schemas/radSolarDirectPAvg"
radSolarDirectPMax:
$ref: "#/components/schemas/radSolarDirectPMax"
radSolarDirectPTot:
$ref: "#/components/schemas/radSolarDirectPTot"
relHumMin:
$ref: "#/components/schemas/relHumMin"
relHumAvg:
$ref: "#/components/schemas/relHumAvg"
relHumMax:
$ref: "#/components/schemas/relHumMax"
sfcPresMin:
$ref: "#/components/schemas/sfcPresMin"
sfcPresAvg:
$ref: "#/components/schemas/sfcPresAvg"
sfcPresMax:
$ref: "#/components/schemas/sfcPresMax"
snowfall:
$ref: "#/components/schemas/snowfall"
snowfallProb:
$ref: "#/components/schemas/snowfallProb"
spcHumMin:
$ref: "#/components/schemas/spcHumMin"
spcHumAvg:
$ref: "#/components/schemas/spcHumAvg"
spcHumMax:
$ref: "#/components/schemas/spcHumMax"
tempMin:
$ref: "#/components/schemas/tempMin"
tempAvg:
$ref: "#/components/schemas/tempAvg"
tempMax:
$ref: "#/components/schemas/tempMax"
wetBulbMin:
$ref: "#/components/schemas/wetBulbMin"
wetBulbAvg:
$ref: "#/components/schemas/wetBulbAvg"
wetBulbMax:
$ref: "#/components/schemas/wetBulbMax"
windChillMin:
$ref: "#/components/schemas/windChillMin"
windChillAvg:
$ref: "#/components/schemas/windChillAvg"
windChillMax:
$ref: "#/components/schemas/windChillMax"
windDirAvg:
$ref: "#/components/schemas/windDirAvg"
windDir80mAvg:
$ref: "#/components/schemas/windDir80mAvg"
windDir100mAvg:
$ref: "#/components/schemas/windDir100mAvg"
windSpdMin:
$ref: "#/components/schemas/windSpdMin"
windSpdAvg:
$ref: "#/components/schemas/windSpdAvg"
windSpdMax:
$ref: "#/components/schemas/windSpdMax"
windSpd80mMin:
$ref: "#/components/schemas/windSpd80mMin"
windSpd80mAvg:
$ref: "#/components/schemas/windSpd80mAvg"
windSpd80mMax:
$ref: "#/components/schemas/windSpd80mMax"
windSpd100mMin:
$ref: "#/components/schemas/windSpd100mMin"
windSpd100mAvg:
$ref: "#/components/schemas/windSpd100mAvg"
windSpd100mMax:
$ref: "#/components/schemas/windSpd100mMax"
description: A daily weather ECMWF forecast object.
ecmwfForecastHourArr:
type: array
description: An array of hourly weather ECMWF forecast objects.
items:
$ref: "#/components/schemas/ecmwfForecastHourObj"
ecmwfForecastHourObj:
required:
- timestamp
type: object
properties:
timestamp:
$ref: "#/components/schemas/timestamp"
timestampInit:
$ref: "#/components/schemas/timestampInit"
cldCvr:
$ref: "#/components/schemas/cldCvr"
dewPt:
$ref: "#/components/schemas/dewPt"
feelsLike:
$ref: "#/components/schemas/feelsLike"
heatIndex:
$ref: "#/components/schemas/heatIndex"
mslPres:
$ref: "#/components/schemas/mslPres"
precip:
$ref: "#/components/schemas/precip"
precipProb:
$ref: "#/components/schemas/precipProb"
radSolar:
$ref: "#/components/schemas/radSolar"
radSolarDirect:
$ref: "#/components/schemas/radSolarDirect"
radSolarDirectP:
$ref: "#/components/schemas/radSolarDirectP"
relHum:
$ref: "#/components/schemas/relHum"
sfcPres:
$ref: "#/components/schemas/sfcPres"
snowfall:
$ref: "#/components/schemas/snowfall"
snowfallProb:
$ref: "#/components/schemas/snowfallProb"
spcHum:
$ref: "#/components/schemas/spcHum"
temp:
$ref: "#/components/schemas/temp"
wetBulb:
$ref: "#/components/schemas/wetBulb"
windChill:
$ref: "#/components/schemas/windChill"
windDir:
$ref: "#/components/schemas/windDir"
windDir80m:
$ref: "#/components/schemas/windDir80m"
windDir100m:
$ref: "#/components/schemas/windDir100m"
windSpd:
$ref: "#/components/schemas/windSpd"
windSpd80m:
$ref: "#/components/schemas/windSpd80m"
windSpd100m:
$ref: "#/components/schemas/windSpd100m"
description: An hourly weather ECMWF forecast object.
ecmwfForecastPointDayObj:
required:
- dateRange
- fieldList
- forecast
- location
type: object
properties:
location:
$ref: "#/components/schemas/pointObj"
dateRange:
$ref: "#/components/schemas/dateRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListDayObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastDayArr"
description: Daily Latitude/Longitude ECMWF forecast object
ecmwfForecastPointHourObj:
required:
- fieldList
- forecast
- location
- timestampRange
type: object
properties:
location:
$ref: "#/components/schemas/pointObj"
timestampRange:
$ref: "#/components/schemas/timestampRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListHourObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastHourArr"
description: Hourly Latitude/Longitude ECMWF forecast object
ecmwfForecastPostcodeDayObj:
required:
- dateRange
- fieldList
- forecast
- location
type: object
properties:
location:
$ref: "#/components/schemas/postcodeObj"
dateRange:
$ref: "#/components/schemas/dateRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListDayObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastDayArr"
description: Daily Postcode ECMWF forecast object
ecmwfForecastPostcodeHourObj:
required:
- fieldList
- forecast
- location
- timestampRange
type: object
properties:
location:
$ref: "#/components/schemas/postcodeObj"
timestampRange:
$ref: "#/components/schemas/timestampRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListHourObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastHourArr"
description: Hourly Postcode ECMWF forecast object
ecmwfForecastDmaDayObj:
required:
- dateRange
- fieldList
- forecast
- location
type: object
properties:
location:
$ref: "#/components/schemas/dmaObj"
dateRange:
$ref: "#/components/schemas/dateRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListDayObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastDayArr"
description: Daily Designated Market Area ECMWF forecast object
ecmwfForecastDmaHourObj:
required:
- fieldList
- forecast
- location
- timestampRange
type: object
properties:
location:
$ref: "#/components/schemas/dmaObj"
timestampRange:
$ref: "#/components/schemas/timestampRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListHourObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastHourArr"
description: Hourly Designated Market Area ECMWF forecast object
ecmwfForecastOnpointDayObj:
required:
- dateRange
- fieldList
- forecast
- location
type: object
properties:
location:
$ref: "#/components/schemas/onpointObj"
dateRange:
$ref: "#/components/schemas/dateRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListDayObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastDayArr"
description: Daily OnPoint™ ECMWF forecast object
ecmwfForecastOnpointHourObj:
required:
- fieldList
- forecast
- location
- timestampRange
type: object
properties:
location:
$ref: "#/components/schemas/onpointObj"
timestampRange:
$ref: "#/components/schemas/timestampRangeObj"
fieldList:
$ref: "#/components/schemas/fieldListHourObj"
forecast:
$ref: "#/components/schemas/ecmwfForecastHourArr"
description: Hourly OnPoint™ ECMWF forecast object
timestampInit:
type: string
description: The model initialization timestamp formatted as an RFC3339 date-time value.
format: date-time
example: 2019-12-20T23:00:00-05:00
cldCvr:
maximum: 100
minimum: 0
type: number
description: Cloud Cover as a percent value.
format: float
example: 100
cldCvrMin:
maximum: 100
minimum: 0
type: number
description: Minimum Cloud Cover as a percent value.
format: float
example: 22
cldCvrAvg:
maximum: 100
minimum: 0
type: number
description: Average Cloud Cover as a percent value.
format: float
example: 78
cldCvrMax:
maximum: 100
minimum: 0
type: number
description: Maximum Cloud Cover as a percent value.
format: float
example: 100
dewPt:
type: number
description: "Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 45.92
dewPtMin:
type: number
description: "Minimum Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 33.8
dewPtAvg:
type: number
description: "Average Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 43.5
dewPtMax:
type: number
description: "Maximum Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 50.6
feelsLike:
type: number
description: "Feels Like Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 46.75
feelsLikeMin:
type: number
description: "Minimum Feels Like Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 42.3
feelsLikeAvg:
type: number
description: "Average Feels Like Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 49.8
feelsLikeMax:
type: number
description: "Maximum Feels Like Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 55.2
heatIndex:
type: number
description: "Heat Index in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 46.75
heatIndexMin:
type: number
description: "Minimum Heat Index in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 43.5
heatIndexAvg:
type: number
description: "Average Heat Index in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 50.2
heatIndexMax:
type: number
description: "Maximum Heat Index in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 55.3
mslPres:
type: number
description: Mean Sea Level Pressure in millibars.
format: float
example: 1017.46
mslPresMin:
type: number
description: Minimum Mean Sea Level Pressure in millibars.
format: float
example: 1017.9
mslPresAvg:
type: number
description: Average Mean Sea Level Pressure in millibars.
format: float
example: 1020
mslPresMax:
type: number
description: Maximum Mean Sea Level Pressure in millibars.
format: float
example: 1021.9
precip:
type: number
description: "Total precipitation in inches (imperial) or centimeters (metric, si)."
format: float
example: 0
precipProb:
maximum: 100
minimum: 0
type: number
description: Probability of precipitation as a percent value.
format: float
example: 0
radSolar:
type: number
description: Solar Radiation in watts per square meter.
format: float
example: 0
radSolarMin:
type: number
description: Minimum Solar Radiation in watts per square meter.
format: float
example: 0
radSolarAvg:
type: number
description: Average Solar Radiation in watts per square meter.
format: float
example: 84.3
radSolarMax:
type: number
description: Maximum Solar Radiation in watts per square meter.
format: float
example: 436.5
radSolarTot:
type: number
description: Total Solar Radiation in watts per square meter.
format: float
example: 2023.1
radSolarDirect:
type: number
description: Direct Solar Radiation in watts per square meter.
format: float
example: 0
radSolarDirectMin:
type: number
description: Minimum Direct Solar Radiation in watts per square meter.
format: float
example: 0
radSolarDirectAvg:
type: number
description: Average Direct Solar Radiation in watts per square meter.
format: float
example: 84.3
radSolarDirectMax:
type: number
description: Maximum Direct Solar Radiation in watts per square meter.
format: float
example: 436.5
radSolarDirectTot:
type: number
description: Total Direct Solar Radiation in watts per square meter.
format: float
example: 2023.1
radSolarDirectP:
type: number
description: Direct Solar Radiation on a plane perpendicular to the direction of the Sun in watts per square meter.
format: float
example: 0
radSolarDirectPMin:
type: number
description: Minimum Direct Solar Radiation on a plane perpendicular to the direction of the Sun in watts per square meter.
format: float
example: 0
radSolarDirectPAvg:
type: number
description: Average Direct Solar Radiation on a plane perpendicular to the direction of the Sun in watts per square meter.
format: float
example: 84.3
radSolarDirectPMax:
type: number
description: Maximum Direct Solar Radiation on a plane perpendicular to the direction of the Sun in watts per square meter.
format: float
example: 436.5
radSolarDirectPTot:
type: number
description: Total Direct Solar Radiation on a plane perpendicular to the direction of the Sun in watts per square meter.
format: float
example: 2023.1
relHum:
maximum: 100
minimum: 0
type: number
description: Relative humidity as a percent value.
format: float
example: 96.87
relHumMin:
maximum: 100
minimum: 0
type: number
description: Minimum Relative humidity as a percent value.
format: float
example: 62.1
relHumAvg:
maximum: 100
minimum: 0
type: number
description: Average Relative humidity as a percent value.
format: float
example: 79
relHumMax:
maximum: 100
minimum: 0
type: number
description: Maximum Relative humidity as a percent value.
format: float
example: 98
sfcPres:
type: number
description: Surface pressure in millibars.
format: float
example: 1013.83
sfcPresMin:
type: number
description: Minimum Surface pressure in millibars.
format: float
example: 1015.6
sfcPresAvg:
type: number
description: Average Surface pressure in millibars.
format: float
example: 1018.3
sfcPresMax:
type: number
description: Maximum Surface pressure in millibars.
format: float
example: 1020.8
snowfall:
type: number
description: "Total snowfall in inches (imperial) or centimeters (metric, si)."
format: float
example: 0
snowfallProb:
maximum: 100
minimum: 0
type: number
description: Probability of snowfall as a percent value.
format: float
example: 0
spcHum:
type: number
description: Specific humidity in grams per kilograms.
format: float
example: 6.49
spcHumMin:
type: number
description: Minimum Specific humidity in grams per kilograms.
format: float
example: 4
spcHumAvg:
type: number
description: Average Specific humidity in grams per kilograms.
format: float
example: 6
spcHumMax:
type: number
description: Maximum Specific humidity in grams per kilograms.
format: float
example: 7.7
temp:
type: number
description: "Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 46.75
tempMin:
type: number
description: "Minimum Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 43.5
tempAvg:
type: number
description: "Average Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 50.2
tempMax:
type: number
description: "Maximum Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 55.3
wetBulb:
type: number
description: "Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 46.32
wetBulbMin:
type: number
description: "Minimum Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 39.5
wetBulbAvg:
type: number
description: "Average Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 47
wetBulbMax:
type: number
description: "Maximum Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 51
windChill:
type: number
description: "Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 46.75
windChillMin:
type: number
description: "Minimum Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 42.3
windChillAvg:
type: number
description: "Average Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 49.8
windChillMax:
type: number
description: "Maximum Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si)."
format: float
example: 55.2
windDir:
maximum: 360
minimum: 0
type: number
description: "Wind direction at 10 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 302.6
windDirAvg:
maximum: 360
minimum: 0
type: number
description: "Average Wind direction at 10 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 354
windDir80m:
maximum: 360
minimum: 0
type: number
description: "Wind direction at 80 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 111.89
windDir80mAvg:
maximum: 360
minimum: 0
type: number
description: "Average Wind direction at 80 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 334
windDir100m:
maximum: 360
minimum: 0
type: number
description: "Wind direction at 100 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 148.96
windDir100mAvg:
maximum: 360
minimum: 0
type: number
description: "Average Wind direction at 100 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270)."
format: float
example: 334
windSpd:
type: number
description: "Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 0.84
windSpdMin:
type: number
description: "Minimum Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 0.3
windSpdAvg:
type: number
description: "Average Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 2.3
windSpdMax:
type: number
description: "Maximum Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 5.1
windSpd80m:
type: number
description: "Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 4.38
windSpd80mMin:
type: number
description: "Minimum Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 1.4
windSpd80mAvg:
type: number
description: "Average Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 6.8
windSpd80mMax:
type: number
description: "Maximum Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 11.6
windSpd100m:
type: number
description: "Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 6.66
windSpd100mMin:
type: number
description: "Minimum Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 1.7
windSpd100mAvg:
type: number
description: "Average Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 7.2
windSpd100mMax:
type: number
description: "Maximum Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si)."
format: float
example: 12.1
errorObj:
type: object
properties:
errorCode:
maximum: 600
minimum: 100
type: integer
example: 404
errorMessage:
type: string
example: NOT FOUND. Item not found.
fields:
type: object
additionalProperties:
type: string
description: Unit value for field identified in the related key.
example: Fahrenheit
date:
type: string
description: A date formatted as an RFC3339 date value.
format: date
example: 2019-12-20
timestamp:
type: string
description: A timestamp formatted as an RFC3339 date-time value.
format: date-time
example: 2019-12-20T23:00:00-05:00
pointObj:
required:
- boundingPoints
- elevation
- grid
- latitude
- longitude
- timezone
type: object
properties:
latitude:
$ref: "#/components/schemas/latitude"
longitude:
$ref: "#/components/schemas/longitude"
timezone:
$ref: "#/components/schemas/timezone"
countryCode:
$ref: "#/components/schemas/countryCode"
countryName:
$ref: "#/components/schemas/countryName"
subdivCode:
$ref: "#/components/schemas/subdivCode"
subdivName:
$ref: "#/components/schemas/subdivName"
boundingPoints:
$ref: "#/components/schemas/boundingPoints"
grid:
$ref: "#/components/schemas/grid"
elevation:
$ref: "#/components/schemas/elevation"
description: Metadata object for a postcode
latitude:
maximum: 90
minimum: -90
type: number
description: A latitude value between -90° and 90°.
format: float
example: 38.8552
longitude:
maximum: 180
minimum: -180
type: number
description: A longitude value between -180° (West) and 180° (East).
format: float
example: -77.0513
timezone:
type: string
description: An Olson timezone ID.
example: America/New_York
countryCode:
type: string
description: "An [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/)."
example: US
countryName:
type: string
description: A common country name.
example: United States of America
subdivCode:
type: string
description: An ISO 3166-2 country subdivision code.
example: US-VA
subdivName:
type: string
description: A common country subdivision name.
example: Virginia
boundingPoints:
type: array
description: A list of OnPoint™ points related to the location
items:
$ref: "#/components/schemas/boundingPoints_inner"
onpointId:
type: integer
description: An OnPoint™ ID.
example: 10725864
grid:
type: string
description: The OnPoint™ grid on which the resource exists.
example: NORTH_AMERICA_GRID
enum:
- GLOBAL_GRID
- NORTH_AMERICA_GRID
distance:
type: number
description: A distance from the provided point in miles.
format: float
example: 2.6772
elevation:
type: number
description: The elevation above sea level of a location in meters
format: float
example: 173.5
dateRangeObj:
required:
- dateEnd
- dateStart
type: object
properties:
dateStart:
$ref: "#/components/schemas/dateStart"
dateEnd:
$ref: "#/components/schemas/dateEnd"
description: A date range object.
dateStart:
type: string
description: A start date for a date range formatted as an RFC3339 date value.
format: date
example: 2019-12-20
dateEnd:
type: string
description: An end date for a date range formatted as an RFC3339 date value.
format: date
example: 2019-12-20
timestampRangeObj:
required:
- timestampEnd
- timestampStart
type: object
properties:
timestampStart:
$ref: "#/components/schemas/timestampStart"
timestampEnd:
$ref: "#/components/schemas/timestampEnd"
description: A timestamp range object
timestampStart:
type: string
description: A start timestamp for a timestamp range formatted as an RFC3339 date-time value.
format: date-time
example: 2019-12-20T23:00:00-05:00
timestampEnd:
type: string
description: An end timestamp for a timestamp range formatted as an RFC3339 date-time value.
format: date-time
example: 2019-12-20T23:00:00-05:00
postcodeObj:
required:
- boundingPoints
- countryCode
- countryName
- elevation
- grid
- latitude
- longitude
- postcode
- timezone
type: object
properties:
postcode:
$ref: "#/components/schemas/postcode"
latitude:
$ref: "#/components/schemas/latitude"
longitude:
$ref: "#/components/schemas/longitude"
timezone:
$ref: "#/components/schemas/timezone"
countryCode:
$ref: "#/components/schemas/countryCode"
countryName:
$ref: "#/components/schemas/countryName"
subdivCode:
$ref: "#/components/schemas/subdivCode"
subdivName:
$ref: "#/components/schemas/subdivName"
boundingPoints:
$ref: "#/components/schemas/boundingPoints"
grid:
$ref: "#/components/schemas/grid"
elevation:
$ref: "#/components/schemas/elevation"
description: A postcode location metadata object
postcode:
type: string
description: A postcode string.
example: "22222"
dmaObj:
required:
- countryCode
- countryName
- dmaId
- dmaName
- grid
- population
- samplePoints
- timezone
type: object
properties:
dmaId:
$ref: "#/components/schemas/dmaId"
dmaName:
$ref: "#/components/schemas/dmaName"
timezone:
$ref: "#/components/schemas/timezone"
population:
$ref: "#/components/schemas/population"
countryCode:
$ref: "#/components/schemas/countryCode"
countryName:
$ref: "#/components/schemas/countryName"
samplePoints:
$ref: "#/components/schemas/samplePoints"
grid:
$ref: "#/components/schemas/grid"
description: A Designated Market Area location metadata object
dmaId:
type: integer
description: "A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/)."
example: 529
dmaName:
type: string
description: A Designated Market Area name.
example: Louisville
population:
type: integer
description: The population as represented in the 2010 census.
example: 1584746
samplePoints:
type: array
description: A list of OnPoint™ points used for interpolation for the Designated Market Area. These points are the OnPoint™ ID closest to the centroid of the 10 most populous postcodes within the target DMA.
items:
$ref: "#/components/schemas/samplePoints_inner"
distancePop:
type: integer
description: The difference in population for the whole Designated Market Area and the population for the postcode represented by this sample point.
example: 1536552
onpointObj:
required:
- elevation
- grid
- latitude
- longitude
- onpointId
- timezone
type: object
properties:
onpointId:
$ref: "#/components/schemas/onpointId"
latitude:
$ref: "#/components/schemas/latitude"
longitude:
$ref: "#/components/schemas/longitude"
timezone:
$ref: "#/components/schemas/timezone"
countryCode:
$ref: "#/components/schemas/countryCode"
countryName:
$ref: "#/components/schemas/countryName"
subdivCode:
$ref: "#/components/schemas/subdivCode"
subdivName:
$ref: "#/components/schemas/subdivName"
grid:
$ref: "#/components/schemas/grid"
elevation:
$ref: "#/components/schemas/elevation"
description: An OnPoint™ point location metadata object
boundingPoints_inner:
required:
- distance
- elevation
- grid
- latitude
- longitude
- onpointId
type: object
properties:
onpointId:
$ref: "#/components/schemas/onpointId"
latitude:
$ref: "#/components/schemas/latitude"
longitude:
$ref: "#/components/schemas/longitude"
grid:
$ref: "#/components/schemas/grid"
distance:
$ref: "#/components/schemas/distance"
elevation:
$ref: "#/components/schemas/elevation"
samplePoints_inner:
required:
- distance
- elevation
- grid
- latitude
- longitude
- onpointId
type: object
properties:
onpointId:
$ref: "#/components/schemas/onpointId"
latitude:
$ref: "#/components/schemas/latitude"
longitude:
$ref: "#/components/schemas/longitude"
grid:
$ref: "#/components/schemas/grid"
distance:
$ref: "#/components/schemas/distancePop"
elevation:
$ref: "#/components/schemas/elevation"
responses:
errorResponse:
description: Unexpected error response
content:
application/json:
schema:
$ref: "#/components/schemas/errorObj"
parameters:
fieldsDay:
name: fields
in: query
description: |
A comma separated list of field names to return. The date field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are supported:
* all *(all fields)*
* allCldCvr *(derivatives of cldCvr)*
* allHum *(derivatives of relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(derivatives of mslPres, sfcPres)*
* allRad *(derivatives of radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(derivatives of dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(derivatives of windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(derivatives of cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvrMin
- cldCvrAvg
- cldCvrMax
- dewPtMin
- dewPtAvg
- dewPtMax
- feelsLikeMin
- feelsLikeAvg
- feelsLikeMax
- heatIndexMin
- heatIndexAvg
- heatIndexMax
- mslPresMin
- mslPresAvg
- mslPresMax
- precip
- precipProb
- radSolarMin
- radSolarAvg
- radSolarMax
- radSolarTot
- radSolarDirectMin
- radSolarDirectAvg
- radSolarDirectMax
- radSolarDirectTot
- radSolarDirectPMin
- radSolarDirectPAvg
- radSolarDirectPMax
- radSolarDirectPTot
- relHumMin
- relHumAvg
- relHumMax
- sfcPresMin
- sfcPresAvg
- sfcPresMax
- snowfall
- snowfallProb
- spcHumMin
- spcHumAvg
- spcHumMax
- tempMin
- tempAvg
- tempMax
- wetBulbMin
- wetBulbAvg
- wetBulbMax
- windChillMin
- windChillAvg
- windChillMax
- windDirAvg
- windDir80mAvg
- windDir100mAvg
- windSpdMin
- windSpdAvg
- windSpdMax
- windSpd80mMin
- windSpd80mAvg
- windSpd80mMax
- windSpd100mMin
- windSpd100mAvg
- windSpd100mMax
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
fieldsHour:
name: fields
in: query
description: |
A comma separated list of field names to return. The timestamp field is always returned.
**Limiting the query to needed fields will improve the query response time.**
In addition to individual field names, following convenience field groups are also supported:
* all *(all fields)*
* allCldCvr *(cldCvr)*
* allHum *(relHum, spcHum)*
* allPrecip *(precip, precipProb, snowfall, snowfallProb)*
* allPres *(mslPres, sfcPres)*
* allRad *(radSolar, radSolarDirect, radSolarDirectP)*
* allTemp *(dewPt, feelsLike, heatIndex, temp, wetBulb, windChill)*
* allWind *(windDir, windDir80m, windDir100m, windSpd, windSpd80m, windSpd100m)*
* popular *(cldCvr, feelsLike, precip, relHum, snowfall, temp, windDir, windSpd)*
required: true
style: form
explode: false
schema:
type: array
example: all
items:
type: string
enum:
- timestampInit
- cldCvr
- dewPt
- feelsLike
- heatIndex
- mslPres
- precip
- precipProb
- radSolar
- radSolarDirect
- radSolarDirectP
- relHum
- sfcPres
- snowfall
- snowfallProb
- spcHum
- temp
- wetBulb
- windChill
- windDir
- windDir80m
- windDir100m
- windSpd
- windSpd80m
- windSpd100m
- all
- allCldCvr
- allHum
- allPrecip
- allPres
- allRad
- allTemp
- allWind
- popular
latitude:
name: latitude
in: path
description: A latitude value between -90° and 90°.
required: true
schema:
maximum: 90
minimum: -90
type: number
format: float
example: 38.8552
longitude:
name: longitude
in: path
description: A longitude value between -180° (West) and 180° (East).
required: true
schema:
maximum: 180
minimum: -180
type: number
format: float
example: -77.0513
unitScale:
name: unitScale
in: query
description: The unit scale for returned values.
required: false
schema:
type: string
example: IMPERIAL
default: IMPERIAL
enum:
- IMPERIAL
- METRIC
- SI
postcode:
name: postcode
in: path
description: A postcode string.
required: true
schema:
type: string
example: "22222"
countryCode:
name: countryCode
in: path
description: "An uppercase 2-character [ISO 3166-1 Alpha-2 country code](https://developer.weathersourceapis.com/apis/countries-with-postal-code-support/)."
required: true
schema:
pattern: "^([A-Z]){2}$"
type: string
example: US
dmaId:
name: dmaId
in: path
description: "A [Designated Market Area ID](https://developer.weathersourceapis.com/apis/supported-dmas/)."
required: true
schema:
type: integer
example: 529
onpointId:
name: onpointId
in: path
description: An OnPoint™ ID.
required: true
schema:
type: integer
example: 10725864
securitySchemes:
ApiKeyAuth:
type: apiKey
description: |
API key to authorize requests. If you do not have a Weather Source API key [sign up for a free 30-day developer account](https://developer.weathersourceapis.com/account/sign-up/). You may use the evaluation API Key `C0W60UOFRML47ytbXk4xlLBfv` to access example locations found in this documentation.
name: X-API-KEY
in: header