openapi: 3.0.2
servers:
  - url: http://openaq.local
info:
  description: API for OpenAQ LCS
  title: OpenAQ
  version: 2.0.0
  x-apisguru-categories:
    - location
  x-origin:
    - format: openapi
      url: https://docs.openaq.org/openapi.json
      version: "3.0"
  x-providerName: openaq.local
paths:
  /favicon.ico:
    get:
      operationId: favico_favicon_ico_get
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Favico
  /ping:
    get:
      description: |-
        Sanity check.
        This will let the user know that the service is operational.
        And this path operation will:
        * show a lifesign
      operationId: pong_ping_get
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Pong
  /v1/cities:
    get:
      operationId: cities_getv1_v1_cities_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CitiesOrder"
            default: city
            description: Order by a field
        - in: query
          name: entity
          required: false
          schema:
            title: Entity
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCitiesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Provides a simple listing of cities within the platform
      tags:
        - v1
  /v1/countries:
    get:
      operationId: countries_getv1_v1_countries_get
      parameters:
        - in: query
          name: limit
          required: false
          schema:
            default: 200
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CountriesOrder"
            default: country
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCountriesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Countries Getv1
      tags:
        - v1
  "/v1/countries/{country_id}":
    get:
      operationId: countries_get_v1_countries__country_id__get
      parameters:
        - in: path
          name: country_id
          required: true
          schema:
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - in: query
          name: limit
          required: false
          schema:
            default: 200
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CountriesOrder"
            default: country
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCountriesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Countries Get
      tags:
        - v1
  /v1/latest:
    get:
      operationId: latest_v1_get_v1_latest_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Latest V1 Get
      tags:
        - v1
  "/v1/latest/{location_id}":
    get:
      operationId: latest_v1_get_v1_latest__location_id__get
      parameters:
        - in: path
          name: location_id
          required: true
          schema:
            title: Location Id
            type: integer
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Latest V1 Get
      tags:
        - v1
  /v1/locations:
    get:
      operationId: locationsv1_get_v1_locations_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Locationsv1 Get
      tags:
        - v1
  "/v1/locations/{location_id}":
    get:
      operationId: locationsv1_get_v1_locations__location_id__get
      parameters:
        - in: path
          name: location_id
          required: true
          schema:
            title: Location Id
            type: integer
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Locationsv1 Get
      tags:
        - v1
  /v1/measurements:
    get:
      operationId: measurements_get_v1_v1_measurements_get
      parameters:
        - in: query
          name: format
          required: false
          schema:
            title: Format
            type: string
        - in: query
          name: date_from
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2000-01-01T00:00:00+00:00
            title: Date From
        - in: query
          name: date_to
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2021-08-23T09:48:00+00:00
            title: Date To
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/MeasOrder"
            default: datetime
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
        - in: query
          name: project
          required: false
          schema:
            title: Project
            type: integer
        - in: query
          name: entity
          required: false
          schema:
            $ref: "#/components/schemas/EntityTypes"
        - in: query
          name: sensorType
          required: false
          schema:
            $ref: "#/components/schemas/SensorTypes"
        - in: query
          name: value_from
          required: false
          schema:
            title: Value From
            type: number
        - in: query
          name: value_to
          required: false
          schema:
            title: Value To
            type: number
        - in: query
          name: include_fields
          required: false
          schema:
            title: Include Fields
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Measurements Get V1
      tags:
        - v1
  /v1/parameters:
    get:
      operationId: parameters_getv1_v1_parameters_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: sourceName
          required: false
          schema:
            items:
              type: string
            title: Sourcename
            type: array
        - in: query
          name: sourceId
          required: false
          schema:
            items:
              type: integer
            title: Sourceid
            type: array
        - in: query
          name: sourceSlug
          required: false
          schema:
            items:
              type: string
            title: Sourceslug
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            anyOf:
              - type: string
              - type: string
              - type: string
            default: id
            title: Order By
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQParametersResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Parameters Getv1
      tags:
        - v1
  /v1/sources:
    get:
      operationId: sources_v1_get_v1_sources_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: name
          required: false
          schema:
            title: Name
            type: string
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SourcesV1Order"
            default: name
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Sources V1 Get
      tags:
        - v1
  /v2/averages:
    get:
      operationId: averages_v2_get_v2_averages_get
      parameters:
        - in: query
          name: date_from
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2000-01-01T00:00:00+00:00
            title: Date From
        - in: query
          name: date_to
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2021-08-23T09:48:00+00:00
            title: Date To
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: project_id
          required: false
          schema:
            title: Project Id
            type: integer
        - in: query
          name: project
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Project
            type: array
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Define sort order.
        - in: query
          name: spatial
          required: true
          schema:
            $ref: "#/components/schemas/Spatial"
        - in: query
          name: temporal
          required: true
          schema:
            $ref: "#/components/schemas/Temporal"
        - in: query
          name: location
          required: false
          schema:
            items:
              type: string
            title: Location
            type: array
        - in: query
          name: group
          required: false
          schema:
            default: false
            title: Group
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Averages V2 Get
      tags:
        - v2
  /v2/cities:
    get:
      operationId: cities_get_v2_cities_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CitiesOrder"
            default: city
            description: Order by a field
        - in: query
          name: entity
          required: false
          schema:
            title: Entity
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCitiesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Provides a simple listing of cities within the platform
      tags:
        - v2
  /v2/countries:
    get:
      operationId: countries_get_v2_countries_get
      parameters:
        - in: query
          name: limit
          required: false
          schema:
            default: 200
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CountriesOrder"
            default: country
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCountriesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Countries Get
      tags:
        - v2
  "/v2/countries/{country_id}":
    get:
      operationId: countries_get_v2_countries__country_id__get
      parameters:
        - in: path
          name: country_id
          required: true
          schema:
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - in: query
          name: limit
          required: false
          schema:
            default: 200
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/CountriesOrder"
            default: country
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQCountriesResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Countries Get
      tags:
        - v2
  /v2/latest:
    get:
      operationId: latest_get_v2_latest_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Latest Get
      tags:
        - v2
  "/v2/latest/{location_id}":
    get:
      operationId: latest_get_v2_latest__location_id__get
      parameters:
        - in: path
          name: location_id
          required: true
          schema:
            title: Location Id
            type: integer
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Latest Get
      tags:
        - v2
  /v2/locations:
    get:
      operationId: locations_get_v2_locations_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Locations Get
      tags:
        - v2
  /v2/locations/tiles/mobile-generalized/tiles.json:
    get:
      operationId: mobilegentilejson_v2_locations_tiles_mobile_generalized_tiles_json_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TileJSON"
          description: Return a tilejson
      summary: Mobilegentilejson
      tags:
        - v2
  "/v2/locations/tiles/mobile-generalized/{z}/{x}/{y}.pbf":
    get:
      operationId: get_mobilegentile_v2_locations_tiles_mobile_generalized__z___x___y__pbf_get
      parameters:
        - in: path
          name: z
          required: true
          schema:
            title: Z
            type: integer
        - in: path
          name: x
          required: true
          schema:
            title: X
            type: integer
        - in: path
          name: y
          required: true
          schema:
            title: Y
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            anyOf:
              - type: integer
              - type: string
            title: Parameter
        - description: limit data to location id
          in: query
          name: location
          required: false
          schema:
            description: limit data to location id
            items:
              type: integer
            title: Location
            type: array
        - in: query
          name: lastUpdatedFrom
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedfrom
        - in: query
          name: lastUpdatedTo
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedto
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: project
          required: false
          schema:
            title: Project
            type: integer
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
      responses:
        "200":
          content:
            application/x-protobuf: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Get Mobilegentile
      tags:
        - v2
  /v2/locations/tiles/mobile/tiles.json:
    get:
      operationId: mobiletilejson_v2_locations_tiles_mobile_tiles_json_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TileJSON"
          description: Return a tilejson
      summary: Mobiletilejson
      tags:
        - v2
  "/v2/locations/tiles/mobile/{z}/{x}/{y}.pbf":
    get:
      operationId: get_mobiletile_v2_locations_tiles_mobile__z___x___y__pbf_get
      parameters:
        - in: path
          name: z
          required: true
          schema:
            title: Z
            type: integer
        - in: path
          name: x
          required: true
          schema:
            title: X
            type: integer
        - in: path
          name: y
          required: true
          schema:
            title: Y
            type: integer
        - in: query
          name: dateFrom
          required: true
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Datefrom
        - in: query
          name: dateTo
          required: true
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Dateto
        - in: query
          name: parameter
          required: false
          schema:
            anyOf:
              - type: integer
              - type: string
            title: Parameter
        - description: limit data to location id
          in: query
          name: location
          required: false
          schema:
            description: limit data to location id
            items:
              type: integer
            title: Location
            type: array
        - in: query
          name: lastUpdatedFrom
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedfrom
        - in: query
          name: lastUpdatedTo
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedto
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: project
          required: false
          schema:
            title: Project
            type: integer
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
      responses:
        "200":
          content:
            application/x-protobuf: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Get Mobiletile
      tags:
        - v2
  /v2/locations/tiles/tiles.json:
    get:
      operationId: tilejson_v2_locations_tiles_tiles_json_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TileJSON"
          description: Return a tilejson
      summary: Tilejson
      tags:
        - v2
  /v2/locations/tiles/viewer:
    get:
      operationId: demo_v2_locations_tiles_viewer_get
      responses:
        "200":
          content:
            text/html:
              schema:
                type: string
          description: Successful Response
      summary: Demo
      tags:
        - v2
  "/v2/locations/tiles/{z}/{x}/{y}.pbf":
    get:
      operationId: get_tile_v2_locations_tiles__z___x___y__pbf_get
      parameters:
        - in: path
          name: z
          required: true
          schema:
            title: Z
            type: integer
        - in: path
          name: x
          required: true
          schema:
            title: X
            type: integer
        - in: path
          name: y
          required: true
          schema:
            title: Y
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            anyOf:
              - type: integer
              - type: string
            title: Parameter
        - description: limit data to location id
          in: query
          name: location
          required: false
          schema:
            description: limit data to location id
            items:
              type: integer
            title: Location
            type: array
        - in: query
          name: lastUpdatedFrom
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedfrom
        - in: query
          name: lastUpdatedTo
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            title: Lastupdatedto
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: project
          required: false
          schema:
            title: Project
            type: integer
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
      responses:
        "200":
          content:
            application/x-protobuf: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Get Tile
      tags:
        - v2
  "/v2/locations/{location_id}":
    get:
      operationId: locations_get_v2_locations__location_id__get
      parameters:
        - in: path
          name: location_id
          required: true
          schema:
            title: Location Id
            type: integer
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Sort Direction
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
            description: Sort Direction
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - description: Order by a field
          in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/LocationsOrder"
            default: lastUpdated
            description: Order by a field
        - description: Location is mobile
          in: query
          name: isMobile
          required: false
          schema:
            description: Location is mobile
            title: Ismobile
            type: boolean
        - description: Data is the product of a previous analysis/aggregation and not raw measurements
          in: query
          name: isAnalysis
          required: false
          schema:
            description: Data is the product of a previous analysis/aggregation and not raw measurements
            title: Isanalysis
            type: boolean
        - description: Name of the data source
          in: query
          name: sourceName
          required: false
          schema:
            description: Name of the data source
            items:
              type: string
            title: Sourcename
            type: array
        - description: Source entity type.
          in: query
          name: entity
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/EntityTypes"
            description: Source entity type.
        - description: Type of Sensor
          in: query
          name: sensorType
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SensorTypes"
            description: Type of Sensor
        - description: Model Name of Sensor
          in: query
          name: modelName
          required: false
          schema:
            description: Model Name of Sensor
            items:
              type: string
            title: Modelname
            type: array
        - description: Manufacturer of Sensor
          in: query
          name: manufacturerName
          required: false
          schema:
            description: Manufacturer of Sensor
            items:
              type: string
            title: Manufacturername
            type: array
        - in: query
          name: dumpRaw
          required: false
          schema:
            default: false
            title: Dumpraw
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Locations Get
      tags:
        - v2
  /v2/manufacturers:
    get:
      operationId: mfr_get_v2_manufacturers_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
      summary: Mfr Get
      tags:
        - v2
  /v2/measurements:
    get:
      operationId: measurements_get_v2_measurements_get
      parameters:
        - in: query
          name: format
          required: false
          schema:
            title: Format
            type: string
        - in: query
          name: date_from
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2000-01-01T00:00:00+00:00
            title: Date From
        - in: query
          name: date_to
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - format: date
                type: string
            default: 2021-08-23T09:48:00+00:00
            title: Date To
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: desc
        - in: query
          name: has_geo
          required: false
          schema:
            title: Has Geo
            type: boolean
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: coordinates
          required: false
          schema:
            pattern: ^-?\d{1,2}\.?\d{0,8},-?1?\d{1,2}\.?\d{0,8}$
            title: Coordinates
            type: string
        - in: query
          name: radius
          required: false
          schema:
            default: 1000
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Radius
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: "

            \        Limit results by a certain city or cities.

            \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

            \        "
          in: query
          name: city
          required: false
          schema:
            description: "

              \        Limit results by a certain city or cities.

              \        (ex. ?city=Chicago or ?city=Chicago&city=Boston)

              \        "
            items:
              type: string
            title: City
            type: array
        - in: query
          name: location_id
          required: false
          schema:
            title: Location Id
            type: integer
        - in: query
          name: location
          required: false
          schema:
            items:
              anyOf:
                - type: integer
                - type: string
            title: Location
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/MeasOrder"
            default: datetime
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
        - in: query
          name: project
          required: false
          schema:
            title: Project
            type: integer
        - in: query
          name: entity
          required: false
          schema:
            $ref: "#/components/schemas/EntityTypes"
        - in: query
          name: sensorType
          required: false
          schema:
            $ref: "#/components/schemas/SensorTypes"
        - in: query
          name: value_from
          required: false
          schema:
            title: Value From
            type: number
        - in: query
          name: value_to
          required: false
          schema:
            title: Value To
            type: number
        - in: query
          name: include_fields
          required: false
          schema:
            title: Include Fields
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Measurements Get
      tags:
        - v2
  /v2/models:
    get:
      operationId: model_get_v2_models_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
      summary: Model Get
      tags:
        - v2
  /v2/parameters:
    get:
      operationId: parameters_get_v2_parameters_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: sourceName
          required: false
          schema:
            items:
              type: string
            title: Sourcename
            type: array
        - in: query
          name: sourceId
          required: false
          schema:
            items:
              type: integer
            title: Sourceid
            type: array
        - in: query
          name: sourceSlug
          required: false
          schema:
            items:
              type: string
            title: Sourceslug
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            anyOf:
              - type: string
              - type: string
              - type: string
            default: id
            title: Order By
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQParametersResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Parameters Get
      tags:
        - v2
  /v2/projects:
    get:
      operationId: projects_get_v2_projects_get
      parameters:
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: project_id
          required: false
          schema:
            title: Project Id
            type: integer
        - in: query
          name: project
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Project
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/ProjectsOrder"
            default: lastUpdated
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
        - in: query
          name: entity
          required: false
          schema:
            title: Entity
            type: string
        - in: query
          name: sensorType
          required: false
          schema:
            title: Sensortype
            type: string
        - in: query
          name: sourceName
          required: false
          schema:
            items:
              type: string
            title: Sourcename
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQProjectsResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Projects Get
      tags:
        - v2
  "/v2/projects/{project_id}":
    get:
      operationId: projects_get_v2_projects__project_id__get
      parameters:
        - in: path
          name: project_id
          required: true
          schema:
            title: Project Id
            type: integer
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. /US)

            \        "
          in: query
          name: country_id
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. /US)

              \        "
            maxLength: 2
            minLength: 2
            pattern: "[a-zA-Z][a-zA-Z]"
            title: Country Id
            type: string
        - description: "

            \        Limit results by a certain country using two letter country code.

            \        (ex. ?country=US or ?country=US&country=MX)

            \        "
          in: query
          name: country
          required: false
          schema:
            description: "

              \        Limit results by a certain country using two letter country code.

              \        (ex. ?country=US or ?country=US&country=MX)

              \        "
            items:
              maxLength: 2
              minLength: 2
              pattern: "[a-zA-Z][a-zA-Z]"
              type: string
            title: Country
            type: array
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: parameter_id
          required: false
          schema:
            title: Parameter Id
            type: integer
        - in: query
          name: parameter
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Parameter
            type: array
        - in: query
          name: unit
          required: false
          schema:
            items:
              type: string
            title: Unit
            type: array
        - in: query
          name: project
          required: false
          schema:
            items:
              anyOf:
                - exclusiveMinimum: true
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                - type: string
            title: Project
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/ProjectsOrder"
            default: lastUpdated
        - in: query
          name: isMobile
          required: false
          schema:
            title: Ismobile
            type: boolean
        - in: query
          name: isAnalysis
          required: false
          schema:
            title: Isanalysis
            type: boolean
        - in: query
          name: entity
          required: false
          schema:
            title: Entity
            type: string
        - in: query
          name: sensorType
          required: false
          schema:
            title: Sensortype
            type: string
        - in: query
          name: sourceName
          required: false
          schema:
            items:
              type: string
            title: Sourcename
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQProjectsResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Projects Get
      tags:
        - v2
  /v2/sources:
    get:
      operationId: sources_get_v2_sources_get
      parameters:
        - description: Change the number of results returned.
          in: query
          name: limit
          required: false
          schema:
            default: 100
            description: Change the number of results returned.
            exclusiveMinimum: true
            maximum: 100000
            minimum: 0
            title: Limit
            type: integer
        - description: Paginate through results.
          in: query
          name: page
          required: false
          schema:
            default: 1
            description: Paginate through results.
            exclusiveMinimum: true
            maximum: 6000
            minimum: 0
            title: Page
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            default: 0
            maximum: 10000
            minimum: 0
            title: Offset
            type: integer
        - description: Define sort order.
          in: query
          name: sort
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/Sort"
            default: asc
            description: Define sort order.
        - in: query
          name: sourceName
          required: false
          schema:
            items:
              type: string
            title: Sourcename
            type: array
        - in: query
          name: sourceId
          required: false
          schema:
            items:
              type: integer
            title: Sourceid
            type: array
        - in: query
          name: sourceSlug
          required: false
          schema:
            items:
              type: string
            title: Sourceslug
            type: array
        - in: query
          name: order_by
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/SourcesOrder"
            default: sourceName
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Sources Get
      tags:
        - v2
  "/v2/sources/readme/{slug}":
    get:
      operationId: readme_get_v2_sources_readme__slug__get
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            title: Slug
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Readme Get
      tags:
        - v2
  /v2/summary:
    get:
      operationId: summary_get_v2_summary_get
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OpenAQResult"
          description: Successful Response
      summary: Summary Get
      tags:
        - v2
