Streaming Services OpenAPI Specification — Apportioned Hourly Emissions

Apportioned Hourly Emissions. 4 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.

Run with Naftiko EPAApportioned Hourly Emissions

What You Can Do

GET
Hourlyapportionedemissionscontrollerstreamemissions — hourlyApportionedEmissionsControllerstreamEmissions
/v1/streaming-services/emissions/apportioned/hourly
GET
Hourlyapportionedemissionscontrollerstreamemissionsfacilityaggregation — hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
/v1/streaming-services/emissions/apportioned/hourly/by-facility
GET
Hourlyapportionedemissionscontrollerstreamemissionsstateaggregation — hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
/v1/streaming-services/emissions/apportioned/hourly/by-state
GET
Hourlyapportionedemissionscontrollerstreamemissionsnationalaggregation — hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
/v1/streaming-services/emissions/apportioned/hourly/nationally

MCP Tools

hourlyapportionedemissionscontroller-streamemissions

hourlyapportionedemissionscontroller-streamemissions

read-only idempotent
hourlyapportionedemissionscontroller-streamemissionsfacilityaggregation

hourlyapportionedemissionscontroller-streamemissionsfacilityaggregation

read-only idempotent
hourlyapportionedemissionscontroller-streamemissionsstateaggregation

hourlyapportionedemissionscontroller-streamemissionsstateaggregation

read-only idempotent
hourlyapportionedemissionscontroller-streamemissionsnationalaggregation

hourlyapportionedemissionscontroller-streamemissionsnationalaggregation

read-only idempotent

Capability Spec

