OpenAQ · Capability

OpenAQ

OpenAQ is a nonprofit organization providing universal access to air quality data to empower a global community of changemakers to solve air inequality-the unequal access to clean air.

Run with Naftiko OpenaqAPI

What You Can Do

GET
Instrument get v3 instruments instruments id get — OpenAQ Get an instrument by ID
/v3/instruments/{instruments_id}
GET
Instruments get v3 instruments get — OpenAQ Get instruments
/v3/instruments
GET
Get instruments by manufacturer v3 manufacturers — OpenAQ Get instruments by manufacturer ID
/v3/manufacturers/{manufacturers_id}/instruments
GET
Location get v3 locations locations id get — OpenAQ Get a location by ID
/v3/locations/{locations_id}
GET
Locations get v3 locations get — OpenAQ Get locations
/v3/locations
GET
License get v3 licenses licenses id get — OpenAQ Get an instrument by ID
/v3/licenses/{licenses_id}
GET
Instruments get v3 licenses get — OpenAQ Get licenses
/v3/licenses
GET
Parameter get v3 parameters parameters id get — OpenAQ Get a parameter by ID
/v3/parameters/{parameters_id}
GET
Parameters get v3 parameters get — OpenAQ Get a parameters
/v3/parameters
GET
Country get v3 countries countries id get — OpenAQ Get a country by ID
/v3/countries/{countries_id}
GET
Countries get v3 countries get — OpenAQ Get countries
/v3/countries
GET
Manufacturer get v3 manufacturers manufacturers — OpenAQ Get a manufacturer by ID
/v3/manufacturers/{manufacturers_id}
GET
Manufacturers get v3 manufacturers get — OpenAQ Get manufacturers
/v3/manufacturers
GET
Sensor measurements get v3 sensors sensors id me — OpenAQ Get measurements by sensor ID
/v3/sensors/{sensors_id}/measurements
GET
Sensor measurements aggregated get hourly v3 sen — OpenAQ Get measurements aggregated to hours by sensor ID
/v3/sensors/{sensors_id}/measurements/hourly
GET
Sensor measurements aggregated get daily v3 sens — OpenAQ Get measurements aggregated to days by sensor ID
/v3/sensors/{sensors_id}/measurements/daily
GET
Sensor hourly measurements get v3 sensors sensor — OpenAQ Get measurements aggregated to hour by sensor ID
/v3/sensors/{sensors_id}/hours
GET
Sensor hourly measurements aggregate to day get — OpenAQ Get measurements aggregated from hour to day by sensor ID
/v3/sensors/{sensors_id}/hours/daily
GET
Sensor hourly measurements aggregate to month ge — OpenAQ Get measurements aggregated from hour to month by sensor ID
/v3/sensors/{sensors_id}/hours/monthly
GET
Sensor hourly measurements aggregate to year get — OpenAQ Get measurements aggregated from hour to year by sensor ID
/v3/sensors/{sensors_id}/hours/yearly
GET
Sensor hourly measurements aggregate to hod get — OpenAQ Get measurements aggregated from hour to day of week by sensor ID
/v3/sensors/{sensors_id}/hours/hourofday
GET
Sensor hourly measurements aggregate to dow get — OpenAQ Get measurements aggregated from hour to day of week by sensor ID
/v3/sensors/{sensors_id}/hours/dayofweek
GET
Sensor hourly measurements aggregate to moy get — OpenAQ Get measurements aggregated from hour to day of week by sensor ID
/v3/sensors/{sensors_id}/hours/monthofyear
GET
Sensor daily measurements aggregate to dow get v — OpenAQ Get measurements aggregated from day to day of week by sensor ID
/v3/sensors/{sensors_id}/days/dayofweek
GET
Sensor daily measurements aggregate to moy get v — OpenAQ Get measurements aggregated from day to day of week by sensor ID
/v3/sensors/{sensors_id}/days/monthofyear
GET
Sensor daily get v3 sensors sensors id days get — OpenAQ Get measurements aggregated to day by sensor ID
/v3/sensors/{sensors_id}/days
GET
Sensor daily aggregate to month get v3 sensors s — OpenAQ Get measurements aggregated from hour to month by sensor ID
/v3/sensors/{sensors_id}/days/monthly
GET
Sensor daily aggregate to year get v3 sensors se — OpenAQ Get measurements aggregated from day to year by sensor ID
/v3/sensors/{sensors_id}/days/yearly
GET
Sensor yearly get v3 sensors sensors id years ge — OpenAQ Get measurements aggregated to year by sensor ID
/v3/sensors/{sensors_id}/years
GET
Owner get v3 owners owners id get — OpenAQ Get a owner by ID
/v3/owners/{owners_id}
GET
Owners get v3 owners get — OpenAQ Get owners
/v3/owners
GET
Provider get v3 providers providers id get — OpenAQ Get a provider by ID
/v3/providers/{providers_id}
GET
Providers get v3 providers get — OpenAQ Get providers
/v3/providers
GET
Sensors get v3 locations locations id sensors ge — OpenAQ Get sensors by location ID
/v3/locations/{locations_id}/sensors
GET
Sensor get v3 sensors sensors id get — OpenAQ Get a sensor by ID
/v3/sensors/{sensors_id}
GET
Parameters latest get v3 parameters parameters i — OpenAQ Parameters Latest Get
/v3/parameters/{parameters_id}/latest
GET
Location latest get v3 locations locations id la — OpenAQ Get a location's latest measurements
/v3/locations/{locations_id}/latest
GET
Location flags get v3 locations locations id fla — OpenAQ Get flags by location ID
/v3/locations/{locations_id}/flags
GET
Sensor flags get v3 sensors sensor id flags get — OpenAQ Get flags by sensor ID
/v3/sensors/{sensor_id}/flags
GET
Averages v2 get v2 averages get — OpenAQ Get averaged values
/v2/averages
GET
Cities get v2 cities get — OpenAQ Get cities
/v2/cities
GET
Cities getv1 v1 cities get — OpenAQ Get cities
/v1/cities
GET
Countries by path v2 countries country id get — OpenAQ Get country by ID
/v2/countries/{country_id}
GET
Countries by path v1 countries country id get — OpenAQ Get country by ID
/v1/countries/{country_id}
GET
Countries get v2 countries get — OpenAQ Get countries
/v2/countries
GET
Countries getv1 v1 countries get — OpenAQ Get countries
/v1/countries
GET
Get v2 location by id v2 locations location id g — OpenAQ Get a location by ID
/v2/locations/{location_id}
GET
Locations get v2 locations get — OpenAQ Get locations
/v2/locations
GET
Get v2 latest by id v2 latest location id get — OpenAQ Get latest measurements by location ID
/v2/latest/{location_id}
GET
Latest get v2 latest get — OpenAQ Get latest measurements
/v2/latest
GET
Get v1 latest by id v1 latest location id get — OpenAQ Get latest measurements by location ID
/v1/latest/{location_id}
GET
Latest v1 get v1 latest get — OpenAQ Get latest measurements
/v1/latest
GET
Get v1 locations by id v1 locations location id — OpenAQ Get location by ID
/v1/locations/{location_id}
GET
Locationsv1 get v1 locations get — OpenAQ Get locations
/v1/locations
GET
Measurements get v2 measurements get — OpenAQ Get measurements
/v2/measurements
GET
Measurements get v1 v1 measurements get — OpenAQ Get a list of measurements
/v1/measurements
GET
Parameters get v2 parameters get — OpenAQ Get parameters
/v2/parameters
GET
Parameters getv1 v1 parameters get — OpenAQ Get parameters
/v1/parameters
GET
Projects get v2 projects project id get — OpenAQ Project by ID
/v2/projects/{project_id}
GET
Projects get v2 projects get — OpenAQ Projects
/v2/projects

