OpenAQ · Capability
OpenAQ — Cities
OpenAQ — Cities. 2 operations. Lead operation: OpenAQ Get cities. Self-contained Naftiko capability covering one Openaq business surface.
What You Can Do
GET
Citiesgetv1v1citiesget
— OpenAQ Get cities
/v1/v1/cities
GET
Citiesgetv2citiesget
— OpenAQ Get cities
/v1/v2/cities
MCP Tools
openaq-get-cities
OpenAQ Get cities
read-only
idempotent
openaq-get-cities-2
OpenAQ Get cities
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: OpenAQ — Cities
description: 'OpenAQ — Cities. 2 operations. Lead operation: OpenAQ Get cities. Self-contained Naftiko capability covering
one Openaq business surface.'
tags:
- Openaq
- Cities
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
OPENAQ_API_KEY: OPENAQ_API_KEY
capability:
consumes:
- type: http
namespace: openaq-cities
baseUri: ''
description: OpenAQ — Cities business capability. Self-contained, no shared references.
resources:
- name: v1-cities
path: /v1/cities
operations:
- name: citiesgetv1v1citiesget
method: GET
description: OpenAQ Get cities
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: string
description: Change the number of results returned. e.g. limit=1000 will return up to 1000 results
- name: page
in: query
type: string
description: Paginate through results. e.g. page=1 will return first page of results
- name: offset
in: query
type: string
- name: sort
in: query
type: string
description: Define sort order. e.g. ?sort=asc
- name: order_by
in: query
type: string
description: Order by a field e.g. ?order_by=city
- name: country
in: query
type: string
description: Limit results by a certain country using two letter country code. e.g. ?country=US or ?country=US&country=MX
- name: v2-cities
path: /v2/cities
operations:
- name: citiesgetv2citiesget
method: GET
description: OpenAQ Get cities
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: string
description: Change the number of results returned. e.g. limit=1000 will return up to 1000 results
- name: page
in: query
type: string
description: Paginate through results. e.g. page=1 will return first page of results
- name: offset
in: query
type: string
- name: sort
in: query
type: string
description: Define sort order. e.g. ?sort=asc
- name: country_id
in: query
type: string
description: Limit results by a certain country using two digit country ID. e.g. 13
- name: country
in: query
type: string
description: Limit results by a certain country using two letter country code. e.g. ?country=US or ?country=US&country=MX
- name: city
in: query
type: string
description: Limit results by a certain city or cities. (e.g. ?city=Chicago or ?city=Chicago&city=Boston)
- name: order_by
in: query
type: string
description: Order by a field e.g. ?order_by=city
- name: entity
in: query
type: string
authentication:
type: apikey
key: X-API-Key
value: '{{env.OPENAQ_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: openaq-cities-rest
port: 8080
description: REST adapter for OpenAQ — Cities. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/v1/cities
name: v1-cities
description: REST surface for v1-cities.
operations:
- method: GET
name: citiesgetv1v1citiesget
description: OpenAQ Get cities
call: openaq-cities.citiesgetv1v1citiesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
order_by: rest.order_by
country: rest.country
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/cities
name: v2-cities
description: REST surface for v2-cities.
operations:
- method: GET
name: citiesgetv2citiesget
description: OpenAQ Get cities
call: openaq-cities.citiesgetv2citiesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
country_id: rest.country_id
country: rest.country
city: rest.city
order_by: rest.order_by
entity: rest.entity
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: openaq-cities-mcp
port: 9090
transport: http
description: MCP adapter for OpenAQ — Cities. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: openaq-get-cities
description: OpenAQ Get cities
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-cities.citiesgetv1v1citiesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
order_by: tools.order_by
country: tools.country
outputParameters:
- type: object
mapping: $.
- name: openaq-get-cities-2
description: OpenAQ Get cities
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-cities.citiesgetv2citiesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
country_id: tools.country_id
country: tools.country
city: tools.city
order_by: tools.order_by
entity: tools.entity
outputParameters:
- type: object
mapping: $.