cam-streaming-apportioned-hourly-emissions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Streaming Services OpenAPI Specification — Apportioned Hourly Emissions
  description: 'Apportioned Hourly Emissions. 4 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.'
  tags:
    - EPA
    - Apportioned Hourly Emissions
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      EPA_APIKEY_KEY: EPA_APIKEY_KEY
capability:
  consumes:
    - type: http
      namespace: cam-streaming-apportioned-hourly-emissions
      baseUri: https://api.epa.gov/easey
      description: Streaming Services OpenAPI Specification — Apportioned Hourly Emissions business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.EPA_APIKEY_KEY}}'
        placement: header
      resources:
        - name: streaming-services-emissions-apportioned-hourly
          path: /streaming-services/emissions/apportioned/hourly
          operations:
            - name: hourlyApportionedEmissionsControllerstreamEmissions
              method: GET
              description: hourlyApportionedEmissionsControllerstreamEmissions
              inputParameters:
                - name: stateCode
                  in: query
                  type: array
                  required: false
                  description: Two letter abbreviation for the State.
                - name: facilityId
                  in: query
                  type: array
                  required: false
                  description: The Facility ID code assigned by the Department of Energy's Energy Information Administration. The Energy Information Administration Plant ID code is also referred to as the "ORIS code", "ORISPL code"
                - name: unitType
                  in: query
                  type: array
                  required: false
                  description: Type of unit or boiler.
                - name: unitFuelType
                  in: query
                  type: array
                  required: false
                  description: Primary or Secondary fuel types combusted by the unit.
                - name: controlTechnologies
                  in: query
                  type: array
                  required: false
                  description: Method or equipment used by the combustion unit to minimize Hg, NOx, PM, or SO2 emissions.
                - name: programCodeInfo
                  in: query
                  type: array
                  required: false
                  description: Statutory or regulatory based options for tracking and reducing air pollution emissions.
                - name: beginDate
                  in: query
                  type: string
                  required: true
                  description: Begin date for a given period of a unit's emissions.
                - name: endDate
                  in: query
                  type: string
                  required: true
                  description: End date for a given period of a unit's emissions.
                - name: operatingHoursOnly
                  in: query
                  type: boolean
                  required: false
                  description: Indicator of whether or not a request should return only data for hours where a unit operated.
                - name: locationName
                  in: query
                  type: array
                  required: false
                  description: locationName
                - name: exclude
                  in: query
                  type: array
                  required: false
                  description: Selected items will be excluded from the response
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: streaming-services-emissions-apportioned-hourly-by-facility
          path: /streaming-services/emissions/apportioned/hourly/by-facility
          operations:
            - name: hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
              method: GET
              description: hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
              inputParameters:
                - name: stateCode
                  in: query
                  type: array
                  required: false
                  description: Two letter abbreviation for the State.
                - name: facilityId
                  in: query
                  type: array
                  required: false
                  description: The Facility ID code assigned by the Department of Energy's Energy Information Administration. The Energy Information Administration Plant ID code is also referred to as the "ORIS code", "ORISPL code"
                - name: unitType
                  in: query
                  type: array
                  required: false
                  description: Type of unit or boiler.
                - name: unitFuelType
                  in: query
                  type: array
                  required: false
                  description: Primary or Secondary fuel types combusted by the unit.
                - name: controlTechnologies
                  in: query
                  type: array
                  required: false
                  description: Method or equipment used by the combustion unit to minimize Hg, NOx, PM, or SO2 emissions.
                - name: programCodeInfo
                  in: query
                  type: array
                  required: false
                  description: Statutory or regulatory based options for tracking and reducing air pollution emissions.
                - name: beginDate
                  in: query
                  type: string
                  required: true
                  description: Begin date for a given period of a unit's emissions.
                - name: endDate
                  in: query
                  type: string
                  required: true
                  description: End date for a given period of a unit's emissions.
                - name: operatingHoursOnly
                  in: query
                  type: boolean
                  required: false
                  description: Indicator of whether or not a request should return only data for hours where a unit operated.
                - name: locationName
                  in: query
                  type: array
                  required: false
                  description: locationName
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: streaming-services-emissions-apportioned-hourly-by-state
          path: /streaming-services/emissions/apportioned/hourly/by-state
          operations:
            - name: hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
              method: GET
              description: hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
              inputParameters:
                - name: stateCode
                  in: query
                  type: array
                  required: false
                  description: Two letter abbreviation for the State.
                - name: facilityId
                  in: query
                  type: array
                  required: false
                  description: The Facility ID code assigned by the Department of Energy's Energy Information Administration. The Energy Information Administration Plant ID code is also referred to as the "ORIS code", "ORISPL code"
                - name: unitType
                  in: query
                  type: array
                  required: false
                  description: Type of unit or boiler.
                - name: unitFuelType
                  in: query
                  type: array
                  required: false
                  description: Primary or Secondary fuel types combusted by the unit.
                - name: controlTechnologies
                  in: query
                  type: array
                  required: false
                  description: Method or equipment used by the combustion unit to minimize Hg, NOx, PM, or SO2 emissions.
                - name: programCodeInfo
                  in: query
                  type: array
                  required: false
                  description: Statutory or regulatory based options for tracking and reducing air pollution emissions.
                - name: beginDate
                  in: query
                  type: string
                  required: true
                  description: Begin date for a given period of a unit's emissions.
                - name: endDate
                  in: query
                  type: string
                  required: true
                  description: End date for a given period of a unit's emissions.
                - name: operatingHoursOnly
                  in: query
                  type: boolean
                  required: false
                  description: Indicator of whether or not a request should return only data for hours where a unit operated.
                - name: locationName
                  in: query
                  type: array
                  required: false
                  description: locationName
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: streaming-services-emissions-apportioned-hourly-nationally
          path: /streaming-services/emissions/apportioned/hourly/nationally
          operations:
            - name: hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
              method: GET
              description: hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
              inputParameters:
                - name: stateCode
                  in: query
                  type: array
                  required: false
                  description: Two letter abbreviation for the State.
                - name: facilityId
                  in: query
                  type: array
                  required: false
                  description: The Facility ID code assigned by the Department of Energy's Energy Information Administration. The Energy Information Administration Plant ID code is also referred to as the "ORIS code", "ORISPL code"
                - name: unitType
                  in: query
                  type: array
                  required: false
                  description: Type of unit or boiler.
                - name: unitFuelType
                  in: query
                  type: array
                  required: false
                  description: Primary or Secondary fuel types combusted by the unit.
                - name: controlTechnologies
                  in: query
                  type: array
                  required: false
                  description: Method or equipment used by the combustion unit to minimize Hg, NOx, PM, or SO2 emissions.
                - name: programCodeInfo
                  in: query
                  type: array
                  required: false
                  description: Statutory or regulatory based options for tracking and reducing air pollution emissions.
                - name: beginDate
                  in: query
                  type: string
                  required: true
                  description: Begin date for a given period of a unit's emissions.
                - name: endDate
                  in: query
                  type: string
                  required: true
                  description: End date for a given period of a unit's emissions.
                - name: operatingHoursOnly
                  in: query
                  type: boolean
                  required: false
                  description: Indicator of whether or not a request should return only data for hours where a unit operated.
                - name: locationName
                  in: query
                  type: array
                  required: false
                  description: locationName
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: cam-streaming-apportioned-hourly-emissions-rest
      port: 8080
      description: REST adapter for Streaming Services OpenAPI Specification — Apportioned Hourly Emissions. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/streaming-services/emissions/apportioned/hourly
          name: streaming-services-emissions-apportioned-hourly
          description: REST surface for hourlyApportionedEmissionsControllerstreamEmissions.
          operations:
            - method: GET
              name: hourlyApportionedEmissionsControllerstreamEmissions
              description: hourlyApportionedEmissionsControllerstreamEmissions
              call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissions
              with:
                stateCode: rest.stateCode
                facilityId: rest.facilityId
                unitType: rest.unitType
                unitFuelType: rest.unitFuelType
                controlTechnologies: rest.controlTechnologies
                programCodeInfo: rest.programCodeInfo
                beginDate: rest.beginDate
                endDate: rest.endDate
                operatingHoursOnly: rest.operatingHoursOnly
                locationName: rest.locationName
                exclude: rest.exclude
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/streaming-services/emissions/apportioned/hourly/by-facility
          name: streaming-services-emissions-apportioned-hourly-by-facility
          description: REST surface for hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation.
          operations:
            - method: GET
              name: hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
              description: hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
              call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
              with:
                stateCode: rest.stateCode
                facilityId: rest.facilityId
                unitType: rest.unitType
                unitFuelType: rest.unitFuelType
                controlTechnologies: rest.controlTechnologies
                programCodeInfo: rest.programCodeInfo
                beginDate: rest.beginDate
                endDate: rest.endDate
                operatingHoursOnly: rest.operatingHoursOnly
                locationName: rest.locationName
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/streaming-services/emissions/apportioned/hourly/by-state
          name: streaming-services-emissions-apportioned-hourly-by-state
          description: REST surface for hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation.
          operations:
            - method: GET
              name: hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
              description: hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
              call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
              with:
                stateCode: rest.stateCode
                facilityId: rest.facilityId
                unitType: rest.unitType
                unitFuelType: rest.unitFuelType
                controlTechnologies: rest.controlTechnologies
                programCodeInfo: rest.programCodeInfo
                beginDate: rest.beginDate
                endDate: rest.endDate
                operatingHoursOnly: rest.operatingHoursOnly
                locationName: rest.locationName
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/streaming-services/emissions/apportioned/hourly/nationally
          name: streaming-services-emissions-apportioned-hourly-nationally
          description: REST surface for hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation.
          operations:
            - method: GET
              name: hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
              description: hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
              call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
              with:
                stateCode: rest.stateCode
                facilityId: rest.facilityId
                unitType: rest.unitType
                unitFuelType: rest.unitFuelType
                controlTechnologies: rest.controlTechnologies
                programCodeInfo: rest.programCodeInfo
                beginDate: rest.beginDate
                endDate: rest.endDate
                operatingHoursOnly: rest.operatingHoursOnly
                locationName: rest.locationName
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: cam-streaming-apportioned-hourly-emissions-mcp
      port: 9090
      transport: http
      description: MCP adapter for Streaming Services OpenAPI Specification — Apportioned Hourly Emissions. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: hourlyapportionedemissionscontroller-streamemissions
          description: hourlyapportionedemissionscontroller-streamemissions
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissions
          with:
            stateCode: tools.stateCode
            facilityId: tools.facilityId
            unitType: tools.unitType
            unitFuelType: tools.unitFuelType
            controlTechnologies: tools.controlTechnologies
            programCodeInfo: tools.programCodeInfo
            beginDate: tools.beginDate
            endDate: tools.endDate
            operatingHoursOnly: tools.operatingHoursOnly
            locationName: tools.locationName
            exclude: tools.exclude
          outputParameters:
            - type: object
              mapping: $.
        - name: hourlyapportionedemissionscontroller-streamemissionsfacilityaggregation
          description: hourlyapportionedemissionscontroller-streamemissionsfacilityaggregation
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsFacilityAggregation
          with:
            stateCode: tools.stateCode
            facilityId: tools.facilityId
            unitType: tools.unitType
            unitFuelType: tools.unitFuelType
            controlTechnologies: tools.controlTechnologies
            programCodeInfo: tools.programCodeInfo
            beginDate: tools.beginDate
            endDate: tools.endDate
            operatingHoursOnly: tools.operatingHoursOnly
            locationName: tools.locationName
          outputParameters:
            - type: object
              mapping: $.
        - name: hourlyapportionedemissionscontroller-streamemissionsstateaggregation
          description: hourlyapportionedemissionscontroller-streamemissionsstateaggregation
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsStateAggregation
          with:
            stateCode: tools.stateCode
            facilityId: tools.facilityId
            unitType: tools.unitType
            unitFuelType: tools.unitFuelType
            controlTechnologies: tools.controlTechnologies
            programCodeInfo: tools.programCodeInfo
            beginDate: tools.beginDate
            endDate: tools.endDate
            operatingHoursOnly: tools.operatingHoursOnly
            locationName: tools.locationName
          outputParameters:
            - type: object
              mapping: $.
        - name: hourlyapportionedemissionscontroller-streamemissionsnationalaggregation
          description: hourlyapportionedemissionscontroller-streamemissionsnationalaggregation
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-streaming-apportioned-hourly-emissions.hourlyApportionedEmissionsControllerstreamEmissionsNationalAggregation
          with:
            stateCode: tools.stateCode
            facilityId: tools.facilityId
            unitType: tools.unitType
            unitFuelType: tools.unitFuelType
            controlTechnologies: tools.controlTechnologies
            programCodeInfo: tools.programCodeInfo
            beginDate: tools.beginDate
            endDate: tools.endDate
            operatingHoursOnly: tools.operatingHoursOnly
            locationName: tools.locationName
          outputParameters:
            - type: object
              mapping: $.