MCP Tools

instrument-get-v3-instruments-instruments-id-get

OpenAQ Get an instrument by ID

read-only idempotent
instruments-get-v3-instruments-get

OpenAQ Get instruments

read-only idempotent
get-instruments-by-manufacturer-v3-manufacturers

OpenAQ Get instruments by manufacturer ID

read-only idempotent
location-get-v3-locations-locations-id-get

OpenAQ Get a location by ID

read-only idempotent
locations-get-v3-locations-get

OpenAQ Get locations

read-only idempotent
license-get-v3-licenses-licenses-id-get

OpenAQ Get an instrument by ID

read-only idempotent
instruments-get-v3-licenses-get

OpenAQ Get licenses

read-only idempotent
parameter-get-v3-parameters-parameters-id-get

OpenAQ Get a parameter by ID

read-only idempotent
parameters-get-v3-parameters-get

OpenAQ Get a parameters

read-only idempotent
country-get-v3-countries-countries-id-get

OpenAQ Get a country by ID

read-only idempotent
countries-get-v3-countries-get

OpenAQ Get countries

read-only idempotent
manufacturer-get-v3-manufacturers-manufacturers-

OpenAQ Get a manufacturer by ID

read-only idempotent
manufacturers-get-v3-manufacturers-get

OpenAQ Get manufacturers