components:
  schemas:
    CitiesOrder:
      description: An enumeration.
      enum:
        - city
        - country
        - firstUpdated
        - lastUpdated
      title: CitiesOrder
      type: string
    CitiesRow:
      properties:
        city:
          title: City
          type: string
        count:
          title: Count
          type: integer
        country:
          title: Country
          type: string
        firstUpdated:
          format: date-time
          title: Firstupdated
          type: string
        lastUpdated:
          format: date-time
          title: Lastupdated
          type: string
        locations:
          title: Locations
          type: integer
        parameters:
          items:
            type: string
          title: Parameters
          type: array
      required:
        - city
        - count
        - locations
        - firstUpdated
        - lastUpdated
        - parameters
      title: CitiesRow
      type: object
    CountriesOrder:
      description: An enumeration.
      enum:
        - country
        - firstUpdated
        - lastUpdated
        - locations
        - count
      title: CountriesOrder
      type: string
    CountriesRow:
      properties:
        cities:
          title: Cities
          type: integer
        code:
          title: Code
          type: string
        count:
          title: Count
          type: integer
        firstUpdated:
          format: date-time
          title: Firstupdated
          type: string
        lastUpdated:
          format: date-time
          title: Lastupdated
          type: string
        locations:
          title: Locations
          type: integer
        name:
          title: Name
          type: string
        parameters:
          items:
            type: string
          title: Parameters
          type: array
        sources:
          title: Sources
          type: integer
      required:
        - code
        - name
        - locations
        - firstUpdated
        - lastUpdated
        - parameters
        - count
        - cities
        - sources
      title: CountriesRow
      type: object
    EntityTypes:
      description: An enumeration.
      enum:
        - government
        - community
        - research
      title: EntityTypes
      type: string
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: "#/components/schemas/ValidationError"
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    LocationsOrder:
      description: An enumeration.
      enum:
        - city
        - country
        - location
        - sourceName
        - firstUpdated
        - lastUpdated
        - count
        - random
      title: LocationsOrder
      type: string
    MeasOrder:
      description: An enumeration.
      enum:
        - city
        - country
        - location
        - datetime
      title: MeasOrder
      type: string
    Meta:
      properties:
        found:
          default: 0
          title: Found
          type: integer
        license:
          default: CC BY 4.0d
          title: License
          type: string
        limit:
          default: 100
          title: Limit
          type: integer
        name:
          default: openaq-api
          title: Name
          type: string
        page:
          default: 1
          title: Page
          type: integer
        website:
          default: /
          title: Website
          type: string
      title: Meta
      type: object
    OpenAQCitiesResult:
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/Meta"
          default:
            found: 0
            license: CC BY 4.0d
            limit: 100
            name: openaq-api
            page: 1
            website: /
          title: Meta
        results:
          items:
            $ref: "#/components/schemas/CitiesRow"
          title: Results
          type: array
      required:
        - results
      title: OpenAQCitiesResult
      type: object
    OpenAQCountriesResult:
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/Meta"
          default:
            found: 0
            license: CC BY 4.0d
            limit: 100
            name: openaq-api
            page: 1
            website: /
          title: Meta
        results:
          items:
            $ref: "#/components/schemas/CountriesRow"
          title: Results
          type: array
      required:
        - results
      title: OpenAQCountriesResult
      type: object
    OpenAQParametersResult:
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/Meta"
          default:
            found: 0
            license: CC BY 4.0d
            limit: 100
            name: openaq-api
            page: 1
            website: /
          title: Meta
        results:
          items:
            $ref: "#/components/schemas/ParametersRow"
          title: Results
          type: array
      required:
        - results
      title: OpenAQParametersResult
      type: object
    OpenAQProjectsResult:
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/Meta"
          default:
            found: 0
            license: CC BY 4.0d
            limit: 100
            name: openaq-api
            page: 1
            website: /
          title: Meta
        results:
          items:
            $ref: "#/components/schemas/ProjectsRow"
          title: Results
          type: array
      required:
        - results
      title: OpenAQProjectsResult
      type: object
    OpenAQResult:
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/Meta"
          default:
            found: 0
            license: CC BY 4.0d
            limit: 100
            name: openaq-api
            page: 1
            website: /
          title: Meta
        results:
          default: []
          items: {}
          title: Results
          type: array
      title: OpenAQResult
      type: object
    ParametersRow:
      properties:
        description:
          title: Description
          type: string
        displayName:
          title: Displayname
          type: string
        id:
          title: Id
          type: integer
        isCore:
          title: Iscore
          type: boolean
        maxColorValue:
          title: Maxcolorvalue
          type: number
        name:
          title: Name
          type: string
        preferredUnit:
          title: Preferredunit
          type: string
      required:
        - id
        - name
        - displayName
        - description
        - preferredUnit
      title: ParametersRow
      type: object
    ProjectParameterDetails:
      properties:
        average:
          title: Average
          type: number
        count:
          title: Count
          type: integer
        displayName:
          title: Displayname
          type: string
        firstUpdated:
          format: date-time
          title: Firstupdated
          type: string
        lastUpdated:
          format: date-time
          title: Lastupdated
          type: string
        lastValue:
          title: Lastvalue
          type: number
        locations:
          title: Locations
          type: integer
        parameter:
          title: Parameter
          type: string
        parameterId:
          title: Parameterid
          type: integer
        unit:
          title: Unit
          type: string
      required:
        - unit
        - count
        - average
        - lastValue
        - locations
        - parameter
        - lastUpdated
        - firstUpdated
        - parameterId
      title: ProjectParameterDetails
      type: object
    ProjectsOrder:
      description: An enumeration.
      enum:
        - id
        - name
        - subtitle
        - firstUpdated
        - lastUpdated
      title: ProjectsOrder
      type: string
    ProjectsRow:
      properties:
        bbox:
          items:
            type: number
          title: Bbox
          type: array
        countries:
          items:
            type: string
          title: Countries
          type: array
        entity:
          title: Entity
          type: string
        firstUpdated:
          format: date-time
          title: Firstupdated
          type: string
        id:
          title: Id
          type: integer
        isAnalysis:
          title: Isanalysis
          type: boolean
        isMobile:
          title: Ismobile
          type: boolean
        lastUpdated:
          format: date-time
          title: Lastupdated
          type: string
        locationIds:
          items:
            type: integer
          title: Locationids
          type: array
        locations:
          title: Locations
          type: integer
        measurements:
          title: Measurements
          type: integer
        name:
          title: Name
          type: string
        parameters:
          items:
            $ref: "#/components/schemas/ProjectParameterDetails"
          title: Parameters
          type: array
        sensorType:
          title: Sensortype
          type: string
        sources:
          items: {}
          title: Sources
          type: array
        subtitle:
          title: Subtitle
          type: string
      required:
        - id
        - name
        - subtitle
        - locations
        - locationIds
        - parameters
        - measurements
        - firstUpdated
        - lastUpdated
      title: ProjectsRow
      type: object
    SensorTypes:
      description: An enumeration.
      enum:
        - reference grade
        - low-cost sensor
      title: SensorTypes
      type: string
    Sort:
      description: An enumeration.
      enum:
        - asc
        - desc
      title: Sort
      type: string
    SourcesOrder:
      description: An enumeration.
      enum:
        - sourceName
        - firstUpdated
        - lastUpdated
      title: SourcesOrder
      type: string
    SourcesV1Order:
      description: An enumeration.
      enum:
        - name
      title: SourcesV1Order
      type: string
    Spatial:
      description: An enumeration.
      enum:
        - country
        - location
        - project
        - total
      title: Spatial
      type: string
    Temporal:
      description: An enumeration.
      enum:
        - day
        - month
        - year
        - moy
        - dow
        - hour
        - hod
      title: Temporal
      type: string
    TileJSON:
      description: |-
        TileJSON model.
        Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0
      properties:
        attribution:
          title: Attribution
          type: string
        bounds:
          default:
            - -180
            - -90
            - 180
            - 90
          items:
            type: number
          title: Bounds
          type: array
        data:
          default: []
          items:
            type: string
          title: Data
          type: array
        description:
          title: Description
          type: string
        grids:
          default: []
          items:
            type: string
          title: Grids
          type: array
        legend:
          title: Legend
          type: string
        maxzoom:
          default: 30
          maximum: 30
          minimum: 0
          title: Maxzoom
          type: integer
        minzoom:
          default: 0
          maximum: 30
          minimum: 0
          title: Minzoom
          type: integer
        name:
          title: Name
          type: string
        scheme:
          default: xyz
          title: Scheme
          type: string
        template:
          title: Template
          type: string
        tilejson:
          default: 2.2.0
          title: Tilejson
          type: string
        tiles:
          items:
            type: string
          title: Tiles
          type: array
        version:
          default: 1.0.0
          title: Version
          type: string
      required:
        - tiles
      title: TileJSON
      type: object
    ValidationError:
      properties:
        loc:
          items:
            type: string
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
