naftiko: 1.0.0-alpha2 info: label: OpenAQ — Instruments description: 'OpenAQ — Instruments. 3 operations. Lead operation: OpenAQ Get instruments. Self-contained Naftiko capability covering one Openaq business surface.' tags: - Openaq - Instruments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPENAQ_API_KEY: OPENAQ_API_KEY capability: consumes: - type: http namespace: openaq-instruments baseUri: '' description: OpenAQ — Instruments business capability. Self-contained, no shared references. resources: - name: v3-instruments path: /v3/instruments operations: - name: instrumentsgetv3instrumentsget method: GET description: OpenAQ Get instruments 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: 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-instruments-instruments_id path: /v3/instruments/{instruments_id} operations: - name: instrumentgetv3instrumentsinstrumentsidget method: GET description: OpenAQ Get an instrument by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: instruments_id in: path type: integer description: Limit the results to a specific instruments id required: true - name: v3-manufacturers-manufacturers_id-instruments path: /v3/manufacturers/{manufacturers_id}/instruments operations: - name: getinstrumentsbymanufacturerv3manufacturersmanufacturersidinstrumentsget method: GET description: OpenAQ Get instruments by manufacturer ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: manufacturers_id in: path type: integer description: Limit results to a specific manufacturer id required: true authentication: type: apikey key: X-API-Key value: '{{env.OPENAQ_API_KEY}}' placement: header exposes: - type: rest namespace: openaq-instruments-rest port: 8080 description: REST adapter for OpenAQ — Instruments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/instruments name: v3-instruments description: REST surface for v3-instruments. operations: - method: GET name: instrumentsgetv3instrumentsget description: OpenAQ Get instruments call: openaq-instruments.instrumentsgetv3instrumentsget with: order_by: rest.order_by sort_order: rest.sort_order limit: rest.limit page: rest.page outputParameters: - type: object mapping: $. - path: /v1/v3/instruments/{instruments-id} name: v3-instruments-instruments-id description: REST surface for v3-instruments-instruments_id. operations: - method: GET name: instrumentgetv3instrumentsinstrumentsidget description: OpenAQ Get an instrument by ID call: openaq-instruments.instrumentgetv3instrumentsinstrumentsidget with: instruments_id: rest.instruments_id outputParameters: - type: object mapping: $. - path: /v1/v3/manufacturers/{manufacturers-id}/instruments name: v3-manufacturers-manufacturers-id-instruments description: REST surface for v3-manufacturers-manufacturers_id-instruments. operations: - method: GET name: getinstrumentsbymanufacturerv3manufacturersmanufacturersidinstrumentsget description: OpenAQ Get instruments by manufacturer ID call: openaq-instruments.getinstrumentsbymanufacturerv3manufacturersmanufacturersidinstrumentsget with: manufacturers_id: rest.manufacturers_id outputParameters: - type: object mapping: $. - type: mcp namespace: openaq-instruments-mcp port: 9090 transport: http description: MCP adapter for OpenAQ — Instruments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: openaq-get-instruments description: OpenAQ Get instruments hints: readOnly: true destructive: false idempotent: true call: openaq-instruments.instrumentsgetv3instrumentsget with: order_by: tools.order_by sort_order: tools.sort_order limit: tools.limit page: tools.page outputParameters: - type: object mapping: $. - name: openaq-get-instrument-id description: OpenAQ Get an instrument by ID hints: readOnly: true destructive: false idempotent: true call: openaq-instruments.instrumentgetv3instrumentsinstrumentsidget with: instruments_id: tools.instruments_id outputParameters: - type: object mapping: $. - name: openaq-get-instruments-manufacturer-id description: OpenAQ Get instruments by manufacturer ID hints: readOnly: true destructive: false idempotent: true call: openaq-instruments.getinstrumentsbymanufacturerv3manufacturersmanufacturersidinstrumentsget with: manufacturers_id: tools.manufacturers_id outputParameters: - type: object mapping: $.