read-only idempotent
sensor-measurements-get-v3-sensors-sensors-id-me

OpenAQ Get measurements by sensor ID

read-only idempotent
sensor-measurements-aggregated-get-hourly-v3-sen

OpenAQ Get measurements aggregated to hours by sensor ID

read-only idempotent
sensor-measurements-aggregated-get-daily-v3-sens

OpenAQ Get measurements aggregated to days by sensor ID

read-only idempotent
sensor-hourly-measurements-get-v3-sensors-sensor

OpenAQ Get measurements aggregated to hour by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-day-get-

OpenAQ Get measurements aggregated from hour to day by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-month-ge

OpenAQ Get measurements aggregated from hour to month by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-year-get

OpenAQ Get measurements aggregated from hour to year by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-hod-get-

OpenAQ Get measurements aggregated from hour to day of week by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-dow-get-

OpenAQ Get measurements aggregated from hour to day of week by sensor ID

read-only idempotent
sensor-hourly-measurements-aggregate-to-moy-get-

OpenAQ Get measurements aggregated from hour to day of week by sensor ID

read-only idempotent
sensor-daily-measurements-aggregate-to-dow-get-v

OpenAQ Get measurements aggregated from day to day of week by sensor ID

read-only idempotent
sensor-daily-measurements-aggregate-to-moy-get-v

OpenAQ Get measurements aggregated from day to day of week by sensor ID

read-only idempotent
sensor-daily-get-v3-sensors-sensors-id-days-get

OpenAQ Get measurements aggregated to day by sensor ID

read-only idempotent
sensor-daily-aggregate-to-month-get-v3-sensors-s

OpenAQ Get measurements aggregated from hour to month by sensor ID

read-only idempotent
sensor-daily-aggregate-to-year-get-v3-sensors-se

OpenAQ Get measurements aggregated from day to year by sensor ID

read-only idempotent
sensor-yearly-get-v3-sensors-sensors-id-years-ge

OpenAQ Get measurements aggregated to year by sensor ID

read-only idempotent
owner-get-v3-owners-owners-id-get

OpenAQ Get a owner by ID

read-only idempotent
owners-get-v3-owners-get

OpenAQ Get owners

read-only idempotent
provider-get-v3-providers-providers-id-get

OpenAQ Get a provider by ID

read-only idempotent
providers-get-v3-providers-get

OpenAQ Get providers

read-only idempotent
sensors-get-v3-locations-locations-id-sensors-ge

OpenAQ Get sensors by location ID

read-only idempotent
sensor-get-v3-sensors-sensors-id-get

OpenAQ Get a sensor by ID

read-only idempotent
parameters-latest-get-v3-parameters-parameters-i

OpenAQ Parameters Latest Get

read-only idempotent
location-latest-get-v3-locations-locations-id-la

OpenAQ Get a location's latest measurements

read-only idempotent
location-flags-get-v3-locations-locations-id-fla

OpenAQ Get flags by location ID

read-only idempotent
sensor-flags-get-v3-sensors-sensor-id-flags-get

OpenAQ Get flags by sensor ID

read-only idempotent
averages-v2-get-v2-averages-get

OpenAQ Get averaged values

read-only idempotent
cities-get-v2-cities-get

OpenAQ Get cities

read-only idempotent
cities-getv1-v1-cities-get

OpenAQ Get cities

read-only idempotent
countries-by-path-v2-countries-country-id-get

OpenAQ Get country by ID

read-only idempotent
countries-by-path-v1-countries-country-id-get

OpenAQ Get country by ID

read-only idempotent
countries-get-v2-countries-get

OpenAQ Get countries

read-only idempotent
countries-getv1-v1-countries-get

OpenAQ Get countries

read-only idempotent
get-v2-location-by-id-v2-locations-location-id-g

OpenAQ Get a location by ID

read-only idempotent
locations-get-v2-locations-get

OpenAQ Get locations

