OpenAQ · Capability
OpenAQ — Countries
OpenAQ — Countries. 6 operations. Lead operation: OpenAQ Get countries. Self-contained Naftiko capability covering one Openaq business surface.
What You Can Do
GET
Countriesgetv1v1countriesget
— OpenAQ Get countries
/v1/v1/countries
GET
Countriesbypathv1countriescountryidget
— OpenAQ Get country by ID
/v1/v1/countries/{country-id}
GET
Countriesgetv2countriesget
— OpenAQ Get countries
/v1/v2/countries
GET
Countriesbypathv2countriescountryidget
— OpenAQ Get country by ID
/v1/v2/countries/{country-id}
GET
Countriesgetv3countriesget
— OpenAQ Get countries
/v1/v3/countries
GET
Countrygetv3countriescountriesidget
— OpenAQ Get a country by ID
/v1/v3/countries/{countries-id}
MCP Tools
openaq-get-countries
OpenAQ Get countries
read-only
idempotent
openaq-get-country-id
OpenAQ Get country by ID
read-only
idempotent
openaq-get-countries-2
OpenAQ Get countries
read-only
idempotent
openaq-get-country-id-2
OpenAQ Get country by ID
read-only
idempotent
openaq-get-countries-3
OpenAQ Get countries
read-only
idempotent
openaq-get-country-id-3
OpenAQ Get a country by ID
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: OpenAQ — Countries
description: 'OpenAQ — Countries. 6 operations. Lead operation: OpenAQ Get countries. Self-contained Naftiko capability
covering one Openaq business surface.'
tags:
- Openaq
- Countries
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
OPENAQ_API_KEY: OPENAQ_API_KEY
capability:
consumes:
- type: http
namespace: openaq-countries
baseUri: ''
description: OpenAQ — Countries business capability. Self-contained, no shared references.
resources:
- name: v1-countries
path: /v1/countries
operations:
- name: countriesgetv1v1countriesget
method: GET
description: OpenAQ Get countries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
- name: page
in: query
type: string
- name: offset
in: query
type: string
- name: sort
in: query
type: string
- name: order_by
in: query
type: string
- name: v1-countries-country_id
path: /v1/countries/{country_id}
operations:
- name: countriesbypathv1countriescountryidget
method: GET
description: OpenAQ Get country by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: country_id
in: path
type: integer
required: true
- name: limit
in: query
type: integer
description: Limit the number of results returned. e.g. limit=100 will return up to 100 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=name
- name: v2-countries
path: /v2/countries
operations:
- name: countriesgetv2countriesget
method: GET
description: OpenAQ Get countries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
- name: page
in: query
type: string
- name: offset
in: query
type: string
- name: sort
in: query
type: string
- name: country_id
in: query
type: string
- name: order_by
in: query
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-countries-country_id
path: /v2/countries/{country_id}
operations:
- name: countriesbypathv2countriescountryidget
method: GET
description: OpenAQ Get country by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: country_id
in: path
type: integer
required: true
- name: limit
in: query
type: integer
description: Limit the number of results returned. e.g. limit=100 will return up to 100 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=name
- name: v3-countries
path: /v3/countries
operations:
- name: countriesgetv3countriesget
method: GET
description: OpenAQ Get countries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
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.
- name: page
in: query
type: integer
description: Paginate through results. e.g. page=1 will return first page of results
- name: v3-countries-countries_id
path: /v3/countries/{countries_id}
operations:
- name: countrygetv3countriescountriesidget
method: GET
description: OpenAQ Get a country by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: countries_id
in: path
type: integer
required: true
authentication:
type: apikey
key: X-API-Key
value: '{{env.OPENAQ_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: openaq-countries-rest
port: 8080
description: REST adapter for OpenAQ — Countries. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/v1/countries
name: v1-countries
description: REST surface for v1-countries.
operations:
- method: GET
name: countriesgetv1v1countriesget
description: OpenAQ Get countries
call: openaq-countries.countriesgetv1v1countriesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
order_by: rest.order_by
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/countries/{country-id}
name: v1-countries-country-id
description: REST surface for v1-countries-country_id.
operations:
- method: GET
name: countriesbypathv1countriescountryidget
description: OpenAQ Get country by ID
call: openaq-countries.countriesbypathv1countriescountryidget
with:
country_id: rest.country_id
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
order_by: rest.order_by
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/countries
name: v2-countries
description: REST surface for v2-countries.
operations:
- method: GET
name: countriesgetv2countriesget
description: OpenAQ Get countries
call: openaq-countries.countriesgetv2countriesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
country_id: rest.country_id
order_by: rest.order_by
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/countries/{country-id}
name: v2-countries-country-id
description: REST surface for v2-countries-country_id.
operations:
- method: GET
name: countriesbypathv2countriescountryidget
description: OpenAQ Get country by ID
call: openaq-countries.countriesbypathv2countriescountryidget
with:
country_id: rest.country_id
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
order_by: rest.order_by
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/countries
name: v3-countries
description: REST surface for v3-countries.
operations:
- method: GET
name: countriesgetv3countriesget
description: OpenAQ Get countries
call: openaq-countries.countriesgetv3countriesget
with:
order_by: rest.order_by
sort_order: rest.sort_order
providers_id: rest.providers_id
parameters_id: rest.parameters_id
limit: rest.limit
page: rest.page
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/countries/{countries-id}
name: v3-countries-countries-id
description: REST surface for v3-countries-countries_id.
operations:
- method: GET
name: countrygetv3countriescountriesidget
description: OpenAQ Get a country by ID
call: openaq-countries.countrygetv3countriescountriesidget
with:
countries_id: rest.countries_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: openaq-countries-mcp
port: 9090
transport: http
description: MCP adapter for OpenAQ — Countries. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: openaq-get-countries
description: OpenAQ Get countries
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countriesgetv1v1countriesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
order_by: tools.order_by
outputParameters:
- type: object
mapping: $.
- name: openaq-get-country-id
description: OpenAQ Get country by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countriesbypathv1countriescountryidget
with:
country_id: tools.country_id
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
order_by: tools.order_by
outputParameters:
- type: object
mapping: $.
- name: openaq-get-countries-2
description: OpenAQ Get countries
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countriesgetv2countriesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
country_id: tools.country_id
order_by: tools.order_by
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: openaq-get-country-id-2
description: OpenAQ Get country by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countriesbypathv2countriescountryidget
with:
country_id: tools.country_id
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
order_by: tools.order_by
outputParameters:
- type: object
mapping: $.
- name: openaq-get-countries-3
description: OpenAQ Get countries
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countriesgetv3countriesget
with:
order_by: tools.order_by
sort_order: tools.sort_order
providers_id: tools.providers_id
parameters_id: tools.parameters_id
limit: tools.limit
page: tools.page
outputParameters:
- type: object
mapping: $.
- name: openaq-get-country-id-3
description: OpenAQ Get a country by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-countries.countrygetv3countriescountriesidget
with:
countries_id: tools.countries_id
outputParameters:
- type: object
mapping: $.