Account Management OpenAPI Specification — Accounts

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

Run with Naftiko EPAAccounts

What You Can Do

GET
Accountcontrollergetallaccounts — accountControllergetAllAccounts
/v1/account-mgmt/accounts
GET
Accountcontrollergetallaccountattributes — accountControllergetAllAccountAttributes
/v1/account-mgmt/accounts/attributes
GET
Accountcontrollergetallapplicableaccountattributes — accountControllergetAllApplicableAccountAttributes
/v1/account-mgmt/accounts/attributes/applicable
GET
Accountcontrollergetallowneroperators — accountControllergetAllOwnerOperators
/v1/account-mgmt/accounts/owner-operators

MCP Tools

accountcontroller-getallaccounts

accountcontroller-getallaccounts

read-only idempotent
accountcontroller-getallaccountattributes

accountcontroller-getallaccountattributes

read-only idempotent
accountcontroller-getallapplicableaccountattributes

accountcontroller-getallapplicableaccountattributes

read-only idempotent
accountcontroller-getallowneroperators

accountcontroller-getallowneroperators

read-only idempotent

Capability Spec

cam-account-accounts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Account Management OpenAPI Specification — Accounts
  description: 'Accounts. 4 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.'
  tags:
    - EPA
    - Accounts
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      EPA_APIKEY_KEY: EPA_APIKEY_KEY
capability:
  consumes:
    - type: http
      namespace: cam-account-accounts
      baseUri: https://api.epa.gov/easey
      description: Account Management OpenAPI Specification — Accounts business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.EPA_APIKEY_KEY}}'
        placement: header
      resources:
        - name: account-mgmt-accounts
          path: /account-mgmt/accounts
          operations:
            - name: accountControllergetAllAccounts
              method: GET
              description: accountControllergetAllAccounts
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: account-mgmt-accounts-attributes
          path: /account-mgmt/accounts/attributes
          operations:
            - name: accountControllergetAllAccountAttributes
              method: GET
              description: accountControllergetAllAccountAttributes
              inputParameters:
                - name: accountType
                  in: query
                  type: array
                  required: false
                  description: Type of allowance account (Facility, General, etc.).
                - name: accountNumber
                  in: query
                  type: array
                  required: false
                  description: The unique identification number of an account.
                - 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: ownerOperator
                  in: query
                  type: array
                  required: false
                  description: The name of any company that owns an allowance account or an affected unit.The name of any company that operates an affected 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: account-mgmt-accounts-attributes-applicable
          path: /account-mgmt/accounts/attributes/applicable
          operations:
            - name: accountControllergetAllApplicableAccountAttributes
              method: GET
              description: accountControllergetAllApplicableAccountAttributes
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: account-mgmt-accounts-owner-operators
          path: /account-mgmt/accounts/owner-operators
          operations:
            - name: accountControllergetAllOwnerOperators
              method: GET
              description: accountControllergetAllOwnerOperators
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: cam-account-accounts-rest
      port: 8080
      description: REST adapter for Account Management OpenAPI Specification — Accounts. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/account-mgmt/accounts
          name: account-mgmt-accounts
          description: REST surface for accountControllergetAllAccounts.
          operations:
            - method: GET
              name: accountControllergetAllAccounts
              description: accountControllergetAllAccounts
              call: cam-account-accounts.accountControllergetAllAccounts
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/account-mgmt/accounts/attributes
          name: account-mgmt-accounts-attributes
          description: REST surface for accountControllergetAllAccountAttributes.
          operations:
            - method: GET
              name: accountControllergetAllAccountAttributes
              description: accountControllergetAllAccountAttributes
              call: cam-account-accounts.accountControllergetAllAccountAttributes
              with:
                accountType: rest.accountType
                accountNumber: rest.accountNumber
                facilityId: rest.facilityId
                stateCode: rest.stateCode
                ownerOperator: rest.ownerOperator
                programCodeInfo: rest.programCodeInfo
                page: rest.page
                perPage: rest.perPage
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/account-mgmt/accounts/attributes/applicable
          name: account-mgmt-accounts-attributes-applicable
          description: REST surface for accountControllergetAllApplicableAccountAttributes.
          operations:
            - method: GET
              name: accountControllergetAllApplicableAccountAttributes
              description: accountControllergetAllApplicableAccountAttributes
              call: cam-account-accounts.accountControllergetAllApplicableAccountAttributes
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/account-mgmt/accounts/owner-operators
          name: account-mgmt-accounts-owner-operators
          description: REST surface for accountControllergetAllOwnerOperators.
          operations:
            - method: GET
              name: accountControllergetAllOwnerOperators
              description: accountControllergetAllOwnerOperators
              call: cam-account-accounts.accountControllergetAllOwnerOperators
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: cam-account-accounts-mcp
      port: 9090
      transport: http
      description: MCP adapter for Account Management OpenAPI Specification — Accounts. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: accountcontroller-getallaccounts
          description: accountcontroller-getallaccounts
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-account-accounts.accountControllergetAllAccounts
          with: {}
          outputParameters:
            - type: object
              mapping: $.
        - name: accountcontroller-getallaccountattributes
          description: accountcontroller-getallaccountattributes
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-account-accounts.accountControllergetAllAccountAttributes
          with:
            accountType: tools.accountType
            accountNumber: tools.accountNumber
            facilityId: tools.facilityId
            stateCode: tools.stateCode
            ownerOperator: tools.ownerOperator
            programCodeInfo: tools.programCodeInfo
            page: tools.page
            perPage: tools.perPage
          outputParameters:
            - type: object
              mapping: $.
        - name: accountcontroller-getallapplicableaccountattributes
          description: accountcontroller-getallapplicableaccountattributes
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-account-accounts.accountControllergetAllApplicableAccountAttributes
          with: {}
          outputParameters:
            - type: object
              mapping: $.
        - name: accountcontroller-getallowneroperators
          description: accountcontroller-getallowneroperators
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: cam-account-accounts.accountControllergetAllOwnerOperators
          with: {}
          outputParameters:
            - type: object
              mapping: $.