read-only idempotent
get-v2-latest-by-id-v2-latest-location-id-get

OpenAQ Get latest measurements by location ID

read-only idempotent
latest-get-v2-latest-get

OpenAQ Get latest measurements

read-only idempotent
get-v1-latest-by-id-v1-latest-location-id-get

OpenAQ Get latest measurements by location ID

read-only idempotent
latest-v1-get-v1-latest-get

OpenAQ Get latest measurements

read-only idempotent
get-v1-locations-by-id-v1-locations-location-id-

OpenAQ Get location by ID

read-only idempotent
locationsv1-get-v1-locations-get

OpenAQ Get locations

read-only idempotent
measurements-get-v2-measurements-get

OpenAQ Get measurements

read-only idempotent
measurements-get-v1-v1-measurements-get

OpenAQ Get a list of measurements

read-only idempotent
parameters-get-v2-parameters-get

OpenAQ Get parameters

read-only idempotent
parameters-getv1-v1-parameters-get

OpenAQ Get parameters

read-only idempotent
projects-get-v2-projects-project-id-get

OpenAQ Project by ID

read-only idempotent
projects-get-v2-projects-get

OpenAQ Projects

read-only idempotent

Capability Spec

openaq-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenAQ
  description: OpenAQ is a nonprofit organization providing universal access to air quality data to empower a global community
    of changemakers to solve air inequality-the unequal access to clean air.
  tags:
  - Openaq
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: openaq
    baseUri: https://api.example.com
    description: OpenAQ HTTP API.
    authentication:
      type: apikey
      in: header
      name: X-API-Key
      value: '{{OPENAQ_TOKEN}}'
    resources:
    - name: v3-instruments-instruments-id
      path: /v3/instruments/{instruments_id}
      operations:
      - name: instrument-get-v3-instruments-instruments-id-get
        method: GET
        description: OpenAQ Get an instrument by ID
        inputParameters:
        - name: instruments_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific instruments id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-instruments
      path: /v3/instruments
      operations:
      - name: instruments-get-v3-instruments-get
        method: GET
        description: OpenAQ Get instruments
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-manufacturers-manufacturers-id-instruments
      path: /v3/manufacturers/{manufacturers_id}/instruments
      operations:
      - name: get-instruments-by-manufacturer-v3-manufacturers
        method: GET
        description: OpenAQ Get instruments by manufacturer ID
        inputParameters:
        - name: manufacturers_id
          in: path
          type: integer
          required: true
          description: Limit results to a specific manufacturer id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-locations-locations-id
      path: /v3/locations/{locations_id}
      operations:
      - name: location-get-v3-locations-locations-id-get
        method: GET
        description: OpenAQ Get a location by ID
        inputParameters:
        - name: locations_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific location by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-locations
      path: /v3/locations
      operations:
      - name: locations-get-v3-locations-get
        method: GET
        description: OpenAQ Get locations
        inputParameters:
        - name: coordinates
          in: query
          type: string
          description: WGS 84 Coordinate pair in form latitude,longitude. Supports up to 4 decimal points of precision, additional
            decimal precision will be truncated in the query e.g
        - name: radius
          in: query
          type: string
          description: Search radius from coordinates as center in meters. Maximum of 25,000 (25km) defaults to 1000 (1km)
            e.g. radius=1000
        - name: providers_id
          in: query
          type: string
          description: Limit the results to a specific provider or multiple providers with a single provider ID or a comma
            delimited list of IDs
        - name: parameters_id
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        - name: owner_contacts_id
          in: query
          type: string
          description: Limit the results to a specific owner by owner ID with a single owner ID or comma delimited list of
            IDs
        - name: manufacturers_id
          in: query
          type: string
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: licenses_id
          in: query
          type: string
        - name: monitor
          in: query
          type: string
          description: Is the location considered a reference monitor?
        - name: mobile
          in: query
          type: string
          description: Is the location considered a mobile location?
        - name: instruments_id
          in: query
          type: string
        - name: iso
          in: query
          type: string
          description: Limit the results to a specific country using ISO 3166-1 alpha-2 code
        - name: countries_id
          in: query
          type: string
          description: Limit the results to a specific country or countries by country ID as a single country ID or a comma
            delimited list of IDs
        - name: bbox
          in: query
          type: string
          description: 'geospatial bounding box of Min X, min Y, max X, max Y in WGS 84 coordinates. Up to 4 decimal points
            of precision, addtional decimal precision will be truncated '
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-licenses-licenses-id
      path: /v3/licenses/{licenses_id}
      operations:
      - name: license-get-v3-licenses-licenses-id-get
        method: GET
        description: OpenAQ Get an instrument by ID
        inputParameters:
        - name: licenses_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific licenses id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-licenses
      path: /v3/licenses
      operations:
      - name: instruments-get-v3-licenses-get
        method: GET
        description: OpenAQ Get licenses
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-parameters-parameters-id
      path: /v3/parameters/{parameters_id}
      operations:
      - name: parameter-get-v3-parameters-parameters-id-get
        method: GET
        description: OpenAQ Get a parameter by ID
        inputParameters:
        - name: parameters_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific parameters id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-parameters
      path: /v3/parameters
      operations:
      - name: parameters-get-v3-parameters-get
        method: GET
        description: OpenAQ Get a parameters
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: parameter_type
          in: query
          type: string
          description: Limit the results to a specific parameters type
        - name: coordinates
          in: query
          type: string
          description: WGS 84 Coordinate pair in form latitude,longitude. Supports up to 4 decimal points of precision, additional
            decimal precision will be truncated in the query e.g
        - name: radius
          in: query
          type: string
          description: Search radius from coordinates as center in meters. Maximum of 25,000 (25km) defaults to 1000 (1km)
            e.g. radius=1000
        - name: bbox
          in: query
          type: string
          description: 'geospatial bounding box of Min X, min Y, max X, max Y in WGS 84 coordinates. Up to 4 decimal points
            of precision, addtional decimal precision will be truncated '
        - name: iso
          in: query
          type: string
          description: Limit the results to a specific country using ISO 3166-1 alpha-2 code
        - name: countries_id
          in: query
          type: string
          description: Limit the results to a specific country or countries by country ID as a single country ID or a comma
            delimited list of IDs
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-countries-countries-id
      path: /v3/countries/{countries_id}
      operations:
      - name: country-get-v3-countries-countries-id-get
        method: GET
        description: OpenAQ Get a country by ID
        inputParameters:
        - name: countries_id
          in: path
          type: integer
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-countries
      path: /v3/countries
      operations:
      - name: countries-get-v3-countries-get
        method: GET
        description: OpenAQ Get countries
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: providers_id
          in: query
          type: string
          description: Limit the results to a specific provider or multiple providers with a single provider ID or a comma
            delimited list of IDs
        - name: parameters_id
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-manufacturers-manufacturers-id
      path: /v3/manufacturers/{manufacturers_id}
      operations:
      - name: manufacturer-get-v3-manufacturers-manufacturers-
        method: GET
        description: OpenAQ Get a manufacturer by ID
        inputParameters:
        - name: manufacturers_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific manufacturers id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-manufacturers
      path: /v3/manufacturers
      operations:
      - name: manufacturers-get-v3-manufacturers-get
        method: GET
        description: OpenAQ Get manufacturers
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-measurements
      path: /v3/sensors/{sensors_id}/measurements
      operations:
      - name: sensor-measurements-get-v3-sensors-sensors-id-me
        method: GET
        description: OpenAQ Get measurements by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-measurements-hourly
      path: /v3/sensors/{sensors_id}/measurements/hourly
      operations:
      - name: sensor-measurements-aggregated-get-hourly-v3-sen
        method: GET
        description: OpenAQ Get measurements aggregated to hours by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-measurements-daily
      path: /v3/sensors/{sensors_id}/measurements/daily
      operations:
      - name: sensor-measurements-aggregated-get-daily-v3-sens
        method: GET
        description: OpenAQ Get measurements aggregated to days by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours
      path: /v3/sensors/{sensors_id}/hours
      operations:
      - name: sensor-hourly-measurements-get-v3-sensors-sensor
        method: GET
        description: OpenAQ Get measurements aggregated to hour by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-daily
      path: /v3/sensors/{sensors_id}/hours/daily
      operations:
      - name: sensor-hourly-measurements-aggregate-to-day-get-
        method: GET
        description: OpenAQ Get measurements aggregated from hour to day by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-monthly
      path: /v3/sensors/{sensors_id}/hours/monthly
      operations:
      - name: sensor-hourly-measurements-aggregate-to-month-ge
        method: GET
        description: OpenAQ Get measurements aggregated from hour to month by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-yearly
      path: /v3/sensors/{sensors_id}/hours/yearly
      operations:
      - name: sensor-hourly-measurements-aggregate-to-year-get
        method: GET
        description: OpenAQ Get measurements aggregated from hour to year by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-hourofday
      path: /v3/sensors/{sensors_id}/hours/hourofday
      operations:
      - name: sensor-hourly-measurements-aggregate-to-hod-get-
        method: GET
        description: OpenAQ Get measurements aggregated from hour to day of week by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-dayofweek
      path: /v3/sensors/{sensors_id}/hours/dayofweek
      operations:
      - name: sensor-hourly-measurements-aggregate-to-dow-get-
        method: GET
        description: OpenAQ Get measurements aggregated from hour to day of week by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-hours-monthofyear
      path: /v3/sensors/{sensors_id}/hours/monthofyear
      operations:
      - name: sensor-hourly-measurements-aggregate-to-moy-get-
        method: GET
        description: OpenAQ Get measurements aggregated from hour to day of week by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: datetime_to
          in: query
          type: string
          description: To when?
        - name: datetime_from
          in: query
          type: string
          description: From when?
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-days-dayofweek
      path: /v3/sensors/{sensors_id}/days/dayofweek
      operations:
      - name: sensor-daily-measurements-aggregate-to-dow-get-v
        method: GET
        description: OpenAQ Get measurements aggregated from day to day of week by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-days-monthofyear
      path: /v3/sensors/{sensors_id}/days/monthofyear
      operations:
      - name: sensor-daily-measurements-aggregate-to-moy-get-v
        method: GET
        description: OpenAQ Get measurements aggregated from day to day of week by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-days
      path: /v3/sensors/{sensors_id}/days
      operations:
      - name: sensor-daily-get-v3-sensors-sensors-id-days-get
        method: GET
        description: OpenAQ Get measurements aggregated to day by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-days-monthly
      path: /v3/sensors/{sensors_id}/days/monthly
      operations:
      - name: sensor-daily-aggregate-to-month-get-v3-sensors-s
        method: GET
        description: OpenAQ Get measurements aggregated from hour to month by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-days-yearly
      path: /v3/sensors/{sensors_id}/days/yearly
      operations:
      - name: sensor-daily-aggregate-to-year-get-v3-sensors-se
        method: GET
        description: OpenAQ Get measurements aggregated from day to year by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-sensors-sensors-id-years
      path: /v3/sensors/{sensors_id}/years
      operations:
      - name: sensor-yearly-get-v3-sensors-sensors-id-years-ge
        method: GET
        description: OpenAQ Get measurements aggregated to year by sensor ID
        inputParameters:
        - name: sensors_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific sensors id
        - name: date_to
          in: query
          type: string
          description: To when?
        - name: date_from
          in: query
          type: string
          description: From when?
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-owners-owners-id
      path: /v3/owners/{owners_id}
      operations:
      - name: owner-get-v3-owners-owners-id-get
        method: GET
        description: OpenAQ Get a owner by ID
        inputParameters:
        - name: owners_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific owner by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-owners
      path: /v3/owners
      operations:
      - name: owners-get-v3-owners-get
        method: GET
        description: OpenAQ Get owners
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: limit
          in: query
          type: integer
          description: Change the number of results returned. e.g. limit=100 will return up to 100 results
        - name: page
          in: query
          type: integer
          description: Paginate through results. e.g. page=1 will return first page of results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-providers-providers-id
      path: /v3/providers/{providers_id}
      operations:
      - name: provider-get-v3-providers-providers-id-get
        method: GET
        description: OpenAQ Get a provider by ID
        inputParameters:
        - name: providers_id
          in: path
          type: integer
          required: true
          description: Limit the results to a specific provider by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-providers
      path: /v3/providers
      operations:
      - name: providers-get-v3-providers-get
        method: GET
        description: OpenAQ Get providers
        inputParameters:
        - name: order_by
          in: query
          type: string
          description: The field by which to order results
        - name: sort_order
          in: query
          type: string
          description: Sort results ascending or descending. Default ASC
        - name: parameters_id
          in: query
          type: string
        - name: monitor
          in: query
          type: string
          description: Is the location considered a reference monitor?
     

# --- truncated at 32 KB (176 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openaq/refs/heads/main/capabilities/openaq-capability.yaml