Facilities Management OpenAPI Specification — Facilities

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

Run with Naftiko EPAFacilities

What You Can Do

GET
Facilitiescontrollergetfacilities — facilitiesControllergetFacilities
/v1/facilities-mgmt/facilities
GET
Facilitiescontrollergetallfacilityattributes — facilitiesControllergetAllFacilityAttributes
/v1/facilities-mgmt/facilities/attributes
GET
Facilitiescontrollergetapplicablefacilityattributes — facilitiesControllergetApplicableFacilityAttributes
/v1/facilities-mgmt/facilities/attributes/applicable
GET
Facilitiescontrollergetfacilitybyid — facilitiesControllergetFacilityById
/v1/facilities-mgmt/facilities/{id}

MCP Tools

facilitiescontroller-getfacilities

facilitiescontroller-getfacilities

read-only idempotent
facilitiescontroller-getallfacilityattributes

facilitiescontroller-getallfacilityattributes

read-only idempotent
facilitiescontroller-getapplicablefacilityattributes

facilitiescontroller-getapplicablefacilityattributes

read-only idempotent
facilitiescontroller-getfacilitybyid

facilitiescontroller-getfacilitybyid

read-only idempotent

Capability Spec

cam-facilities-facilities.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Facilities Management OpenAPI Specification — Facilities
  description: 'Facilities. 4 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.'
  tags:
    - EPA
    - Facilities
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      EPA_APIKEY_KEY: EPA_APIKEY_KEY
capability:
  consumes:
    - type: http
      namespace: cam-facilities-facilities
      baseUri: https://api.epa.gov/easey
      description: Facilities Management OpenAPI Specification — Facilities business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.EPA_APIKEY_KEY}}'
        placement: header
      resources:
        - name: facilities-mgmt-facilities
          path: /facilities-mgmt/facilities
          operations:
            - name: facilitiesControllergetFacilities
              method: GET
              description: facilitiesControllergetFacilities
              inputParameters:
                - name: page
                  in: query
                  type: number
                  required: false
                  description: Page number of data being requested.
                - name: perPage
                  in: query
                  type: number
                  required: false
                  description: Number of results per page.
                - name: stateCode
                  in: query
                  type: string
                  required: false
                  description: Two letter abbreviation for the State.
                - name: epaRegion
                  in: query
                  type: string
                  required: false
                  description: An EPA Region is a group of U.S. states. EPA Regions are numbered from 1 to 10 and each state belongs to one and only one EPA Region.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: facilities-mgmt-facilities-attributes
          path: /facilities-mgmt/facilities/attributes
          operations:
            - name: facilitiesControllergetAllFacilityAttributes
              method: GET
              description: facilitiesControllergetAllFacilityAttributes
              inputParameters:
                - name: year
                  in: query
                  type: array
                  required: true
                  description: The calendar year during which activity occurred.
                - 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: stateCode
                  in: query
                  type: array
                  required: false
                  description: Two letter abbreviation for the State.
                - 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: sourceCategory
                  in: query
                  type: array
                  required: false
                  description: Description of a unit that classifies it in terms of the primary function of the unit.
                - name: programCodeInfo
                  in: query
                  type: array
                  required: false
                  description: Statutory or regulatory based options for tracking and reducing air pollution emissions.
                - 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: facilities-mgmt-facilities-attributes-applicable
          path: /facilities-mgmt/facilities/attributes/applicable
          operations:
            - name: facilitiesControllergetApplicableFacilityAttributes
              method: GET
              description: facilitiesControllergetApplicableFacilityAttributes
              inputParameters:
                - name: year
                  in: query
                  type: array
                  required: true
                  description: The calendar year during which activity occurred.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: facilities-mgmt-facilities-id
          path: /facilities-mgmt/facilities/{id}
          operations:
            - name: facilitiesControllergetFacilityById
              method: GET
              description: facilitiesControllergetFacilityById
              inputParameters:
                - name: id
                  in: path
                  type: number
                  required: true
                  description: id
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: cam-facilities-facilities-rest
      port: 8080
      description: REST adapter for Facilities Management OpenAPI Specification — Facilities. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/facilities-mgmt/facilities
          name: facilities-mgmt-facilities
          description: REST surface for facilitiesControllergetFacilities.
          operations:
            - method: GET
              name: facilitiesControllergetFacilities
              description: facilitiesControllergetFacilities
              call: cam-facilities-facilities.facilitiesControllergetFacilities
              with:
                page: rest.page
                perPage: rest.perPage
                stateCode: rest.stateCode
                epaRegion: rest.epaRegion
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/facilities-mgmt/facilities/attributes
          name: facilities-mgmt-facilities-attributes
          description: REST surface for facilitiesControllergetAllFacilityAttributes.
          operations:
            - method: GET
              name: facilitiesControllergetAllFacilityAttributes
              description: facilitiesControllergetAllFacilityAttributes
              call: cam-facilities-facilities.facilitiesControllergetAllFacilityAttributes
              with:
                year: rest.year
                facilityId: rest.facilityId
                stateCode: rest.stateCode
                unitType: rest.unitType
                unitFuelType: rest.unitFuelType
                controlTechnologies: rest.controlTechnologies
                sourceCategory: rest.sourceCategory
                programCodeInfo: rest.programCodeInfo
                page: rest.page
                perPage: rest.perPage
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/facilities-mgmt/facilities/attributes/applicable
          name: facilities-mgmt-facilities-attributes-applicable
          description: REST surface for facilitiesControllergetApplicableFacilityAttributes.
          operations:
            - method: GET
              name: facilitiesControllergetApplicableFacilityAttributes
              description: facilitiesControllergetApplicableFacilityAttributes
              call: cam-facilities-facilities.facilitiesControllergetApplicableFacilityAttributes
              with:
                year: rest.year
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/facilities-mgmt/facilities/{id}
          name: facilities-mgmt-facilities-id
          description: REST surface for facilitiesControllergetFacilityById.
          operations:
            - method: GET
              name: facilitiesControllergetFacilityById
              description: facilitiesControllergetFacilityById
              call: cam-facilities-facilities.facilitiesControllergetFacilityById
              with:
                id: rest.id
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: cam-facilities-facilities-mcp
      port: 9090
      transport: http
      description: MCP adapter for Facilities Management OpenAPI Specification — Facilities. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: facilitiescontroller-getfacilities
          description: facilitiescontroller-getfacilities
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-facilities-facilities.facilitiesControllergetFacilities
          with:
            page: tools.page
            perPage: tools.perPage
            stateCode: tools.stateCode
            epaRegion: tools.epaRegion
          outputParameters:
            - type: object
              mapping: $.
        - name: facilitiescontroller-getallfacilityattributes
          description: facilitiescontroller-getallfacilityattributes
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-facilities-facilities.facilitiesControllergetAllFacilityAttributes
          with:
            year: tools.year
            facilityId: tools.facilityId
            stateCode: tools.stateCode
            unitType: tools.unitType
            unitFuelType: tools.unitFuelType
            controlTechnologies: tools.controlTechnologies
            sourceCategory: tools.sourceCategory
            programCodeInfo: tools.programCodeInfo
            page: tools.page
            perPage: tools.perPage
          outputParameters:
            - type: object
              mapping: $.
        - name: facilitiescontroller-getapplicablefacilityattributes
          description: facilitiescontroller-getapplicablefacilityattributes
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-facilities-facilities.facilitiesControllergetApplicableFacilityAttributes
          with:
            year: tools.year
          outputParameters:
            - type: object
              mapping: $.
        - name: facilitiescontroller-getfacilitybyid
          description: facilitiescontroller-getfacilitybyid
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-facilities-facilities.facilitiesControllergetFacilityById
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.