{
  "swagger": "2.0",
  "info": {
    "description": "Queensland Government Department of Environment and Science API for querying open Air Quality data",
    "version": "0.3.5",
    "title": "Air Quality Query API",
    "termsOfService": "https://www.des.qld.gov.au/help/social/terms-of-use",
    "contact": {
      "email": "air.sciences@des.qld.gov.au"
    }
  },
  "host": "airquality.des.qld.gov.au",
  "basePath": "/v1",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/stations": {
      "x-swagger-router-controller": "stations",
      "get": {
        "operationId": "getAllStations",
        "summary": "Get all stations",
        "description": "This resource will retrieve details about the air quality monitoring stations published by the Queensland Government.  Each Station hosts the sensor equipment which collects measurements for a number of parameters.",
        "parameters": [
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "integer"
          },
          {
            "name": "parameter_id",
            "in": "query",
            "description": "Filter results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Stations"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/parameters": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllStationsAllParameters",
        "summary": "Get all parameters for all stations",
        "description": "This resource will retrieve a list of all parameter types available across all stations.",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "string"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameters"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/{station_id}": {
      "x-swagger-router-controller": "stations",
      "get": {
        "operationId": "getStationByStationId",
        "summary": "Get station by ID",
        "description": "This resource will retrieve details about a single air quality monitoring station published by the Queensland Government.  The Station hosts the sensor equipment which collects measurements for a number of parameters.",
        "parameters": [
          {
            "name": "station_id",
            "type": "string",
            "in": "path",
            "description": "Display results by the Station identifier.  See 'Get all stations' for a list of possible Station IDs.",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Station"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/{station_id}/parameters": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllParametersByStationId",
        "summary": "Get all parameters by station ID",
        "description": "This resource will retrieve details about all parameter types collected by a single station.",
        "parameters": [
          {
            "in": "path",
            "name": "station_id",
            "type": "string",
            "required": true,
            "description": "Display the results by the Station identifier.  See 'Get all stations' for a list of possible Station IDs."
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameters"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/{station_id}/parameters/measurements": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllMeasurements",
        "summary": "Get all measurements by station ID",
        "description": "This resource will retrieve all observations/measurements from a single station.",
        "parameters": [
          {
            "in": "path",
            "name": "station_id",
            "type": "string",
            "required": true,
            "description": "Display the results by the Station identifier.  See 'Get all stations' for a list of possible Station IDs."
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "string"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Measurements"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/{station_id}/parameters/{parameter_id}": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getParameterByStationId",
        "summary": "Get parameter by station ID",
        "description": "This resource will retrieve details for a single Parameter type from a single station",
        "parameters": [
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          },
          {
            "in": "path",
            "name": "station_id",
            "type": "string",
            "required": true,
            "description": "Display the results by the Station identifier.  See 'Get all stations' for a list of possible Station IDs."
          },
          {
            "in": "path",
            "name": "parameter_id",
            "type": "integer",
            "required": true,
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameter"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/{station_id}/parameters/{parameter_id}/measurements": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getMeasurement",
        "summary": "Get measurements by station and parameter",
        "description": "This resource will retrieve observations/measurements for a single parameter from a single station.",
        "parameters": [
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          },
          {
            "in": "path",
            "name": "station_id",
            "type": "string",
            "required": true,
            "description": "Display the results by the Station identifier.  See 'Get all stations' for a list of possible Station IDs."
          },
          {
            "in": "path",
            "name": "parameter_id",
            "type": "integer",
            "required": true,
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs."
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Measurement"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/parameters/measurements": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllStationsAllMeasurements",
        "summary": "Get measurements for all parameters across all stations",
        "description": "This resource will retrieve a list of observations/measurements for parameters collected across all stations.",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "string"
          },
          {
            "name": "parameter_id",
            "in": "query",
            "description": "Filter results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Measurements"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/parameters/{parameter_id}": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllStationsParameter",
        "summary": "Get parameter for all stations",
        "description": "This resource will retrieve a single parameter type across all stations",
        "parameters": [
          {
            "in": "path",
            "name": "parameter_id",
            "type": "integer",
            "required": true,
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs."
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameter"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/stations/parameters/{parameter_id}/measurements": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllStationsMeasurement",
        "summary": "Get measurements for  single parameter across all stations",
        "description": "This resource will retrieve a list of observations/measurements for a single parameter across all stations",
        "parameters": [
          {
            "in": "path",
            "name": "parameter_id",
            "type": "integer",
            "required": true,
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs."
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "A valid start date and/or time. Examples: 2016-02-02 (date only), 2016-02-02T06:00:00Z (date and time in GMT), 2016-02-02T06:00:00+10:00 (date and time in GMT+10:00) or 2016-02-02T06:00:00%2B10:00 (with URL encoding)."
          },
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Measurements"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/parameters": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getAllParameters",
        "summary": "Get all parameters",
        "description": "This resource will retrieve a list of all parameter types available across all stations.",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameters"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/parameters/{parameter_id}": {
      "x-swagger-router-controller": "parameters",
      "get": {
        "operationId": "getParameterByParameterId",
        "summary": "Get parameter by parameter ID",
        "description": "This resource will retrieve details about a single parameter type which is being collected.",
        "parameters": [
          {
            "name": "parameter_id",
            "type": "integer",
            "in": "path",
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "required": true
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Parameter"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/parameters/{parameter_id}/stations": {
      "x-swagger-router-controller": "stations",
      "get": {
        "operationId": "getAllStationsByParameterId",
        "summary": "Get stations by patameter ID",
        "description": "This resource will retrieve details about all stations that collect measurements of a single parameter type",
        "parameters": [
          {
            "name": "parameter_id",
            "type": "integer",
            "description": "Display results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "in": "path",
            "required": true
          },
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "string"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Stations"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/categories": {
      "x-swagger-router-controller": "categories",
      "get": {
        "operationId": "getAllCategories",
        "summary": "Get all categories",
        "description": "This resource will retrieve a list of all parameter categories in use.",
        "parameters": [
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Categories"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/categories/{category_id}": {
      "x-swagger-router-controller": "categories",
      "get": {
        "operationId": "getCategoryByCategoryId",
        "summary": "Get category by category ID",
        "description": "A single category details",
        "parameters": [
          {
            "name": "category_id",
            "type": "integer",
            "description": "Display results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "in": "path",
            "required": true
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Category"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/categories/{category_id}/stations": {
      "x-swagger-router-controller": "stations",
      "get": {
        "operationId": "getAllStationsByCategoryId",
        "summary": "Get stations by category ID",
        "description": "This resource will retreive a list of all stations that collect measurements for parameters within a single category.",
        "parameters": [
          {
            "name": "category_id",
            "type": "string",
            "description": "Display results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "in": "path",
            "required": true
          },
          {
            "name": "region_id",
            "in": "query",
            "description": "Filter results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "type": "string"
          },
          {
            "name": "parameter_id",
            "in": "query",
            "description": "Filter results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Stations"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/regions": {
      "x-swagger-router-controller": "regions",
      "get": {
        "operationId": "getAllRegions",
        "summary": "Get all regions",
        "description": "This resource will retrieve a list of all air monitoring regions in Queensland",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "integer"
          },
          {
            "name": "parameter_id",
            "in": "query",
            "description": "Filter results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Regions"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/regions/{region_id}": {
      "x-swagger-router-controller": "regions",
      "get": {
        "operationId": "getRegionByRegionId",
        "summary": "Get regions by region ID",
        "description": "This resource will retrieve details about a single region.",
        "parameters": [
          {
            "name": "region_id",
            "type": "string",
            "description": "Display results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Region"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/regions/{region_id}/stations": {
      "x-swagger-router-controller": "stations",
      "get": {
        "operationId": "getAllStationsByRegionId",
        "summary": "Get stations by region ID",
        "description": "This resource will retrieve a list of stations within a single region",
        "parameters": [
          {
            "name": "region_id",
            "type": "string",
            "in": "path",
            "description": "Display results by Region ID.  See 'Get all regions' for a list of possible Region IDs.",
            "required": true
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "Filter results by Category ID.  See 'Get all categories' for a list of possible Category IDs.",
            "type": "integer"
          },
          {
            "name": "parameter_id",
            "in": "query",
            "description": "Filter results by Parameter ID.  See 'Get all parameters' for a list of possible Parameter IDs.",
            "type": "integer"
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "Number of results returned in the response.  The maximum is 10,000 results at a time.  Increment the 'pagenumber' to return the next set of results.",
            "type": "integer",
            "default": 1000
          },
          {
            "name": "pagenumber",
            "in": "query",
            "description": "Page number for paginating through the responses.",
            "type": "integer",
            "default": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Stations"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/swagger": {
      "x-swagger-pipe": "swagger_raw"
    }
  },
  "definitions": {
    "ErrorResponse": {
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "string",
          "description": "A message describing the error"
        }
      }
    },
    "Region": {
      "required": [
        "region_id",
        "region_name"
      ],
      "properties": {
        "region_id": {
          "type": "string",
          "description": "A unique identifier representing the region."
        },
        "region_name": {
          "type": "string",
          "description": "The name of the region."
        },
        "link": {
          "type": "string",
          "description": "A url to a public website where more information can be read about the region."
        }
      },
      "example": [
        {
          "region_id": "BOW",
          "region_name": "Bowen",
          "link": "#"
        }
      ]
    },
    "Regions": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Region"
      },
      "example": [
        {
          "region_id": "AYR",
          "region_name": "Ayr",
          "link": "#"
        },
        {
          "region_id": "BOW",
          "region_name": "Bowen",
          "link": "#"
        },
        {
          "region_id": "GLA",
          "region_name": "Gladstone",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/gladstone/"
        },
        {
          "region_id": "ISA",
          "region_name": "Mt Isa",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/mtisa/"
        },
        {
          "region_id": "MAC",
          "region_name": "Mackay",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/mackay/"
        },
        {
          "region_id": "SEQ",
          "region_name": "South East Queensland",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/seq/"
        },
        {
          "region_id": "SWQ",
          "region_name": "South West Queensland",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/swq/"
        },
        {
          "region_id": "TVE",
          "region_name": "Townsville",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/townsville/"
        },
        {
          "region_id": "XSI",
          "region_name": "Mt Isa - Xstrata Network",
          "link": "/air/monitoring/network/mount-isa.html"
        }
      ]
    },
    "Station": {
      "required": [
        "station_id",
        "station_name",
        "region_id"
      ],
      "properties": {
        "station_id": {
          "type": "string",
          "description": "A unique identifier representing the station."
        },
        "station_name": {
          "type": "string",
          "description": "The name of the station."
        },
        "region_id": {
          "type": "string",
          "description": "A unique identifer representing the air monitoring region."
        },
        "link": {
          "type": "string",
          "description": "A url to a public website where more information can be read about the station."
        },
        "start_date": {
          "type": "string",
          "format": "date-time",
          "description": "The first date and time (in GMT) when the station started collecting measurements. Format yyyy-mm-ddThh:mm:ssZ, example 2016-01-02T14:00:00Z."
        },
        "end_date": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time (in GMT) when the station last collected measurements before being decommissioned. Format yyyy-mm-ddThh:mm:ssZ, example 2016-01-02T14:00:00Z.  'null' values or absence of this field indicate the station is still active."
        },
        "latitude": {
          "type": "number",
          "format": "float",
          "description": "The lattitude of the location (or approximated location) where the station is located."
        },
        "longitude": {
          "type": "number",
          "format": "float",
          "description": "The longitude of the location (or approximated location) where the station is located."
        }
      },
      "example": [
        {
          "station_id": "cbd",
          "station_name": "Brisbane CBD",
          "region_id": "SEQ",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/seq/#cbd",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "9999-12-30T14:00:00.000Z",
          "latitude": -27.4774,
          "longitude": 153.0281
        }
      ]
    },
    "Stations": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Station"
      },
      "example": [
        {
          "station_id": "ald",
          "station_name": "Aldoga",
          "region_id": "GLA",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/gladstone/#aldoga",
          "start_date": "2015-12-31T14:00:00.000Z",
          "end_date": "9999-12-30T14:00:00.000Z",
          "latitude": -23.8403,
          "longitude": 151.0628
        },
        {
          "station_id": "aru",
          "station_name": "Arundel",
          "region_id": "SEQ",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/seq/#history",
          "start_date": "2010-10-31T14:00:00.000Z",
          "end_date": "2012-02-14T14:00:00.000Z",
          "latitude": -27.9441,
          "longitude": 153.3656
        },
        {
          "station_id": "ayr",
          "station_name": "Ayr",
          "region_id": "AYR",
          "link": "#",
          "start_date": "2012-09-30T14:00:00.000Z",
          "end_date": "2016-03-07T14:00:00.000Z",
          "latitude": -19.5839,
          "longitude": 147.4059
        },
        {
          "station_id": "bar",
          "station_name": "Mobile: Barney Pt",
          "region_id": "GLA",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/gladstone/#historical",
          "start_date": "2009-06-17T14:00:00.000Z",
          "end_date": "2010-03-14T14:00:00.000Z",
          "latitude": "",
          "longitude": ""
        },
        {
          "station_id": "bec",
          "station_name": "Mobile: Boyne Is",
          "region_id": "GLA",
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/gladstone/#historical",
          "start_date": "2008-07-31T14:00:00.000Z",
          "end_date": "2009-01-04T14:00:00.000Z",
          "latitude": "",
          "longitude": ""
        }
      ]
    },
    "Parameter": {
      "required": [
        "parameter_id",
        "parameter_name"
      ],
      "properties": {
        "parameter_id": {
          "type": "integer",
          "description": "A unique identifier representing the parameter."
        },
        "parameter_name": {
          "type": "string",
          "description": "The name of the parameter."
        },
        "abbreviation": {
          "type": "string",
          "description": "The abbreviated name of the parameter."
        },
        "units": {
          "type": "string",
          "description": "The measuremnet units of the parameter."
        },
        "standard": {
          "type": "number",
          "description": "The National Environment Protection Measure for Ambient Air Quality (Air NEPM) standard or the Environmental Protection (Air) Policy 2008 (Air EPP) objective for the parameter."
        },
        "category_id": {
          "type": "integer",
          "description": "A unique identifier representing the category of the parameter."
        },
        "link": {
          "type": "string",
          "description": "A url to a public website where more information can be read about the parameter."
        },
        "standard_units": {
          "type": "string",
          "description": "The measuremnet units of the parameter's standard."
        }
      },
      "example": [
        {
          "parameter_id": 18,
          "parameter_name": "Particle PM10",
          "abbreviation": "PM10",
          "units": "ug/m^3 (1hr av)",
          "standard": 50,
          "category_id": 1,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/trend-graphs/#b",
          "standard_units": "ug/m^3 (24hr av)"
        }
      ]
    },
    "Parameters": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Parameter"
      },
      "example": [
        {
          "parameter_id": 1,
          "parameter_name": "Wind Direction",
          "abbreviation": "WDRN",
          "units": "deg",
          "standard": 0,
          "category_id": 2,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/meteorology-factors/#windspeed",
          "standard_units": "deg"
        },
        {
          "parameter_id": 2,
          "parameter_name": "Wind Speed",
          "abbreviation": "WSPD",
          "units": "m/s",
          "standard": 0,
          "category_id": 2,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/meteorology-factors/#windspeed",
          "standard_units": "m/s"
        },
        {
          "parameter_id": 3,
          "parameter_name": "Ozone",
          "abbreviation": "O<SUB>3</SUB>",
          "units": "ppm",
          "standard": 0.1,
          "category_id": 1,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-pollution/ozone/",
          "standard_units": "ppm (1hr Av)"
        },
        {
          "parameter_id": 6,
          "parameter_name": "Visibility",
          "abbreviation": "Bsp",
          "units": "Mm^-1",
          "standard": 235,
          "category_id": 1,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-monitoring/trend-graphs/#a",
          "standard_units": "Mm^-1 (1hr Av)"
        },
        {
          "parameter_id": 7,
          "parameter_name": "Sulfur Dioxide",
          "abbreviation": "SO<SUB>2</SUB>",
          "units": "ppm",
          "standard": 0.2,
          "category_id": 1,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-pollution/sulfur-dioxide/",
          "standard_units": " ppm (1hr Av)"
        },
        {
          "parameter_id": 8,
          "parameter_name": "Carbon Monoxide",
          "abbreviation": "CO",
          "units": "ppm",
          "standard": 9,
          "category_id": 1,
          "link": "http://www.qld.gov.au/environment/pollution/monitoring/air-pollution/carbon-monoxide/",
          "standard_units": "ppm (8hr Av)"
        }
      ]
    },
    "Measurement": {
      "properties": {
        "station_id": {
          "type": "string",
          "description": "A unique identifier representing the station."
        },
        "parameter_id": {
          "type": "integer",
          "format": "int32",
          "description": "A unique identifier representing the parameter."
        },
        "date_measured": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time (in GMT) when the measurement was recorded. Format yyyy-mm-ddThh:mm:ssZ, example 2016-01-02T14:00:00Z."
        },
        "mvalue": {
          "type": "number",
          "format": "double",
          "description": "The measurement value of the parameter."
        },
        "mvalue_units": {
          "type": "string",
          "description": "The measurement units of the parameter."
        },
        "mvalue_running_avg": {
          "type": "number",
          "format": "double",
          "description": "The running average measurement value for the averaging period of the parameters standard.  For parameters that have no standard, this attribute will be 'null' or absent."
        },
        "mvalue_running_avg_units": {
          "type": "string",
          "description": "The running average measurement units of the parameter.  For parameters that have no standard, this attribute will be 'null' or absent."
        },
        "air_quality_index": {
          "type": "number",
          "format": "double",
          "description": "The air quality index value is the pollutant concentration expressed as a proportion of the National Environment Protection Measure for Ambient Air Quality (Air NEPM) standard or the Environmental Protection (Air) Policy 2008 (Air EPP) objective.  For parameters that have no standard, this attribute will be 'null' or absent."
        },
        "validated": {
          "type": "string",
          "description": "A flag to indicate if the measurement value has been checked and validated. 'Y' for yes and 'N' for no."
        },
        "category_id": {
          "type": "integer",
          "description": "A unique identifier representing the category of the parameter."
        }
      },
      "example": [
        {
          "station_id": "cbd",
          "parameter_id": 18,
          "date_measured": "2017-07-20T14:00:00.000Z",
          "mvalue": 6,
          "validated": "N",
          "mvalue_units": "ug/m^3 (1hr Av)",
          "mvalue_running_avg": "3.2",
          "mvalue_running_avg_units": "ug/^3 (24hr Av)",
          "air_quality_index": "17.4"
        }
      ]
    },
    "Measurements": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Measurement"
      },
      "example": [
        {
          "station_id": "cbd",
          "parameter_id": 18,
          "date_measured": "2017-07-20T14:00:00.000Z",
          "mvalue": 6,
          "validated": "N",
          "mvalue_units": "ug/m^3 (1hr Av)",
          "mvalue_running_avg": "3.2",
          "mvalue_running_avg_units": "ug/^3 (24hr Av)",
          "air_quality_index": "17.4"
        },
        {
          "station_id": "cbd",
          "parameter_id": 18,
          "date_measured": "2017-07-20T14:00:00.000Z",
          "mvalue": 8,
          "validated": "N",
          "mvalue_units": "ug/m^3 (1hr Av)",
          "mvalue_running_avg": "3.2",
          "mvalue_running_avg_units": "ug/^3 (24hr Av)",
          "air_quality_index": "17.4"
        },
        {
          "station_id": "cbd",
          "parameter_id": 18,
          "date_measured": "2017-07-20T14:00:00.000Z",
          "mvalue": 10,
          "validated": "N",
          "mvalue_units": "ug/m^3 (1hr Av)",
          "mvalue_running_avg": "3.2",
          "mvalue_running_avg_units": "ug/^3 (24hr Av)",
          "air_quality_index": "17.4"
        },
        {
          "station_id": "cbd",
          "parameter_id": 18,
          "date_measured": "2017-07-20T14:00:00.000Z",
          "mvalue": 16,
          "validated": "N",
          "mvalue_units": "ug/m^3 (1hr Av)",
          "mvalue_running_avg": "3.2",
          "mvalue_running_avg_units": "ug/^3 (24hr Av)",
          "air_quality_index": "17.4"
        }
      ]
    },
    "Category": {
      "properties": {
        "category_id": {
          "type": "integer",
          "description": "A unique identifier representing the category of the parameter."
        },
        "category_name": {
          "type": "string",
          "description": "The name of the category."
        },
        "start_date": {
          "type": "string",
          "format": "date-time",
          "description": "The first date and time (in GMT) for parameters in the category. Format yyyy-mm-ddThh:mm:ssZ, example 2016-01-02T14:00:00Z."
        },
        "end_date": {
          "type": "string",
          "format": "date-time",
          "description": "The last date and time (in GMT) for parameters in the category. Format yyyy-mm-ddThh:mm:ssZ, example 2016-0"
        }
      },
      "example": [
        {
          "category_id": 1,
          "category_name": "Air Quality",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "2017-07-20T14:00:00.000Z"
        }
      ]
    },
    "Categories": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Category"
      },
      "example": [
        {
          "category_id": 1,
          "category_name": "Air Quality",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "2017-07-20T14:00:00.000Z"
        },
        {
          "category_id": 2,
          "category_name": "Meteorological",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "2017-07-20T14:00:00.000Z"
        },
        {
          "category_id": 3,
          "category_name": "DOAS",
          "start_date": "2000-09-30T14:00:00.000Z",
          "end_date": "2017-07-20T14:00:00.000Z"
        },
        {
          "category_id": 4,
          "category_name": "Metals",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "2017-07-20T14:00:00.000Z"
        },
        {
          "category_id": 5,
          "category_name": "Historical",
          "start_date": "1999-12-31T14:00:00.000Z",
          "end_date": "2009-04-07T14:00:00.000Z"
        }
      ]
    }
  }
}