naftiko: 1.0.0-alpha2 info: label: Emissions Management OpenAPI Specification — Apportioned Monthly Emissions description: 'Apportioned Monthly Emissions. 4 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.' tags: - EPA - Apportioned Monthly 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-emissions-apportioned-monthly-emissions baseUri: https://api.epa.gov/easey description: Emissions Management OpenAPI Specification — Apportioned Monthly Emissions business capability. Self-contained, no shared references. authentication: type: apikey key: x-api-key value: '{{env.EPA_APIKEY_KEY}}' placement: header resources: - name: emissions-mgmt-emissions-apportioned-monthly path: /emissions-mgmt/emissions/apportioned/monthly operations: - name: monthlyApportionedEmissionsControllergetEmissions method: GET description: monthlyApportionedEmissionsControllergetEmissions 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: year in: query type: array required: true description: The calendar year during which activity occurred. - name: month in: query type: array required: true description: Month on which activity occurred. - name: page in: query type: number required: true description: Page number of data being requested. - name: perPage in: query type: number required: true description: Number of results per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: emissions-mgmt-emissions-apportioned-monthly-by-facility path: /emissions-mgmt/emissions/apportioned/monthly/by-facility operations: - name: monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation method: GET description: monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation 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: year in: query type: array required: true description: The calendar year during which activity occurred. - name: month in: query type: array required: true description: Month on which activity occurred. - name: page in: query type: number required: true description: Page number of data being requested. - name: perPage in: query type: number required: true description: Number of results per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: emissions-mgmt-emissions-apportioned-monthly-by-state path: /emissions-mgmt/emissions/apportioned/monthly/by-state operations: - name: monthlyApportionedEmissionsControllergetEmissionsStateAggregation method: GET description: monthlyApportionedEmissionsControllergetEmissionsStateAggregation 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: year in: query type: array required: true description: The calendar year during which activity occurred. - name: month in: query type: array required: true description: Month on which activity occurred. - name: page in: query type: number required: true description: Page number of data being requested. - name: perPage in: query type: number required: true description: Number of results per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: emissions-mgmt-emissions-apportioned-monthly-nationally path: /emissions-mgmt/emissions/apportioned/monthly/nationally operations: - name: monthlyApportionedEmissionsControllergetEmissionsNationalAggregation method: GET description: monthlyApportionedEmissionsControllergetEmissionsNationalAggregation 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: year in: query type: array required: true description: The calendar year during which activity occurred. - name: month in: query type: array required: true description: Month on which activity occurred. - name: page in: query type: number required: true description: Page number of data being requested. - name: perPage in: query type: number required: true description: Number of results per page. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: cam-emissions-apportioned-monthly-emissions-rest port: 8080 description: REST adapter for Emissions Management OpenAPI Specification — Apportioned Monthly Emissions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/emissions-mgmt/emissions/apportioned/monthly name: emissions-mgmt-emissions-apportioned-monthly description: REST surface for monthlyApportionedEmissionsControllergetEmissions. operations: - method: GET name: monthlyApportionedEmissionsControllergetEmissions description: monthlyApportionedEmissionsControllergetEmissions call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissions with: stateCode: rest.stateCode facilityId: rest.facilityId unitType: rest.unitType unitFuelType: rest.unitFuelType controlTechnologies: rest.controlTechnologies programCodeInfo: rest.programCodeInfo year: rest.year month: rest.month page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/emissions-mgmt/emissions/apportioned/monthly/by-facility name: emissions-mgmt-emissions-apportioned-monthly-by-facility description: REST surface for monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation. operations: - method: GET name: monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation description: monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation with: stateCode: rest.stateCode facilityId: rest.facilityId unitType: rest.unitType unitFuelType: rest.unitFuelType controlTechnologies: rest.controlTechnologies programCodeInfo: rest.programCodeInfo year: rest.year month: rest.month page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/emissions-mgmt/emissions/apportioned/monthly/by-state name: emissions-mgmt-emissions-apportioned-monthly-by-state description: REST surface for monthlyApportionedEmissionsControllergetEmissionsStateAggregation. operations: - method: GET name: monthlyApportionedEmissionsControllergetEmissionsStateAggregation description: monthlyApportionedEmissionsControllergetEmissionsStateAggregation call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsStateAggregation with: stateCode: rest.stateCode facilityId: rest.facilityId unitType: rest.unitType unitFuelType: rest.unitFuelType controlTechnologies: rest.controlTechnologies programCodeInfo: rest.programCodeInfo year: rest.year month: rest.month page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/emissions-mgmt/emissions/apportioned/monthly/nationally name: emissions-mgmt-emissions-apportioned-monthly-nationally description: REST surface for monthlyApportionedEmissionsControllergetEmissionsNationalAggregation. operations: - method: GET name: monthlyApportionedEmissionsControllergetEmissionsNationalAggregation description: monthlyApportionedEmissionsControllergetEmissionsNationalAggregation call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsNationalAggregation with: stateCode: rest.stateCode facilityId: rest.facilityId unitType: rest.unitType unitFuelType: rest.unitFuelType controlTechnologies: rest.controlTechnologies programCodeInfo: rest.programCodeInfo year: rest.year month: rest.month page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - type: mcp namespace: cam-emissions-apportioned-monthly-emissions-mcp port: 9090 transport: http description: MCP adapter for Emissions Management OpenAPI Specification — Apportioned Monthly Emissions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: monthlyapportionedemissionscontroller-getemissions description: monthlyapportionedemissionscontroller-getemissions hints: readOnly: true destructive: false idempotent: true call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissions with: stateCode: tools.stateCode facilityId: tools.facilityId unitType: tools.unitType unitFuelType: tools.unitFuelType controlTechnologies: tools.controlTechnologies programCodeInfo: tools.programCodeInfo year: tools.year month: tools.month page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: monthlyapportionedemissionscontroller-getemissionsfacilityaggregation description: monthlyapportionedemissionscontroller-getemissionsfacilityaggregation hints: readOnly: true destructive: false idempotent: true call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsFacilityAggregation with: stateCode: tools.stateCode facilityId: tools.facilityId unitType: tools.unitType unitFuelType: tools.unitFuelType controlTechnologies: tools.controlTechnologies programCodeInfo: tools.programCodeInfo year: tools.year month: tools.month page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: monthlyapportionedemissionscontroller-getemissionsstateaggregation description: monthlyapportionedemissionscontroller-getemissionsstateaggregation hints: readOnly: true destructive: false idempotent: true call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsStateAggregation with: stateCode: tools.stateCode facilityId: tools.facilityId unitType: tools.unitType unitFuelType: tools.unitFuelType controlTechnologies: tools.controlTechnologies programCodeInfo: tools.programCodeInfo year: tools.year month: tools.month page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: monthlyapportionedemissionscontroller-getemissionsnationalaggregation description: monthlyapportionedemissionscontroller-getemissionsnationalaggregation hints: readOnly: true destructive: false idempotent: true call: cam-emissions-apportioned-monthly-emissions.monthlyApportionedEmissionsControllergetEmissionsNationalAggregation with: stateCode: tools.stateCode facilityId: tools.facilityId unitType: tools.unitType unitFuelType: tools.unitFuelType controlTechnologies: tools.controlTechnologies programCodeInfo: tools.programCodeInfo year: tools.year month: tools.month page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $.