openapi: 3.0.3 info: title: ECMWF Air Quality Forecast - A Weather Source API description: "Daily and hourly air quality forecast data from the ECMWF model for latitude/longitude points, ZIP/Postal Codes, and Designated Market Areas. Hourly forecast is up to 5 days out from current day. Daily forecast is up to 4 days out from current day. The Weather Source ECMWF Air Quality 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 Air Quality 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://ecmwfairqualityforecast.weathersourceapis.com/v2 security: - ApiKeyAuth: [] tags: - name: points description: Latitude/Longitude ECMWF Air Quality Forecast data - name: postcodes description: Postcode ECMWF Air Quality Forecast data - name: dmas description: Designated Market Area ECMWF Air Quality Forecast data - name: onpoints description: OnPoint™ point ECMWF Air Quality Forecast data paths: /points/{latitude},{longitude}/days: get: tags: - points summary: The complete daily ECMWF Air Quality Forecast for a Latitude/Longitude point. description: | Returns the complete set of daily ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - airQualityIndex - particulateMatter1Min - particulateMatter1Avg - particulateMatter1Max - particulateMatter2p5Min - particulateMatter2p5Avg - particulateMatter2p5Max - particulateMatter10Min - particulateMatter10Avg - particulateMatter10Max - carbonMonoxideMin - carbonMonoxideAvg - carbonMonoxideMax - nitrogenDioxideMin - nitrogenDioxideAvg - nitrogenDioxideMax - sulfurDioxideMin - sulfurDioxideAvg - sulfurDioxideMax - ozoneMin - ozoneAvg - ozoneMax - all - 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 Air Quality Forecast response for a Latitude/Longitude point. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastPointDayObj" default: $ref: "#/components/responses/errorResponse" /points/{latitude},{longitude}/hours: get: tags: - points summary: The complete hourly ECMWF Air Quality Forecast for a Latitude/Longitude point. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - particulateMatter1 - particulateMatter2p5 - particulateMatter10 - carbonMonoxide - nitrogenDioxide - sulfurDioxide - ozone - all - 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 Air Quality Forecast response for a Latitude/Longitude point. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastPointHourObj" default: $ref: "#/components/responses/errorResponse" /postcodes/{postcode},{countryCode}/days: get: tags: - postcodes summary: The complete daily ECMWF Air Quality Forecast for a postcode. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - airQualityIndex - particulateMatter1Min - particulateMatter1Avg - particulateMatter1Max - particulateMatter2p5Min - particulateMatter2p5Avg - particulateMatter2p5Max - particulateMatter10Min - particulateMatter10Avg - particulateMatter10Max - carbonMonoxideMin - carbonMonoxideAvg - carbonMonoxideMax - nitrogenDioxideMin - nitrogenDioxideAvg - nitrogenDioxideMax - sulfurDioxideMin - sulfurDioxideAvg - sulfurDioxideMax - ozoneMin - ozoneAvg - ozoneMax - all - 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 Air Quality Forecast response for a postcode. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastPostcodeDayObj" default: $ref: "#/components/responses/errorResponse" /postcodes/{postcode},{countryCode}/hours: get: tags: - postcodes summary: The complete hourly ECMWF Air Quality Forecast for a postcode. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - particulateMatter1 - particulateMatter2p5 - particulateMatter10 - carbonMonoxide - nitrogenDioxide - sulfurDioxide - ozone - all - 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 Air Quality Forecast response for a postcode. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastPostcodeHourObj" default: $ref: "#/components/responses/errorResponse" /dmas/{dmaId}/days: get: tags: - dmas summary: The complete daily ECMWF Air Quality Forecast for a DMA. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - airQualityIndex - particulateMatter1Min - particulateMatter1Avg - particulateMatter1Max - particulateMatter2p5Min - particulateMatter2p5Avg - particulateMatter2p5Max - particulateMatter10Min - particulateMatter10Avg - particulateMatter10Max - carbonMonoxideMin - carbonMonoxideAvg - carbonMonoxideMax - nitrogenDioxideMin - nitrogenDioxideAvg - nitrogenDioxideMax - sulfurDioxideMin - sulfurDioxideAvg - sulfurDioxideMax - ozoneMin - ozoneAvg - ozoneMax - all - 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 Air Quality Forecast response for a Designated Market Area. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastDmaDayObj" default: $ref: "#/components/responses/errorResponse" /dmas/{dmaId}/hours: get: tags: - dmas summary: The complete hourly ECMWF Air Quality Forecast for a DMA description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - particulateMatter1 - particulateMatter2p5 - particulateMatter10 - carbonMonoxide - nitrogenDioxide - sulfurDioxide - ozone - all - 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 Air Quality Forecast response for a Designated Market Area. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastDmaHourObj" default: $ref: "#/components/responses/errorResponse" /onpoints/{onpointId}/days: get: tags: - onpoints summary: The complete daily ECMWF Air Quality Forecast for an OnPoint™ point. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - airQualityIndex - particulateMatter1Min - particulateMatter1Avg - particulateMatter1Max - particulateMatter2p5Min - particulateMatter2p5Avg - particulateMatter2p5Max - particulateMatter10Min - particulateMatter10Avg - particulateMatter10Max - carbonMonoxideMin - carbonMonoxideAvg - carbonMonoxideMax - nitrogenDioxideMin - nitrogenDioxideAvg - nitrogenDioxideMax - sulfurDioxideMin - sulfurDioxideAvg - sulfurDioxideMax - ozoneMin - ozoneAvg - ozoneMax - all - 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 Air Quality Forecast response for an OnPoint™ point. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastOnpointDayObj" default: $ref: "#/components/responses/errorResponse" /onpoints/{onpointId}/hours: get: tags: - onpoints summary: The complete hourly ECMWF Air Quality Forecast for an OnPoint™ point. description: | Returns the complete set of ECMWF Air Quality 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 Air Quality 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - particulateMatter1 - particulateMatter2p5 - particulateMatter10 - carbonMonoxide - nitrogenDioxide - sulfurDioxide - ozone - all - 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 Air Quality Forecast response for an OnPoint™ point. content: application/json: schema: $ref: "#/components/schemas/ecmwfAirQualityForecastOnpointHourObj" 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" airQualityIndex: US EPA Air Quality Index particulateMatter1Min: Micrograms per cubic meter particulateMatter1Avg: Micrograms per cubic meter particulateMatter1Max: Micrograms per cubic meter particulateMatter2p5Min: Micrograms per cubic meter particulateMatter2p5Avg: Micrograms per cubic meter particulateMatter2p5Max: Micrograms per cubic meter particulateMatter10Min: Micrograms per cubic meter particulateMatter10Avg: Micrograms per cubic meter particulateMatter10Max: Micrograms per cubic meter carbonMonoxideMin: Parts per million carbonMonoxideAvg: Parts per million carbonMonoxideMax: Parts per million nitrogenDioxideMin: Parts per billion nitrogenDioxideAvg: Parts per billion nitrogenDioxideMax: Parts per billion sulfurDioxideMin: Parts per billion sulfurDioxideAvg: Parts per billion sulfurDioxideMax: Parts per billion ozoneMin: Parts per million ozoneAvg: Parts per million ozoneMax: Parts per million 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" particulateMatter1: Micrograms per cubic meter particulateMatter2p5: Micrograms per cubic meter particulateMatter10: Micrograms per cubic meter carbonMonoxide: Parts per million nitrogenDioxide: Parts per billion sulfurDioxide: Parts per billion ozone: Parts per million ecmwfAirQualityForecastDayArr: type: array description: An array of daily weather ECMWF Air Quality Forecast objects. items: $ref: "#/components/schemas/ecmwfAirQualityForecastDayObj" ecmwfAirQualityForecastDayObj: required: - date type: object properties: date: $ref: "#/components/schemas/date" timestampInit: $ref: "#/components/schemas/timestampInit" airQualityIndex: $ref: "#/components/schemas/airQualityIndex" particulateMatter1Min: $ref: "#/components/schemas/particulateMatter1Min" particulateMatter1Avg: $ref: "#/components/schemas/particulateMatter1Avg" particulateMatter1Max: $ref: "#/components/schemas/particulateMatter1Max" particulateMatter2p5Min: $ref: "#/components/schemas/particulateMatter2p5Min" particulateMatter2p5Avg: $ref: "#/components/schemas/particulateMatter2p5Avg" particulateMatter2p5Max: $ref: "#/components/schemas/particulateMatter2p5Max" particulateMatter10Min: $ref: "#/components/schemas/particulateMatter10Min" particulateMatter10Avg: $ref: "#/components/schemas/particulateMatter10Avg" particulateMatter10Max: $ref: "#/components/schemas/particulateMatter10Max" carbonMonoxideMin: $ref: "#/components/schemas/carbonMonoxideMin" carbonMonoxideAvg: $ref: "#/components/schemas/carbonMonoxideAvg" carbonMonoxideMax: $ref: "#/components/schemas/carbonMonoxideMax" nitrogenDioxideMin: $ref: "#/components/schemas/nitrogenDioxideMin" nitrogenDioxideAvg: $ref: "#/components/schemas/nitrogenDioxideAvg" nitrogenDioxideMax: $ref: "#/components/schemas/nitrogenDioxideMax" sulfurDioxideMin: $ref: "#/components/schemas/sulfurDioxideMin" sulfurDioxideAvg: $ref: "#/components/schemas/sulfurDioxideAvg" sulfurDioxideMax: $ref: "#/components/schemas/sulfurDioxideMax" ozoneMin: $ref: "#/components/schemas/ozoneMin" ozoneAvg: $ref: "#/components/schemas/ozoneAvg" ozoneMax: $ref: "#/components/schemas/ozoneMax" description: A daily weather ECMWF Air Quality Forecast object. ecmwfAirQualityForecastHourArr: type: array description: An array of hourly weather ECMWF Air Quality Forecast objects. items: $ref: "#/components/schemas/ecmwfAirQualityForecastHourObj" ecmwfAirQualityForecastHourObj: required: - timestamp type: object properties: timestamp: $ref: "#/components/schemas/timestamp" timestampInit: $ref: "#/components/schemas/timestampInit" particulateMatter1: $ref: "#/components/schemas/particulateMatter1" particulateMatter2p5: $ref: "#/components/schemas/particulateMatter2p5" particulateMatter10: $ref: "#/components/schemas/particulateMatter10" carbonMonoxide: $ref: "#/components/schemas/carbonMonoxide" nitrogenDioxide: $ref: "#/components/schemas/nitrogenDioxide" sulfurDioxide: $ref: "#/components/schemas/sulfurDioxide" ozone: $ref: "#/components/schemas/ozone" description: An hourly weather ECMWF Air Quality Forecast object. ecmwfAirQualityForecastPointDayObj: 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/ecmwfAirQualityForecastDayArr" description: Daily Latitude/Longitude ECMWF Air Quality Forecast object ecmwfAirQualityForecastPointHourObj: 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/ecmwfAirQualityForecastHourArr" description: Hourly Latitude/Longitude ECMWF Air Quality Forecast object ecmwfAirQualityForecastPostcodeDayObj: 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/ecmwfAirQualityForecastDayArr" description: Daily Postcode ECMWF Air Quality Forecast object ecmwfAirQualityForecastPostcodeHourObj: 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/ecmwfAirQualityForecastHourArr" description: Hourly Postcode ECMWF Air Quality Forecast object ecmwfAirQualityForecastDmaDayObj: 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/ecmwfAirQualityForecastDayArr" description: Daily Designated Market Area ECMWF Air Quality Forecast object ecmwfAirQualityForecastDmaHourObj: 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/ecmwfAirQualityForecastHourArr" description: Hourly Designated Market Area ECMWF Air Quality Forecast object ecmwfAirQualityForecastOnpointDayObj: 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/ecmwfAirQualityForecastDayArr" description: Daily OnPoint™ ECMWF Air Quality Forecast object ecmwfAirQualityForecastOnpointHourObj: 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/ecmwfAirQualityForecastHourArr" description: Hourly OnPoint™ ECMWF Air Quality 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 airQualityIndex: maximum: 1000 minimum: 0 type: number description: Air Quality Index as calcuated by the United States EPA. format: float example: 115 particulateMatter1: maximum: 1000 minimum: 0 type: number description: Count of particulate matter less than 1 microgram in diameter per cubic meter of air. format: float example: 100 particulateMatter1Min: maximum: 1000 minimum: 0 type: number description: Minimum count of particulate matter less than 1 microgram in diameter per cubic meter of air. format: float example: 100 particulateMatter1Avg: maximum: 1000 minimum: 0 type: number description: Average count of particulate matter less than 1 microgram in diameter per cubic meter of air. format: float example: 100 particulateMatter1Max: maximum: 1000 minimum: 0 type: number description: Maximum count of particulate matter less than 1 microgram in diameter per cubic meter of air. format: float example: 100 particulateMatter2p5: maximum: 1000 minimum: 0 type: number description: Count of particulate matter less than 2.5 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter2p5Min: maximum: 1000 minimum: 0 type: number description: Minimum count of particulate matter less than 2.5 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter2p5Avg: maximum: 1000 minimum: 0 type: number description: Average count of particulate matter less than 2.5 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter2p5Max: maximum: 1000 minimum: 0 type: number description: Maximum count of particulate matter less than 2.5 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter10: maximum: 1000 minimum: 0 type: number description: Count of particulate matter less than 10 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter10Min: maximum: 1000 minimum: 0 type: number description: Minimum count of particulate matter less than 10 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter10Avg: maximum: 1000 minimum: 0 type: number description: Average count of particulate matter less than 10 micrograms in diameter per cubic meter of air. format: float example: 100 particulateMatter10Max: maximum: 1000 minimum: 0 type: number description: Maximum count of particulate matter less than 10 micrograms in diameter per cubic meter of air. format: float example: 100 carbonMonoxide: maximum: 500 minimum: 0 type: number description: Parts per million of Carbon Monoxide in the air. This value is reported 3-hourly; Intermittent time periods will report a NULL value. format: float example: 100 carbonMonoxideMin: maximum: 500 minimum: 0 type: number description: Minimum parts per million of Carbon Monoxide in the air. format: float example: 100 carbonMonoxideAvg: maximum: 500 minimum: 0 type: number description: Average parts per million of Carbon Monoxide in the air. format: float example: 100 carbonMonoxideMax: maximum: 500 minimum: 0 type: number description: Maximum parts per million of Carbon Monoxide in the air. format: float example: 100 nitrogenDioxide: maximum: 5000 minimum: 0 type: number description: Parts per billion of Carbon Dioxide in the air. This value is reported 3-hourly; Intermittent time periods will report a NULL value. format: float example: 100 nitrogenDioxideMin: maximum: 5000 minimum: 0 type: number description: Minimum parts per billion of Carbon Dioxide in the air. format: float example: 100 nitrogenDioxideAvg: maximum: 5000 minimum: 0 type: number description: Average parts per billion of Carbon Dioxide in the air. format: float example: 100 nitrogenDioxideMax: maximum: 5000 minimum: 0 type: number description: Maximum parts per billion of Carbon Dioxide in the air. format: float example: 100 sulfurDioxide: maximum: 5000 minimum: 0 type: number description: Parts per billion of Sulfur Dioxide in the air. This value is reported 3-hourly; Intermittent time periods will report a NULL value. format: float example: 100 sulfurDioxideMin: maximum: 5000 minimum: 0 type: number description: Minimum parts per billion of Sulfur Dioxide in the air. format: float example: 100 sulfurDioxideAvg: maximum: 5000 minimum: 0 type: number description: Average parts per billion of Sulfur Dioxide in the air. format: float example: 100 sulfurDioxideMax: maximum: 5000 minimum: 0 type: number description: Maximum parts per billion of Sulfur Dioxide in the air. format: float example: 100 ozone: maximum: 15 minimum: 0 type: number description: Parts per million of Ozone in the air. This value is reported 3-hourly; Intermittent time periods will report a NULL value. format: float example: 10 ozoneMin: maximum: 15 minimum: 0 type: number description: Minimum parts per million of Ozone in the air. format: float example: 10 ozoneAvg: maximum: 15 minimum: 0 type: number description: Aaverage parts per million of Ozone in the air. format: float example: 10 ozoneMax: maximum: 15 minimum: 0 type: number description: Maximum parts per million of Ozone in the air. format: float example: 10 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - airQualityIndex - particulateMatter1Min - particulateMatter1Avg - particulateMatter1Max - particulateMatter2p5Min - particulateMatter2p5Avg - particulateMatter2p5Max - particulateMatter10Min - particulateMatter10Avg - particulateMatter10Max - carbonMonoxideMin - carbonMonoxideAvg - carbonMonoxideMax - nitrogenDioxideMin - nitrogenDioxideAvg - nitrogenDioxideMax - sulfurDioxideMin - sulfurDioxideAvg - sulfurDioxideMax - ozoneMin - ozoneAvg - ozoneMax - all 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)* required: true style: form explode: false schema: type: array example: all items: type: string enum: - timestampInit - particulateMatter1 - particulateMatter2p5 - particulateMatter10 - carbonMonoxide - nitrogenDioxide - sulfurDioxide - ozone - all 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