U.S. EPA WaterSense — Pollutants

Pollutants. 6 operations. Lead operation: Pollutants. Self-contained Naftiko capability covering one EPA business surface.

Run with Naftiko EPAPollutants

What You Can Do

GET
Getapipollutants — Pollutants
/v1/api/pollutants
GET
Getapipollutantcategories — Pollutant Categories
/v1/api/pollutantcategories
GET
Getapipollutant — Pollutant
/v1/api/pollutant
GET
Getapipollutantcategory — Pollutant Category
/v1/api/pollutantcategory
GET
Getapipollutantlimitations — Pollutant Limitations
/v1/api/pollutantlimitations
GET
Getapilimitation — Limitation
/v1/api/limitation

MCP Tools

pollutants

Pollutants

read-only idempotent
pollutant-categories

Pollutant Categories

read-only idempotent
pollutant

Pollutant

read-only idempotent
pollutant-category

Pollutant Category

read-only idempotent
pollutant-limitations

Pollutant Limitations

read-only idempotent
limitation

Limitation

read-only idempotent

Capability Spec

elg-search-pollutants.yaml Raw ↑
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: $.