naftiko: 1.0.0-alpha2 info: label: U.S. EPA WaterSense — Pollutants description: 'Pollutants. 6 operations. Lead operation: Pollutants. Self-contained Naftiko capability covering one EPA business surface.' tags: - EPA - Pollutants created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: EPA_USERNAME: EPA_USERNAME capability: consumes: - type: http namespace: elg-search-pollutants baseUri: https://owapps-stage.app.cloud.gov/elg description: U.S. EPA WaterSense — Pollutants business capability. Self-contained, no shared references. authentication: type: basic username: '{{env.EPA_USERNAME}}' password: '{{env.EPA_PASSWORD}}' resources: - name: api-pollutants path: /api/pollutants operations: - name: getapipollutants method: GET description: Pollutants inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pollutantcategories path: /api/pollutantCategories operations: - name: getapipollutantcategories method: GET description: Pollutant Categories inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pollutant path: /api/pollutant operations: - name: getapipollutant method: GET description: Pollutant inputParameters: - name: id in: query type: string required: true description: Placeholder. - name: download in: query type: string required: false description: Placeholder. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pollutantcategory path: /api/pollutantCategory operations: - name: getapipollutantcategory method: GET description: Pollutant Category inputParameters: - name: id in: query type: integer required: true description: Placeholder. - name: download in: query type: string required: false description: Placeholder. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pollutantlimitations path: /api/pollutantLimitations operations: - name: getapipollutantlimitations method: GET description: Pollutant Limitations inputParameters: - name: pollutantId in: query type: integer required: false description: Placeholder. - name: pointSourceCategoryCode in: query type: integer required: false description: Placeholder. - name: download in: query type: string required: false description: Placeholder. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-limitation path: /api/limitation operations: - name: getapilimitation method: GET description: Limitation inputParameters: - name: id in: query type: integer required: true description: Placeholder. - name: download in: query type: string required: false description: Placeholder. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: elg-search-pollutants-rest port: 8080 description: REST adapter for U.S. EPA WaterSense — Pollutants. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/pollutants name: api-pollutants description: REST surface for Pollutants. operations: - method: GET name: getapipollutants description: Pollutants call: elg-search-pollutants.getapipollutants with: {} outputParameters: - type: object mapping: $. - path: /v1/api/pollutantcategories name: api-pollutantcategories description: REST surface for Pollutant Categories. operations: - method: GET name: getapipollutantcategories description: Pollutant Categories call: elg-search-pollutants.getapipollutantcategories with: {} outputParameters: - type: object mapping: $. - path: /v1/api/pollutant name: api-pollutant description: REST surface for Pollutant. operations: - method: GET name: getapipollutant description: Pollutant call: elg-search-pollutants.getapipollutant with: id: rest.id download: rest.download outputParameters: - type: object mapping: $. - path: /v1/api/pollutantcategory name: api-pollutantcategory description: REST surface for Pollutant Category. operations: - method: GET name: getapipollutantcategory description: Pollutant Category call: elg-search-pollutants.getapipollutantcategory with: id: rest.id download: rest.download outputParameters: - type: object mapping: $. - path: /v1/api/pollutantlimitations name: api-pollutantlimitations description: REST surface for Pollutant Limitations. operations: - method: GET name: getapipollutantlimitations description: Pollutant Limitations call: elg-search-pollutants.getapipollutantlimitations with: pollutantId: rest.pollutantId pointSourceCategoryCode: rest.pointSourceCategoryCode download: rest.download outputParameters: - type: object mapping: $. - path: /v1/api/limitation name: api-limitation description: REST surface for Limitation. operations: - method: GET name: getapilimitation description: Limitation call: elg-search-pollutants.getapilimitation with: id: rest.id download: rest.download outputParameters: - type: object mapping: $. - type: mcp namespace: elg-search-pollutants-mcp port: 9090 transport: http description: MCP adapter for U.S. EPA WaterSense — Pollutants. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pollutants description: Pollutants hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapipollutants with: {} outputParameters: - type: object mapping: $. - name: pollutant-categories description: Pollutant Categories hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapipollutantcategories with: {} outputParameters: - type: object mapping: $. - name: pollutant description: Pollutant hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapipollutant with: id: tools.id download: tools.download outputParameters: - type: object mapping: $. - name: pollutant-category description: Pollutant Category hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapipollutantcategory with: id: tools.id download: tools.download outputParameters: - type: object mapping: $. - name: pollutant-limitations description: Pollutant Limitations hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapipollutantlimitations with: pollutantId: tools.pollutantId pointSourceCategoryCode: tools.pointSourceCategoryCode download: tools.download outputParameters: - type: object mapping: $. - name: limitation description: Limitation hints: readOnly: true destructive: false idempotent: true call: elg-search-pollutants.getapilimitation with: id: tools.id download: tools.download outputParameters: - type: object mapping: $.