naftiko: 1.0.0-alpha2 info: label: Account Management OpenAPI Specification — Allowance Holdings description: 'Allowance Holdings. 3 operations. Lead operation: operations. Self-contained Naftiko capability covering one EPA business surface.' tags: - EPA - Allowance Holdings 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-allowance-holdings baseUri: https://api.epa.gov/easey description: Account Management OpenAPI Specification — Allowance Holdings 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-allowance-holdings path: /account-mgmt/allowance-holdings operations: - name: allowanceHoldingsControllergetAllowanceHoldings method: GET description: allowanceHoldingsControllergetAllowanceHoldings 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: vintageYear in: query type: array required: false description: Year allowance becomes eligible for use in compliance. - 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-allowance-holdings-attributes-applicable path: /account-mgmt/allowance-holdings/attributes/applicable operations: - name: allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes method: GET description: allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: account-mgmt-allowance-holdings-owner-operators path: /account-mgmt/allowance-holdings/owner-operators operations: - name: allowanceHoldingsControllergetAllOwnerOperators method: GET description: allowanceHoldingsControllergetAllOwnerOperators inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: cam-account-allowance-holdings-rest port: 8080 description: REST adapter for Account Management OpenAPI Specification — Allowance Holdings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/account-mgmt/allowance-holdings name: account-mgmt-allowance-holdings description: REST surface for allowanceHoldingsControllergetAllowanceHoldings. operations: - method: GET name: allowanceHoldingsControllergetAllowanceHoldings description: allowanceHoldingsControllergetAllowanceHoldings call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllowanceHoldings with: accountType: rest.accountType accountNumber: rest.accountNumber facilityId: rest.facilityId stateCode: rest.stateCode vintageYear: rest.vintageYear ownerOperator: rest.ownerOperator programCodeInfo: rest.programCodeInfo page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/account-mgmt/allowance-holdings/attributes/applicable name: account-mgmt-allowance-holdings-attributes-applicable description: REST surface for allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes. operations: - method: GET name: allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes description: allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes with: {} outputParameters: - type: object mapping: $. - path: /v1/account-mgmt/allowance-holdings/owner-operators name: account-mgmt-allowance-holdings-owner-operators description: REST surface for allowanceHoldingsControllergetAllOwnerOperators. operations: - method: GET name: allowanceHoldingsControllergetAllOwnerOperators description: allowanceHoldingsControllergetAllOwnerOperators call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllOwnerOperators with: {} outputParameters: - type: object mapping: $. - type: mcp namespace: cam-account-allowance-holdings-mcp port: 9090 transport: http description: MCP adapter for Account Management OpenAPI Specification — Allowance Holdings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: allowanceholdingscontroller-getallowanceholdings description: allowanceholdingscontroller-getallowanceholdings hints: readOnly: true destructive: false idempotent: true call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllowanceHoldings with: accountType: tools.accountType accountNumber: tools.accountNumber facilityId: tools.facilityId stateCode: tools.stateCode vintageYear: tools.vintageYear ownerOperator: tools.ownerOperator programCodeInfo: tools.programCodeInfo page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: allowanceholdingscontroller-getallapplicableallowanceholdingsattributes description: allowanceholdingscontroller-getallapplicableallowanceholdingsattributes hints: readOnly: true destructive: false idempotent: true call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllApplicableAllowanceHoldingsAttributes with: {} outputParameters: - type: object mapping: $. - name: allowanceholdingscontroller-getallowneroperators description: allowanceholdingscontroller-getallowneroperators hints: readOnly: true destructive: false idempotent: true call: cam-account-allowance-holdings.allowanceHoldingsControllergetAllOwnerOperators with: {} outputParameters: - type: object mapping: $.