Weatherbit - Interactive Swagger UI Documentation icon

Weatherbit - Interactive Swagger UI Documentation

This an interactive version of the documentation for the Weatherbit API

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https",
    "http"
  ],
  "host": "api.weatherbit.io",
  "basePath": "/v2.0",
  "info": {
    "contact": {
      "x-twitter": "weatherbitio"
    },
    "description": "This an interactive version of the documentation for the Weatherbit API.  The base URL for the API is [http://api.weatherbit.io/v2.0/](http://api.weatherbit.io/v2.0/) or [https://api.weatherbit.io/v2.0/](http://api.weatherbit.io/v2.0/). Below is the Swagger UI documentation for the API. All API requests require the `key` parameter.        An Example for a 48 hour forecast for London, UK would be `http://api.weatherbit.io/v2.0/forecast/hourly?lat=51.5072`&`lon=-0.1276`. See our [Weather API description page](https://www.weatherbit.io/api) for the full documentation.",
    "title": "Weatherbit - Interactive Swagger UI Documentation",
    "version": "2.0.0",
    "x-apisguru-categories": [
      "location"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_weatherbitio_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://www.weatherbit.io/static/swagger.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "weatherbit.io"
  },
  "produces": [
    "application/json"
  ],
  "paths": {
    "/alerts?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns severe weather alerts issued by meteorological agencies - given a lat, and a lon.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Weather Alert Object.",
            "schema": {
              "$ref": "#/definitions/WeatherAlert"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns severe weather alerts issued by meteorological agencies - Given a lat/lon.",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/bulk/files/{file}": {
      "get": {
        "description": "Downloads bulk data files - OPTIONS: ( current.csv.gz, forecast_hourly.csv.gz, forecast_daily.csv.gz). Units are Metric (Celcius, m/s, etc).",
        "parameters": [
          {
            "description": "Filename (ie. current.csv.gz)",
            "format": "string",
            "in": "path",
            "name": "file",
            "required": true,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Download pre-generated bulk datasets",
        "tags": [
          "Bulk Downloads"
        ]
      }
    },
    "/current/airquality?city={city}&country={country}": {
      "get": {
        "description": "Returns current air quality conditions.",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Current air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns current air quality conditions - Given City and/or State, Country.",
        "tags": [
          "Current Air Quality"
        ]
      }
    },
    "/current/airquality?city_id={city_id}": {
      "get": {
        "description": "Returns current air quality conditions.",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "integer",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Current air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns current air quality conditions - Given a City ID.",
        "tags": [
          "Current Air Quality"
        ]
      }
    },
    "/current/airquality?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns current air quality conditions.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Current air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns current air quality conditions - Given a lat/lon.",
        "tags": [
          "Current Air Quality"
        ]
      }
    },
    "/current/airquality?postal_code={postal_code}": {
      "get": {
        "description": "Returns current air quality conditions.",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "integer",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Current air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns current air quality conditions - Given a Postal Code.",
        "tags": [
          "Current Air Quality"
        ]
      }
    },
    "/current?cities={cities}": {
      "get": {
        "description": "Returns a group of Current Observations - Given a list of City IDs. ",
        "parameters": [
          {
            "description": "Comma separated list of City ID's. Example: 4487042, 4494942, 4504871",
            "format": "string",
            "in": "path",
            "name": "cities",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Marine stations only (buoys, oil platforms, etc)",
            "enum": [
              "t"
            ],
            "format": "string",
            "in": "query",
            "name": "marine",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a group of observations given a list of cities",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?city={city}&country={country}": {
      "get": {
        "description": "Returns a Current Observation - Given a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate.",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Include 1 hour - minutely forecast in the response",
            "enum": [
              "minutely"
            ],
            "format": "string",
            "in": "query",
            "name": "include",
            "required": false,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Marine stations only (buoys, oil platforms, etc)",
            "enum": [
              "t"
            ],
            "format": "string",
            "in": "query",
            "name": "marine",
            "required": false,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a Current Observation - Given City and/or State, Country.",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?city_id={city_id}": {
      "get": {
        "description": "Returns current weather observation - Given a City ID. ",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "string",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include 1 hour - minutely forecast in the response",
            "enum": [
              "minutely"
            ],
            "format": "string",
            "in": "query",
            "name": "include",
            "required": false,
            "type": "string"
          },
          {
            "description": "Marine stations only (buoys, oil platforms, etc)",
            "enum": [
              "t"
            ],
            "format": "string",
            "in": "query",
            "name": "marine",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a current observation by city id.",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns a Current Observation - given a lat, and a lon.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Include 1 hour - minutely forecast in the response",
            "enum": [
              "minutely"
            ],
            "format": "string",
            "in": "query",
            "name": "include",
            "required": false,
            "type": "string"
          },
          {
            "description": "Marine stations only (buoys, oil platforms, etc)",
            "enum": [
              "t"
            ],
            "format": "string",
            "in": "query",
            "name": "marine",
            "required": false,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a Current Observation - Given a lat/lon.",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?points={points}": {
      "get": {
        "description": "Returns a group of Current Observations - Given a list of points (lat1, lon1), (lat2, lon2), (latN, lonN), ...",
        "parameters": [
          {
            "description": "Comma separated list of points. Example: (35.5, -75.5),(45, 65),(45.12, -130.5)",
            "format": "string",
            "in": "path",
            "name": "points",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a group of observations given a list of points in the format (lat1, lon1), (lat2, lon2), (latN, lonN), ...",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?postal_code={postal_code}": {
      "get": {
        "description": "Returns current weather observation - Given a Postal Code. ",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "string",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include 1 hour - minutely forecast in the response",
            "enum": [
              "minutely"
            ],
            "format": "string",
            "in": "query",
            "name": "include",
            "required": false,
            "type": "string"
          },
          {
            "description": "Marine stations only (buoys, oil platforms, etc)",
            "enum": [
              "t"
            ],
            "format": "string",
            "in": "query",
            "name": "marine",
            "required": false,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback - Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a current observation by postal code.",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?station={station}": {
      "get": {
        "description": "Returns a Current Observation - Given a station ID.",
        "parameters": [
          {
            "description": "Station Call ID.",
            "format": "string",
            "in": "path",
            "name": "station",
            "required": true,
            "type": "string"
          },
          {
            "description": "Include 1 hour - minutely forecast in the response",
            "enum": [
              "minutely"
            ],
            "format": "string",
            "in": "query",
            "name": "include",
            "required": false,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a Current Observation. - Given a station ID.",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/current?stations={stations}": {
      "get": {
        "description": "Returns a group of Current Observations - Given a list of Station Call IDs. ",
        "parameters": [
          {
            "description": "Comma separated list of Station Call ID's. Example: KRDU,KBFI,KVNY",
            "format": "string",
            "in": "path",
            "name": "stations",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Observation Group object.",
            "schema": {
              "$ref": "#/definitions/CurrentObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a group of observations given a list of stations",
        "tags": [
          "Current Weather Data"
        ]
      }
    },
    "/forecast/airquality?city={city}&country={country}": {
      "get": {
        "description": "Returns 72 hour (hourly) Air Quality forecast, where each point represents a one hour period.",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/AQHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hour (hourly) Air Quality forecast - Given City and/or State, Country.",
        "tags": [
          "Air Quality Forecast"
        ]
      }
    },
    "/forecast/airquality?city_id={city_id}": {
      "get": {
        "description": "Returns 72 hour (hourly) Air Quality forecast, where each point represents a one hour period.",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "integer",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/AQHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hour (hourly) Air Quality forecast - Given a City ID.",
        "tags": [
          "Air Quality Forecast"
        ]
      }
    },
    "/forecast/airquality?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns 72 hour (hourly) Air Quality forecast, where each point represents a one hour period.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/AQHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hour (hourly) Air Quality forecast - Given a lat/lon.",
        "tags": [
          "Air Quality Forecast"
        ]
      }
    },
    "/forecast/airquality?postal_code={postal_code}": {
      "get": {
        "description": "Returns 72 hour (hourly) Air Quality forecast, where each point represents a one hour period.",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "integer",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/AQHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hour (hourly) Air Quality forecast - Given a Postal Code.",
        "tags": [
          "Air Quality Forecast"
        ]
      }
    },
    "/forecast/daily?city={city}&country={country}": {
      "get": {
        "description": "Returns a daily forecast, where each point represents one day (24hr) period. Every point has a datetime string in the format \"YYYY-MM-DD\". One day begins at 00:00 UTC, and ends at 23:59 UTC. Accepts a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate.\n",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Number of days to return. Default 16.",
            "format": "integer",
            "in": "query",
            "name": "days",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a daily forecast - Given City and/or State, Country.",
        "tags": [
          "16 day / daily Forecast"
        ]
      }
    },
    "/forecast/daily?city_id={city_id}": {
      "get": {
        "description": "Returns a daily forecast, where each point represents one day (24hr) period. Every point has a datetime string in the format \"YYYY-MM-DD\". One day begins at 00:00 UTC, and ends at 23:59 UTC.\n",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "integer",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Number of days to return. Default 16.",
            "format": "integer",
            "in": "query",
            "name": "days",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a daily forecast - Given a City ID.",
        "tags": [
          "16 day / daily Forecast"
        ]
      }
    },
    "/forecast/daily?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns a daily forecast, where each point represents one day (24hr) period. Every point has a datetime string in the format \"YYYY-MM-DD\". One day begins at 00:00 UTC, and ends at 23:59 UTC. \n",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Number of days to return. Default 16.",
            "format": "integer",
            "in": "query",
            "name": "days",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a daily forecast - Given Lat/Lon.",
        "tags": [
          "16 day / daily Forecast"
        ]
      }
    },
    "/forecast/daily?postal_code={postal_code}": {
      "get": {
        "description": "Returns a daily forecast, where each point represents one day (24hr) period. Every point has a datetime string in the format \"YYYY-MM-DD\". One day begins at 00:00 UTC, and ends at 23:59 UTC.\n",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "integer",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of days to return. Default 16.",
            "format": "integer",
            "in": "query",
            "name": "days",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns a daily forecast - Given a Postal Code.",
        "tags": [
          "16 day / daily Forecast"
        ]
      }
    },
    "/forecast/energy?lat={lat}&lon={lon}": {
      "get": {
        "description": "Retrieve an 8 day forecast relevant to te Energy Sector (degree days, solar radiation, precipitation, wind).",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Temperature threshold to use to calculate degree days (default 18 C) ",
            "format": "double",
            "in": "query",
            "name": "threshold",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Time period (default: daily)",
            "enum": [
              "hourly",
              "daily"
            ],
            "format": "string",
            "in": "query",
            "name": "tp",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Energy Data Object.",
            "schema": {
              "$ref": "#/definitions/EnergyObsGroupForecast"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Energy Forecast API response  - Given a single lat/lon. ",
        "tags": [
          "Forecast Degree Day API"
        ]
      }
    },
    "/forecast/hourly?city={city}&country={country}": {
      "get": {
        "description": " Returns an hourly forecast, where each point represents a one hour   period. Every point has a datetime string in the format \"YYYY-MM-DD:HH\". Time is UTC. Accepts a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate.\n",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns an hourly forecast - Given City and/or State, Country.",
        "tags": [
          "240 hour / hourly Forecast"
        ]
      }
    },
    "/forecast/hourly?city_id={city_id}": {
      "get": {
        "description": " Returns an hourly forecast, where each point represents a one hour   period. Every point has a datetime string in the format \"YYYY-MM-DD:HH\". Time is UTC. \n",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "integer",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns an hourly forecast - Given a City ID.",
        "tags": [
          "240 hour / hourly Forecast"
        ]
      }
    },
    "/forecast/hourly?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns an hourly forecast, where each point represents a one hour period. Every point has a datetime string in the format \"YYYY-MM-DD:HH\". Time is UTC. \n",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns an hourly forecast - Given a lat/lon.",
        "tags": [
          "240 hour / hourly Forecast"
        ]
      }
    },
    "/forecast/hourly?postal_code={postal_code}": {
      "get": {
        "description": " Returns an hourly forecast, where each point represents a one hour   period. Every point has a datetime string in the format \"YYYY-MM-DD:HH\". Time is UTC. \n",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "integer",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of hours to return.",
            "format": "integer",
            "in": "query",
            "name": "hours",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A forecast object.",
            "schema": {
              "$ref": "#/definitions/ForecastHourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns an hourly forecast - Given a Postal Code.",
        "tags": [
          "240 hour / hourly Forecast"
        ]
      }
    },
    "/history/airquality?city={city}&country={country}": {
      "get": {
        "description": "Returns historical air quality conditions.",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Historical air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hours of historical quality conditions - Given City and/or State, Country.",
        "tags": [
          "Historical Air Quality"
        ]
      }
    },
    "/history/airquality?city_id={city_id}": {
      "get": {
        "description": "Returns historical air quality conditions.",
        "parameters": [
          {
            "description": "City ID.",
            "format": "double",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "number"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Historical air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hours of historical air quality conditions - Given a City ID.",
        "tags": [
          "Historical Air Quality"
        ]
      }
    },
    "/history/airquality?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns historical air quality conditions.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Historical air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hours of historical air quality conditions - Given a lat/lon.",
        "tags": [
          "Historical Air Quality"
        ]
      }
    },
    "/history/airquality?postal_code={postal_code}": {
      "get": {
        "description": "Returns historical air quality conditions.",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "integer",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example - callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Historical air quality conditions",
            "schema": {
              "$ref": "#/definitions/AQCurrentGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns 72 hours of historical air quality conditions - Given a Postal Code.",
        "tags": [
          "Historical Air Quality"
        ]
      }
    },
    "/history/daily?city={city}&country={country}": {
      "get": {
        "description": "Returns Historical Observations - Given a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate. **(LIMIT 1 year per request)**",
        "parameters": [
          {
            "description": "City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Day Data Object.",
            "schema": {
              "$ref": "#/definitions/HistoryDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given City and/or State, Country.",
        "tags": [
          "Daily Historical Weather Data"
        ]
      }
    },
    "/history/daily?city_id={city_id}": {
      "get": {
        "description": "Returns Historical Observations - Given a City ID. **(LIMIT 1 year per request)**",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "string",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Day Data Object.",
            "schema": {
              "$ref": "#/definitions/HistoryDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a City ID",
        "tags": [
          "Daily Historical Weather Data"
        ]
      }
    },
    "/history/daily?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns Historical Observations - Given a lat, and lon. **(LIMIT 1 year per request)**",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Day Data Object.",
            "schema": {
              "$ref": "#/definitions/HistoryDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a lat/lon.",
        "tags": [
          "Daily Historical Weather Data"
        ]
      }
    },
    "/history/daily?postal_code={postal_code}": {
      "get": {
        "description": "Returns Historical Observations - Given a Postal Code. **(LIMIT 1 year per request)**",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "string",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Day Data Object.",
            "schema": {
              "$ref": "#/definitions/HistoryDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a Postal Code",
        "tags": [
          "Daily Historical Weather Data"
        ]
      }
    },
    "/history/daily?station={station}": {
      "get": {
        "description": "Returns Historical Observations - Given a station ID. **(LIMIT 1 year per request)**",
        "parameters": [
          {
            "description": "Station ID.",
            "format": "string",
            "in": "path",
            "name": "station",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Day Data Object.",
            "schema": {
              "$ref": "#/definitions/HistoryDay"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a station ID.",
        "tags": [
          "Daily Historical Weather Data"
        ]
      }
    },
    "/history/energy?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns aggregate energy specific historical weather fields, over a specified time period.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Time period to aggregate by (daily, monthly)",
            "enum": [
              "hourly",
              "daily",
              "monthly"
            ],
            "format": "string",
            "in": "query",
            "name": "tp",
            "required": false,
            "type": "string"
          },
          {
            "description": "Temperature threshold to use to calculate degree days (default 18 C) ",
            "format": "double",
            "in": "query",
            "name": "threshold",
            "required": false,
            "type": "number"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Energy Data Object.",
            "schema": {
              "$ref": "#/definitions/EnergyObsGroup"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Energy API response  - Given a single lat/lon. ",
        "tags": [
          "Historical Degree Day API"
        ]
      }
    },
    "/history/hourly?city={city}&country={country}": {
      "get": {
        "description": "Returns Historical Observations - Given a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate. **(LIMIT 31 days per request)**",
        "parameters": [
          {
            "description": "City search. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given City and/or State, Country.",
        "tags": [
          "Hourly Historical Weather Data"
        ]
      }
    },
    "/history/hourly?city_id={city_id}": {
      "get": {
        "description": "Returns Historical Observations - Given a City ID. **(LIMIT 31 days per request)**",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "string",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a City ID",
        "tags": [
          "Hourly Historical Weather Data"
        ]
      }
    },
    "/history/hourly?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns Historical Observations - Given a lat, and lon. **(LIMIT 31 days per request)**",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a lat/lon.",
        "tags": [
          "Hourly Historical Weather Data"
        ]
      }
    },
    "/history/hourly?postal_code={postal_code}": {
      "get": {
        "description": "Returns Historical Observations - Given a Postal Code. **(LIMIT 31 days per request)**",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "string",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a Postal Code",
        "tags": [
          "Hourly Historical Weather Data"
        ]
      }
    },
    "/history/hourly?station={station}": {
      "get": {
        "description": "Returns Historical Observations - Given a station ID. **(LIMIT 31 days per request)**",
        "parameters": [
          {
            "description": "Station ID.",
            "format": "string",
            "in": "path",
            "name": "station",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a station ID.",
        "tags": [
          "Hourly Historical Weather Data"
        ]
      }
    },
    "/history/subhourly?city={city}&country={country}": {
      "get": {
        "description": "Returns Historical Observations - Given a city in the format of City,ST or City. The state, and country parameters can be provided to make the search more accurate.",
        "parameters": [
          {
            "description": "City search. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR",
            "format": "string",
            "in": "path",
            "name": "city",
            "required": true,
            "type": "string"
          },
          {
            "description": "Full name of state.",
            "format": "string",
            "in": "query",
            "name": "state",
            "required": false,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "path",
            "name": "country",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/History"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given City and/or State, Country.",
        "tags": [
          "Sub-Hourly Historical Weather Data"
        ]
      }
    },
    "/history/subhourly?city_id={city_id}": {
      "get": {
        "description": "Returns Historical Observations - Given a City ID.",
        "parameters": [
          {
            "description": "City ID. Example: 4487042",
            "format": "string",
            "in": "path",
            "name": "city_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/HistorySubhourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a City ID",
        "tags": [
          "Sub-Hourly Historical Weather Data"
        ]
      }
    },
    "/history/subhourly?lat={lat}&lon={lon}": {
      "get": {
        "description": "Returns Historical Observations - Given a lat, and lon.",
        "parameters": [
          {
            "description": "Latitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lat",
            "required": true,
            "type": "number"
          },
          {
            "description": "Longitude component of location.",
            "format": "double",
            "in": "path",
            "name": "lon",
            "required": true,
            "type": "number"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/HistorySubhourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a lat/lon.",
        "tags": [
          "Sub-Hourly Historical Weather Data"
        ]
      }
    },
    "/history/subhourly?postal_code={postal_code}": {
      "get": {
        "description": "Returns Historical Observations - Given a Postal Code.",
        "parameters": [
          {
            "description": "Postal Code. Example: 28546",
            "format": "string",
            "in": "path",
            "name": "postal_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Country Code (2 letter).",
            "format": "string",
            "in": "query",
            "name": "country",
            "required": false,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH)",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/HistorySubhourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a Postal Code",
        "tags": [
          "Sub-Hourly Historical Weather Data"
        ]
      }
    },
    "/history/subhourly?station={station}": {
      "get": {
        "description": "Returns Historical Observations - Given a station ID.",
        "parameters": [
          {
            "description": "Station ID.",
            "format": "string",
            "in": "path",
            "name": "station",
            "required": true,
            "type": "string"
          },
          {
            "description": "Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "start_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "End Date (YYYY-MM-DD or YYYY-MM-DD:HH).",
            "format": "string",
            "in": "query",
            "name": "end_date",
            "required": true,
            "type": "string"
          },
          {
            "description": "Convert to units. Default Metric See <a target='blank' href='/api/requests'>units field description</a>",
            "enum": [
              "S",
              "I"
            ],
            "format": "string",
            "in": "query",
            "name": "units",
            "required": false,
            "type": "string"
          },
          {
            "description": "Language (Default: English) See <a target='blank' href='/api/requests'>language field description</a>",
            "enum": [
              "ar",
              "az",
              "be",
              "bg",
              "bs",
              "ca",
              "cs",
              "de",
              "fi",
              "fr",
              "el",
              "es",
              "et",
              "hr",
              "hu",
              "id",
              "it",
              "is",
              "kw",
              "nb",
              "nl",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "tr",
              "uk",
              "zh",
              "zh-tw"
            ],
            "format": "string",
            "in": "query",
            "name": "lang",
            "required": false,
            "type": "string"
          },
          {
            "description": "Assume utc (default) or local time for start_date, end_date",
            "enum": [
              "local",
              "utc"
            ],
            "format": "string",
            "in": "query",
            "name": "tz",
            "required": false,
            "type": "string"
          },
          {
            "description": "Wraps return in jsonp callback. Example: callback=func",
            "format": "string",
            "in": "query",
            "name": "callback",
            "required": false,
            "type": "string"
          },
          {
            "description": "Your registered API key.",
            "format": "string",
            "in": "query",
            "name": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An Historical Data Object.",
            "schema": {
              "$ref": "#/definitions/HistorySubhourly"
            }
          },
          "default": {
            "description": "No Data.",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        },
        "summary": "Returns Historical Observations - Given a station ID.",
        "tags": [
          "Sub-Hourly Historical Weather Data"
        ]
      }
    }
  },
  "definitions": {
    "AQCurrent": {
      "properties": {
        "aqi": {
          "description": "Cloud cover as a percentage (%)",
          "example": 100,
          "type": "integer"
        },
        "no2": {
          "description": "Concentration of NO2 (µg/m³)",
          "example": 25,
          "type": "number"
        },
        "o3": {
          "description": "Concentration of O3 (µg/m³)",
          "example": 2,
          "type": "number"
        },
        "pm10": {
          "description": "Concentration of PM 10 (µg/m³)",
          "example": 150,
          "type": "number"
        },
        "pm25": {
          "description": "Concentration of PM 2.5 (µg/m³)",
          "example": 230,
          "type": "number"
        },
        "so2": {
          "description": "Concentration of SO2 (µg/m³)",
          "example": 50,
          "type": "number"
        }
      },
      "type": "object"
    },
    "AQCurrentGroup": {
      "properties": {
        "city_name": {
          "description": "City Name",
          "example": "Raleigh",
          "type": "string"
        },
        "country_code": {
          "description": "Country Abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/AQCurrent"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.25",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.00",
          "type": "string"
        },
        "state_code": {
          "description": "State Abbreviation",
          "example": "NC",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AQHour": {
      "properties": {
        "aqi": {
          "description": "Cloud cover as a percentage (%)",
          "example": 100,
          "type": "integer"
        },
        "no2": {
          "description": "Concentration of NO2 (µg/m³)",
          "example": 25,
          "type": "number"
        },
        "o3": {
          "description": "Concentration of O3 (µg/m³)",
          "example": 2,
          "type": "number"
        },
        "pm10": {
          "description": "Concentration of PM 10 (µg/m³)",
          "example": 150,
          "type": "number"
        },
        "pm25": {
          "description": "Concentration of PM 2.5 (µg/m³)",
          "example": 230,
          "type": "number"
        },
        "so2": {
          "description": "Concentration of SO2 (µg/m³)",
          "example": 50,
          "type": "number"
        },
        "timestamp_local": {
          "description": "Timestamp in local time",
          "example": "2019-03-04T12:00:00",
          "type": "string"
        },
        "timestamp_utc": {
          "description": "Timestamp UTC",
          "example": "2019-03-04T17:00:00",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": "1551718800",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AQHourly": {
      "properties": {
        "city_name": {
          "description": "City Name",
          "example": "Raleigh",
          "type": "string"
        },
        "country_code": {
          "description": "Country Abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/AQHour"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.25",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.00",
          "type": "string"
        },
        "state_code": {
          "description": "State Abbreviation",
          "example": "NC",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AlertRegionGroup": {
      "description": "List of impacted regions",
      "example": "St Louis, MO",
      "type": "string"
    },
    "CurrentObs": {
      "properties": {
        "app_temp": {
          "description": "Apparent temperature - Default (C)",
          "example": 14.85,
          "type": "number"
        },
        "aqi": {
          "description": "Air quality index (US EPA standard 0 to +500)",
          "example": 50,
          "type": "number"
        },
        "city_name": {
          "description": "City name (closest)",
          "example": "Raleigh",
          "type": "string"
        },
        "clouds": {
          "description": "Cloud cover (%)",
          "example": 42,
          "type": "integer"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "datetime": {
          "description": "Cycle Hour (UTC) of observation",
          "example": "2017-03-15:13",
          "type": "string"
        },
        "dewpt": {
          "description": "Dew point temperature - default (C)",
          "example": 12,
          "type": "number"
        },
        "dhi": {
          "description": "Diffuse horizontal irradiance (W/m^2)",
          "example": 450.4,
          "type": "number"
        },
        "dni": {
          "description": "Direct normal irradiance (W/m^2)",
          "example": 450.4,
          "type": "number"
        },
        "elev_angle": {
          "description": "Current solar elevation angle (Degrees)",
          "example": 37,
          "type": "number"
        },
        "ghi": {
          "description": "Global horizontal irradiance (W/m^2)",
          "example": 450.4,
          "type": "number"
        },
        "gust": {
          "description": "Wind gust speed - Default (m/s)",
          "example": 9,
          "type": "number"
        },
        "hour_angle": {
          "description": "Current solar hour angle (Degrees)",
          "example": 45,
          "type": "number"
        },
        "lat": {
          "description": "Latitude",
          "example": 38,
          "type": "number"
        },
        "lon": {
          "description": "Longitude",
          "example": -78.25,
          "type": "number"
        },
        "ob_time": {
          "description": "Full time (UTC) of observation (YYYY-MM-DD HH:MM)",
          "example": "2017-03-15 13:11",
          "type": "string"
        },
        "pod": {
          "description": "Part of the day (d = day, n = night)",
          "type": "string"
        },
        "precip": {
          "description": "Precipitation in last hour - Default (mm)",
          "example": 2,
          "type": "number"
        },
        "pres": {
          "description": "Pressure (mb)",
          "example": 1010,
          "type": "number"
        },
        "rh": {
          "description": "Relative humidity (%)",
          "example": 75,
          "type": "integer"
        },
        "slp": {
          "description": "Mean sea level pressure in millibars (mb)",
          "example": 1013.12,
          "type": "number"
        },
        "snow": {
          "description": "Snowfall in last hour - Default (mm)",
          "example": 10,
          "type": "number"
        },
        "solar_rad": {
          "description": "Estimated solar radiation (W/m^2)",
          "example": 300.4,
          "type": "number"
        },
        "sources": {
          "description": "List of data sources used in response",
          "items": {
            "example": "rtma",
            "type": "string"
          },
          "type": "array"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "NC",
          "type": "string"
        },
        "station": {
          "description": "Source Station ID",
          "example": "KRDU",
          "type": "string"
        },
        "sunrise": {
          "description": "Time (UTC) of Sunrise (HH:MM)",
          "example": "06:22",
          "type": "string"
        },
        "sunset": {
          "description": "Time (UTC) of Sunset (HH:MM)",
          "example": "19:34",
          "type": "string"
        },
        "temp": {
          "description": "Temperature - Default (C)",
          "example": 13.85,
          "type": "number"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": 1490990400,
          "type": "number"
        },
        "uv": {
          "description": "UV Index",
          "example": 6.5,
          "type": "number"
        },
        "vis": {
          "description": "Visibility - default (M)",
          "example": 10000,
          "type": "integer"
        },
        "weather": {
          "properties": {
            "code": {
              "description": "Weather Condition code",
              "example": "802",
              "type": "string"
            },
            "description": {
              "description": "Weather Condition description",
              "example": "Broken clouds",
              "type": "string"
            },
            "icon": {
              "description": "Icon code for forecast image display",
              "example": "c02",
              "type": "string"
            }
          },
          "type": "object"
        },
        "wind_cdir": {
          "description": "Cardinal wind direction",
          "example": "ENE",
          "type": "string"
        },
        "wind_cdir_full": {
          "description": "Cardinal wind direction (text)",
          "example": "East-North-East",
          "type": "string"
        },
        "wind_dir": {
          "description": "Wind direction (degrees)",
          "example": 125,
          "type": "integer"
        },
        "wind_speed": {
          "description": "Wind speed - Default (m/s)",
          "example": 5.85,
          "type": "number"
        }
      },
      "type": "object"
    },
    "CurrentObsGroup": {
      "properties": {
        "count": {
          "description": "Count of found observations",
          "example": "1",
          "type": "integer"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/CurrentObs"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EnergyObs": {
      "properties": {
        "cdd": {
          "description": "Cooling degree days",
          "example": 10,
          "type": "number"
        },
        "city_name": {
          "description": "City name (closest)",
          "example": "Raleigh",
          "type": "string"
        },
        "clouds": {
          "description": "Average cloud cover (%)",
          "example": 42,
          "type": "integer"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "dewpt": {
          "description": "Average dew point temperature - Default (C)",
          "example": 12,
          "type": "number"
        },
        "hdd": {
          "description": "Heating degree days",
          "example": 120,
          "type": "number"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.00",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.25",
          "type": "string"
        },
        "precip": {
          "description": "Total precipitation in period - Default (mm)",
          "example": 2,
          "type": "number"
        },
        "rh": {
          "description": "Average Relative humidity (%)",
          "example": 75,
          "type": "integer"
        },
        "snow": {
          "description": "Total snowfall in period - Default (mm)",
          "example": 10,
          "type": "number"
        },
        "sources": {
          "description": "List of data sources used in response",
          "items": {
            "example": "12345-89083",
            "type": "string"
          },
          "type": "array"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "NC",
          "type": "string"
        },
        "station_id": {
          "description": "Nearest Station ID [DEPRECATED]",
          "example": "12345-999999",
          "type": "string"
        },
        "sun_hours": {
          "description": "Average number of daily sun hours - # hours where Solar GHI > 1000 W/m^2",
          "example": 4.5,
          "type": "number"
        },
        "t_dhi": {
          "description": "Total diffuse horizontal solar irradiance (W/m^2)",
          "example": 450,
          "type": "number"
        },
        "t_dni": {
          "description": "Total direct normal solar irradiance (W/m^2)",
          "example": 1200,
          "type": "number"
        },
        "t_ghi": {
          "description": "Total global horizontal solar irradiance (W/m^2)",
          "example": 3000,
          "type": "number"
        },
        "temp": {
          "description": "Average temperature - Default (C)",
          "example": 13.85,
          "type": "number"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        },
        "wind_dir": {
          "description": "Average wind direction (Degrees)",
          "example": 125,
          "type": "integer"
        },
        "wind_spd": {
          "description": "Average wind speed - Default (m/s)",
          "example": 5.85,
          "type": "number"
        }
      },
      "type": "object"
    },
    "EnergyObsGroup": {
      "properties": {
        "count": {
          "description": "Count of found observations",
          "example": "1",
          "type": "integer"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/EnergyObs"
          },
          "type": "array"
        },
        "end_date": {
          "description": "End Date",
          "example": "2017-01-30",
          "type": "integer"
        },
        "start_date": {
          "description": "Start Date",
          "example": "2017-01-01",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "EnergyObsGroupForecast": {
      "properties": {
        "city_name": {
          "description": "City name (closest)",
          "example": "Raleigh",
          "type": "string"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/EnergyObsSeries"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.00",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.25",
          "type": "string"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "NC",
          "type": "string"
        },
        "threshold_units": {
          "description": "Degree day threshold units",
          "example": "C",
          "type": "string"
        },
        "threshold_value": {
          "description": "Degree day threshold",
          "example": "18",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EnergyObsSeries": {
      "properties": {
        "cdd": {
          "description": "Cooling degree days",
          "example": 10,
          "type": "number"
        },
        "clouds": {
          "description": "Average cloud cover (%)",
          "example": 42,
          "type": "integer"
        },
        "date": {
          "description": "Date",
          "example": "2018-06-01",
          "type": "string"
        },
        "dewpt": {
          "description": "Average dew point temperature - Default (C)",
          "example": 12,
          "type": "number"
        },
        "hdd": {
          "description": "Heating degree days",
          "example": 120,
          "type": "number"
        },
        "precip": {
          "description": "Total precipitation in period - Default (mm)",
          "example": 2,
          "type": "number"
        },
        "rh": {
          "description": "Average Relative humidity (%)",
          "example": 75,
          "type": "integer"
        },
        "snow": {
          "description": "Total snowfall in period - Default (mm)",
          "example": 10,
          "type": "number"
        },
        "sun_hours": {
          "description": "Average number of daily sun hours - # hours where Solar GHI > 1000 W/m^2",
          "example": 4.5,
          "type": "number"
        },
        "t_dhi": {
          "description": "Total diffuse horizontal solar irradiance (W/m^2)",
          "example": 450,
          "type": "number"
        },
        "t_dni": {
          "description": "Total direct normal solar irradiance (W/m^2)",
          "example": 1200,
          "type": "number"
        },
        "t_ghi": {
          "description": "Total global horizontal solar irradiance (W/m^2)",
          "example": 3000,
          "type": "number"
        },
        "temp": {
          "description": "Average temperature - Default (C)",
          "example": 13.85,
          "type": "number"
        },
        "wind_dir": {
          "description": "Average wind direction (Degrees)",
          "example": 125,
          "type": "integer"
        },
        "wind_spd": {
          "description": "Average wind speed - Default (m/s)",
          "example": 5.85,
          "type": "number"
        }
      },
      "type": "object"
    },
    "Error": {
      "properties": {
        "code": {
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Forecast": {
      "properties": {
        "app_max_temp": {
          "description": "Apparent Maximum daily Temperature - default (C)",
          "example": 4,
          "type": "number"
        },
        "app_min_temp": {
          "description": "Apparent Minimum daily Temperature - default (C)",
          "example": -2,
          "type": "number"
        },
        "clouds": {
          "description": "Cloud cover as a percentage (%)",
          "example": 100,
          "type": "integer"
        },
        "datetime": {
          "description": "Date in format \"YYYY-MM-DD:HH\". All datetime is in (UTC)",
          "example": "2019-03-04:17",
          "type": "string"
        },
        "dewpt": {
          "description": "Dewpoint (Average) - default (C)",
          "example": 1,
          "type": "number"
        },
        "max_dhi": {
          "description": "[Deprecated] Max direct component of solar insolation (W/m^2)",
          "example": "655",
          "type": "number"
        },
        "max_temp": {
          "description": "Maximum daily Temperature - default (C)",
          "example": 1.5,
          "type": "number"
        },
        "min_temp": {
          "description": "Minimum daily Temperature - default (C)",
          "example": -1.23,
          "type": "number"
        },
        "moon_phase": {
          "description": "Moon phase",
          "example": 0.87,
          "type": "number"
        },
        "moonrise_ts": {
          "description": "Moonrise unix timestamp",
          "example": 1530331260,
          "type": "integer"
        },
        "moonset_ts": {
          "description": "Moonset unix timestamp",
          "example": 1530331260,
          "type": "integer"
        },
        "pod": {
          "description": "Part of the day (d = day, n = night)",
          "example": "n",
          "type": "string"
        },
        "pop": {
          "description": "Chance of Precipitation as a percentage (%)",
          "example": 75,
          "type": "number"
        },
        "precip": {
          "description": "Accumulated precipitation since last forecast point - default (mm)",
          "example": 1.1,
          "type": "number"
        },
        "pres": {
          "description": "Pressure (mb)",
          "example": 1005,
          "type": "number"
        },
        "rh": {
          "description": "Relative Humidity as a percentage (%)",
          "example": 95,
          "type": "integer"
        },
        "slp": {
          "description": "Mean Sea level pressure (mb)",
          "example": 1012.89,
          "type": "number"
        },
        "snow": {
          "description": "Accumulated snowfall since last forecast point - default (mm)",
          "example": 10.45,
          "type": "number"
        },
        "snow_depth": {
          "description": "Snow Depth - default (mm)",
          "example": 45,
          "type": "number"
        },
        "sunrise_ts": {
          "description": "Sunrise unix timestamp",
          "example": 1530331260,
          "type": "integer"
        },
        "sunset_ts": {
          "description": "Sunset unix timestamp",
          "example": 1530331260,
          "type": "integer"
        },
        "temp": {
          "description": "Temperature (Average) - default (C)",
          "example": 1,
          "type": "number"
        },
        "timestamp_local": {
          "description": "Timestamp in local time",
          "example": "2019-03-04T12:00:00",
          "type": "string"
        },
        "timestamp_utc": {
          "description": "Timestamp UTC",
          "example": "2019-03-04T17:00:00",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": "1551718800",
          "type": "number"
        },
        "uv": {
          "description": "UV Index",
          "example": 6.5,
          "type": "number"
        },
        "vis": {
          "description": "Average Visibility default (KM)",
          "example": 3,
          "type": "number"
        },
        "weather": {
          "properties": {
            "code": {
              "description": "Weather Condition code",
              "example": "601",
              "type": "string"
            },
            "description": {
              "description": "Weather Condition description",
              "example": "Snow",
              "type": "string"
            },
            "icon": {
              "description": "Icon code for forecast image display",
              "example": "s02n",
              "type": "string"
            }
          },
          "type": "object"
        },
        "wind_cdir": {
          "description": "Cardinal wind direction",
          "example": "ENE",
          "type": "string"
        },
        "wind_cdir_full": {
          "description": "Cardinal wind direction (text)",
          "example": "East-North-East",
          "type": "string"
        },
        "wind_dir": {
          "description": "Wind direction",
          "example": 105,
          "type": "integer"
        },
        "wind_spd": {
          "description": "Wind Speed (default m/s)",
          "example": 13.85,
          "type": "number"
        }
      },
      "type": "object"
    },
    "ForecastDay": {
      "properties": {
        "city_name": {
          "description": "City Name",
          "example": "Raleigh",
          "type": "string"
        },
        "country_code": {
          "description": "Country Abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/Forecast"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.25",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.00",
          "type": "string"
        },
        "state_code": {
          "description": "State Abbreviation",
          "example": "NC",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ForecastHour": {
      "properties": {
        "app_temp": {
          "description": "Apparent Temperature - Default (C)",
          "example": 4.5,
          "type": "number"
        },
        "clouds": {
          "description": "Cloud cover as a percentage (%)",
          "example": 100,
          "type": "integer"
        },
        "datetime": {
          "description": "Date in format \"YYYY-MM-DD:HH\". All datetime is in (UTC)",
          "example": "2019-03-04:17",
          "type": "string"
        },
        "dewpt": {
          "description": "Dewpoint - Default (C)",
          "example": -4,
          "type": "number"
        },
        "dhi": {
          "description": "Diffuse normal solar irradiance (W/m^2)",
          "example": 200,
          "type": "number"
        },
        "dni": {
          "description": "Direct normal solar irradiance (W/m^2)",
          "example": 400,
          "type": "number"
        },
        "ghi": {
          "description": "Global horizontal solar irradiance (W/m^2)",
          "example": 1000,
          "type": "number"
        },
        "pod": {
          "description": "Part of day (d = day, n = night)",
          "example": "d",
          "type": "string"
        },
        "pop": {
          "description": "Chance of Precipitation as a percentage (%)",
          "example": 75,
          "type": "number"
        },
        "precip": {
          "description": "Accumulated precipitation since last forecast point. Default (mm)",
          "example": 1.1,
          "type": "number"
        },
        "pres": {
          "description": "Pressure (mb)",
          "example": 1005,
          "type": "number"
        },
        "rh": {
          "description": "Relative Humidity as a percentage (%)",
          "example": 95,
          "type": "integer"
        },
        "slp": {
          "description": "Mean Sea level pressure (mb)",
          "example": 1012.89,
          "type": "number"
        },
        "snow": {
          "description": "Accumulated snowfall since last forecast point - Default (mm)",
          "example": 10.45,
          "type": "number"
        },
        "snow_depth": {
          "description": "Snow depth - Default (mm)",
          "example": 45,
          "type": "number"
        },
        "solar_rad": {
          "description": "Estimated solar radiation (W/m^2)",
          "example": 300,
          "type": "number"
        },
        "temp": {
          "description": "Temperature - Default (C)",
          "example": -1.5,
          "type": "number"
        },
        "timestamp_local": {
          "description": "Timestamp in local time",
          "example": "2019-03-04T12:00:00",
          "type": "string"
        },
        "timestamp_utc": {
          "description": "Timestamp UTC",
          "example": "2019-03-04T17:00:00",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": "1551718800",
          "type": "number"
        },
        "uv": {
          "description": "UV Index",
          "example": 6.5,
          "type": "number"
        },
        "vis": {
          "description": "Visibility - Default (KM)",
          "example": 1,
          "type": "number"
        },
        "weather": {
          "properties": {
            "code": {
              "description": "Weather Condition code",
              "example": "601",
              "type": "string"
            },
            "description": {
              "description": "Weather Condition description",
              "example": "Snow",
              "type": "string"
            },
            "icon": {
              "description": "Icon code for forecast image display",
              "example": "s02d",
              "type": "string"
            }
          },
          "type": "object"
        },
        "wind_cdir": {
          "description": "Cardinal wind direction",
          "example": "ENE",
          "type": "string"
        },
        "wind_cdir_full": {
          "description": "Cardinal wind direction (text)",
          "example": "East-North-East",
          "type": "string"
        },
        "wind_dir": {
          "description": "Wind direction",
          "example": 105,
          "type": "integer"
        },
        "wind_gust_spd": {
          "description": "Wind Gust Speed - Default (m/s)",
          "example": 16.85,
          "type": "number"
        },
        "wind_spd": {
          "description": "Wind Speed - Default (m/s)",
          "example": 13.85,
          "type": "number"
        }
      },
      "type": "object"
    },
    "ForecastHourly": {
      "properties": {
        "city_name": {
          "description": "City Name",
          "example": "Raleigh",
          "type": "string"
        },
        "country_code": {
          "description": "Country Abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/ForecastHour"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "38.25",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-78.00",
          "type": "string"
        },
        "state_code": {
          "description": "State Abbreviation",
          "example": "NC",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GeoIPObj": {
      "properties": {
        "area_code": {
          "description": "Area Code",
          "example": "919",
          "type": "string"
        },
        "charset": {
          "description": "Character encoding",
          "example": "1",
          "type": "string"
        },
        "city": {
          "description": "City Name",
          "example": "Raleigh",
          "type": "string"
        },
        "continent_code": {
          "description": "Country Abbreviation",
          "example": "US",
          "type": "string"
        },
        "country_code": {
          "description": "Country Code (Short)",
          "example": "US",
          "type": "string"
        },
        "country_code3": {
          "description": "Country Code (Long)",
          "example": "USA",
          "type": "string"
        },
        "dma_code": {
          "description": "Longitude",
          "example": "560",
          "type": "string"
        },
        "ip": {
          "description": "IP Address",
          "example": "192.168.1.102",
          "type": "string"
        },
        "latitude": {
          "description": "State Abbreviation",
          "example": "35.811",
          "type": "string"
        },
        "longitude": {
          "description": "City Name",
          "example": "-78.64",
          "type": "string"
        },
        "metro_code": {
          "description": "Longitude",
          "example": "560",
          "type": "string"
        },
        "offset": {
          "description": "UTC Offset (deprecated)",
          "example": "-4",
          "type": "string"
        },
        "organization": {
          "description": "Organization Name",
          "example": "AS11426 Time Warner Cable Internet LLC",
          "type": "string"
        },
        "postal_code": {
          "description": "Postal Code",
          "example": "27601",
          "type": "string"
        },
        "region": {
          "description": "Latitude",
          "example": "NC",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "History": {
      "properties": {
        "city_name": {
          "description": "City name (Closest)",
          "example": "Seattle",
          "type": "string"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/HistoryObj"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "47.61",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-122.33",
          "type": "string"
        },
        "sources": {
          "description": "List of data sources used in response",
          "items": {
            "example": "12345-89083",
            "type": "string"
          },
          "type": "array"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "WA",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HistoryDay": {
      "properties": {
        "city_name": {
          "description": "City name (Closest)",
          "example": "Seattle",
          "type": "string"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/HistoryDayObj"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "47.61",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-122.33",
          "type": "string"
        },
        "sources": {
          "description": "List of data sources used in response",
          "items": {
            "example": "12345-89083",
            "type": "string"
          },
          "type": "array"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "WA",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HistoryDayObj": {
      "properties": {
        "datetime": {
          "description": "Date in format \"YYYY-MM-DD\". All datetime is in (UTC)",
          "example": "2015-01-03",
          "type": "string"
        },
        "dewpt": {
          "description": "Average dewpoint - Default (C)",
          "example": -1.5,
          "type": "number"
        },
        "dhi": {
          "description": "Average hourly diffuse horizontal solar irradiance (W/m^2)",
          "example": 125,
          "type": "integer"
        },
        "dni": {
          "description": "Average direct normal solar irradiance (W/m^2)",
          "example": 125,
          "type": "integer"
        },
        "ghi": {
          "description": "Average hourly global horizontal solar irradiance (W/m^2)",
          "example": 125,
          "type": "integer"
        },
        "max_temp": {
          "description": "Max temperature - Default (C)",
          "example": 1.5,
          "type": "number"
        },
        "max_temp_ts": {
          "description": "Time of max memperature - Unix Timestamp",
          "example": 1501970816,
          "type": "number"
        },
        "max_uv": {
          "description": "Max UV Index (1-11+)",
          "example": 6,
          "type": "number"
        },
        "max_wind_dir": {
          "description": "Direction of wind at time of max 2min wind (degrees)",
          "example": 325,
          "type": "integer"
        },
        "max_wind_spd": {
          "description": "Max 2min Wind Speed - default (m/s)",
          "example": 19.98,
          "type": "number"
        },
        "max_wind_spd_ts": {
          "description": "Time of max 2min wind - unix timestamp",
          "example": 1501970516,
          "type": "number"
        },
        "min_temp": {
          "description": "Min temperature - Default (C)",
          "example": 11.7,
          "type": "number"
        },
        "min_temp_ts": {
          "description": "Time of max temperature - unix timestamp",
          "example": 1501970516,
          "type": "number"
        },
        "precip": {
          "description": "Liquid equivalent precipitation - default (mm)",
          "example": 3,
          "type": "number"
        },
        "precip_gpm": {
          "description": "Satellite estimated liquid equivalent precipitation - default (mm)",
          "example": 3,
          "type": "number"
        },
        "pres": {
          "description": "Average pressure (mb)",
          "example": 885.1,
          "type": "number"
        },
        "revision_status": {
          "description": "Data revision status (interim or final)",
          "example": "final",
          "type": "string"
        },
        "rh": {
          "description": "Average relative humidity as a percentage (%)",
          "example": 85,
          "type": "integer"
        },
        "slp": {
          "description": "Average sea level pressure (mb)",
          "example": 1020.1,
          "type": "number"
        },
        "snow": {
          "description": "Snowfall - default (mm)",
          "example": 30,
          "type": "number"
        },
        "snow_depth": {
          "description": "Snow Depth - default (mm)",
          "example": 60,
          "type": "number"
        },
        "t_dhi": {
          "description": "Total diffuse horizontal solar irradiance (W/m^2)",
          "example": 4500,
          "type": "integer"
        },
        "t_dni": {
          "description": "Total direct normal solar irradiance (W/m^2)",
          "example": 4500,
          "type": "integer"
        },
        "t_ghi": {
          "description": "Total global horizontal solar irradiance (W/m^2)",
          "example": 4500,
          "type": "integer"
        },
        "temp": {
          "description": "Average temperature - Default (C)",
          "example": 1,
          "type": "number"
        },
        "ts": {
          "description": "Unix timestamp of datetime (Midnight UTC)",
          "example": 1501970516,
          "type": "integer"
        },
        "wind_dir": {
          "description": "Average wind direction (degrees)",
          "example": 325,
          "type": "integer"
        },
        "wind_gust_spd": {
          "description": "Wind gust speed - default (m/s)",
          "example": 40.98,
          "type": "number"
        },
        "wind_spd": {
          "description": "Average wind speed - default (m/s)",
          "example": 14.98,
          "type": "number"
        }
      },
      "type": "object"
    },
    "HistoryObj": {
      "properties": {
        "app_temp": {
          "description": "Apparent Temperature or Wind Chill/Heat Index (Default Celcius)",
          "example": -1.5,
          "type": "number"
        },
        "azimuth": {
          "description": "Azimuth angle (Degrees)",
          "example": 50.5,
          "type": "number"
        },
        "clouds": {
          "description": "Cloud Cover 0-100 (%)",
          "example": 50,
          "type": "integer"
        },
        "datetime": {
          "description": "Date in format \"YYYY-MM-DD:HH\". All datetime is in (UTC)",
          "example": "2019-03-04:17",
          "type": "string"
        },
        "dewpt": {
          "description": "Dew point (Default Celcius)",
          "example": -1.5,
          "type": "integer"
        },
        "dhi": {
          "description": "Diffuse normal solar irradiance (W/m^2)",
          "example": 200,
          "type": "number"
        },
        "dni": {
          "description": "Direct normal solar irradiance (W/m^2)",
          "example": 400,
          "type": "number"
        },
        "elev_angle": {
          "description": "Solar elevation angle (Degrees)",
          "example": 27.5,
          "type": "number"
        },
        "ghi": {
          "description": "Global horizontal solar irradiance (W/m^2)",
          "example": 1500,
          "type": "number"
        },
        "h_angle": {
          "description": "Solar hour angle (Degrees)",
          "example": 15,
          "type": "number"
        },
        "pod": {
          "description": "Part of the day (d = day, n = night)",
          "example": "n",
          "type": "string"
        },
        "precip": {
          "description": "Liquid equivalent precipitation - Default (mm)",
          "example": 3,
          "type": "number"
        },
        "pres": {
          "description": "Pressure (mb)",
          "example": 845,
          "type": "number"
        },
        "revision_status": {
          "description": "Data revision status (interim or final)",
          "example": "final",
          "type": "string"
        },
        "rh": {
          "description": "Relative Humidity as a percentage (%)",
          "example": 85,
          "type": "integer"
        },
        "slp": {
          "description": "Sea level pressure (mb)",
          "example": 1020.1,
          "type": "number"
        },
        "snow": {
          "description": "Snowfall - Default (mm)",
          "example": 30,
          "type": "number"
        },
        "solar_rad": {
          "description": "Estimated solar radiation (W/m^2)",
          "example": 300,
          "type": "number"
        },
        "temp": {
          "description": "Temperature (Default Celcius)",
          "example": -1.2,
          "type": "number"
        },
        "timestamp_local": {
          "description": "Timestamp in local time",
          "example": "2019-03-04T12:00:00",
          "type": "string"
        },
        "timestamp_utc": {
          "description": "Timestamp UTC",
          "example": "2019-03-04T17:00:00",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": "1551718800",
          "type": "number"
        },
        "uv": {
          "description": "UV Index (1-11+)",
          "example": 4,
          "type": "number"
        },
        "vis": {
          "description": "Visibility (KM)",
          "example": 10,
          "type": "number"
        },
        "weather": {
          "properties": {
            "code": {
              "description": "Weather Condition code",
              "example": "601",
              "type": "string"
            },
            "description": {
              "description": "Weather Condition description",
              "example": "Light Snow",
              "type": "string"
            },
            "icon": {
              "description": "Icon code for forecast image display",
              "example": "s01n",
              "type": "string"
            }
          },
          "type": "object"
        },
        "wind_dir": {
          "description": "Wind direction (Degrees)",
          "example": 325,
          "type": "integer"
        },
        "wind_gust_spd": {
          "description": "Wind Gust Speed - Default (m/s)",
          "example": 16.85,
          "type": "number"
        },
        "wind_spd": {
          "description": "Wind Speed (Default m/s)",
          "example": 14.7,
          "type": "number"
        }
      },
      "type": "object"
    },
    "HistorySubhourly": {
      "properties": {
        "city_name": {
          "description": "City name (Closest)",
          "example": "Seattle",
          "type": "string"
        },
        "country_code": {
          "description": "Country abbreviation",
          "example": "US",
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/HistoryObj"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": "47.61",
          "type": "string"
        },
        "lon": {
          "description": "Longitude",
          "example": "-122.33",
          "type": "string"
        },
        "sources": {
          "description": "List of data sources used in response",
          "items": {
            "example": "12345-89083",
            "type": "string"
          },
          "type": "array"
        },
        "state_code": {
          "description": "State abbreviation",
          "example": "WA",
          "type": "string"
        },
        "timezone": {
          "description": "Local IANA time zone",
          "example": "America/New_York",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HistorySubhourlyObj": {
      "properties": {
        "app_temp": {
          "description": "Apparent Temperature or Wind Chill/Heat Index (Default Celcius)",
          "example": -1.5,
          "type": "number"
        },
        "azimuth": {
          "description": "Solar azimuth angle (Degrees)",
          "example": 40.5,
          "type": "number"
        },
        "clouds": {
          "description": "Cloud Cover 0-100 (%)",
          "example": 50,
          "type": "integer"
        },
        "dewpt": {
          "description": "Dew point (Default Celcius)",
          "example": -1.5,
          "type": "integer"
        },
        "dhi": {
          "description": "Diffuse normal solar irradiance (W/m^2)",
          "example": 200,
          "type": "number"
        },
        "dni": {
          "description": "Direct normal solar irradiance (W/m^2)",
          "example": 400,
          "type": "number"
        },
        "elev_angle": {
          "description": "Solar elevation angle (Degrees)",
          "example": 27.5,
          "type": "number"
        },
        "ghi": {
          "description": "Global horizontal solar irradiance (W/m^2)",
          "example": 1500,
          "type": "number"
        },
        "pod": {
          "description": "Part of the day (d = day, n = night)",
          "example": "n",
          "type": "string"
        },
        "precip_rate": {
          "description": "Liquid equivalent precipitation rate - Default (mm/hr)",
          "example": 3,
          "type": "number"
        },
        "pres": {
          "description": "Pressure (mb)",
          "example": 845,
          "type": "number"
        },
        "revision_status": {
          "description": "Data revision status (interim or final)",
          "example": "final",
          "type": "string"
        },
        "rh": {
          "description": "Relative Humidity as a percentage (%)",
          "example": 85,
          "type": "integer"
        },
        "slp": {
          "description": "Sea level pressure (mb)",
          "example": 1020.1,
          "type": "number"
        },
        "snow_rate": {
          "description": "Snowfall Rate - Default (mm/hr)",
          "example": 30,
          "type": "number"
        },
        "solar_rad": {
          "description": "Estimated solar radiation (W/m^2)",
          "example": 300,
          "type": "number"
        },
        "temp": {
          "description": "Temperature (Default Celcius)",
          "example": -1.2,
          "type": "number"
        },
        "timestamp_local": {
          "description": "Timestamp in local time",
          "example": "2019-03-04T12:15:00",
          "type": "string"
        },
        "timestamp_utc": {
          "description": "Timestamp UTC",
          "example": "2019-03-04T17:15:00",
          "type": "string"
        },
        "ts": {
          "description": "Unix Timestamp",
          "example": "1551718800",
          "type": "number"
        },
        "uv": {
          "description": "UV Index (1-11+)",
          "example": 4,
          "type": "number"
        },
        "vis": {
          "description": "Visibility (KM)",
          "example": 10,
          "type": "number"
        },
        "weather": {
          "properties": {
            "code": {
              "description": "Weather Condition code",
              "example": "601",
              "type": "string"
            },
            "description": {
              "description": "Weather Condition description",
              "example": "Light Snow",
              "type": "string"
            },
            "icon": {
              "description": "Icon code for forecast image display",
              "example": "s01n",
              "type": "string"
            }
          },
          "type": "object"
        },
        "wind_dir": {
          "description": "Wind direction (Degrees)",
          "example": 325,
          "type": "integer"
        },
        "wind_gust_spd": {
          "description": "Wind Gust Speed - Default (m/s)",
          "example": 16.85,
          "type": "number"
        },
        "wind_spd": {
          "description": "Wind Speed (Default m/s)",
          "example": 14.7,
          "type": "number"
        }
      },
      "type": "object"
    },
    "WeatherAlert": {
      "properties": {
        "alerts": {
          "items": {
            "$ref": "#/definitions/WeatherAlertGroup"
          },
          "type": "array"
        },
        "lat": {
          "description": "Latitude",
          "example": 38,
          "type": "number"
        },
        "lon": {
          "description": "Longitude",
          "example": -78.25,
          "type": "number"
        }
      },
      "type": "object"
    },
    "WeatherAlertGroup": {
      "properties": {
        "alerts": {
          "items": {
            "$ref": "#/definitions/AlertRegionGroup"
          },
          "type": "array"
        },
        "description": {
          "description": "Full description of weather alert",
          "example": "Mississippi River at Chester\n\n.This Flood Warning is a result of 1-2 inches of rainfall across\nthe basin earlier this week...\nThe Flood Warning continues for\nthe Mississippi River at Chester\n* until Tuesday morning.\n* At  8:30 PM Friday the stage was 26.8 feet.\n* Flood stage is 27.0 feet.\n* Minor flooding is forecast.\n* The river is forecast to rise above flood stage by tonight and to\ncrest near 29.0 feet by Saturday evening. The river is forecast to\nfall below flood stage by Monday morning.\n* Impact:  At 28.0 feet...Unleveed islands near Chester and the prison\nfarm floods.\n* Impact:  At 27.0 feet...Flood Stage.  Unprotected farmland on right\nbank begins to flood.",
          "type": "string"
        },
        "effective_local": {
          "description": "Issued time local",
          "example": "2019-02-08T21:51:00",
          "type": "string"
        },
        "effective_utc": {
          "description": "Issued time UTC",
          "example": "2019-02-09T02:51:00",
          "type": "string"
        },
        "expires_local": {
          "description": "Expiration time local",
          "example": "2019-02-09T21:51:00",
          "type": "string"
        },
        "expires_utc": {
          "description": "Expiration time UTC",
          "example": "2019-02-10T02:51:00",
          "type": "string"
        },
        "severity": {
          "description": "Severity of weather. (Advisory | Watch | Warning)",
          "example": "Warning",
          "type": "string"
        },
        "title": {
          "description": "Brief description of weather alert",
          "example": "Flood Warning issued February 8 at 8:51PM CST expiring February 12 at 8:24AM CST by NWS St Louis MO",
          "type": "string"
        },
        "uri": {
          "description": "URI to weather alert",
          "example": "https://api.weather.gov/alerts/NWS-IDP-PROD-3361975-2942026",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}