EPA — U.S. Environmental Protection Agency Agentic Access

x-agentic-access generated

EPA — U.S. Environmental Protection Agency exposes 611 API operations that an AI agent could call, of which 148 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 463 read, 147 write, and 1 safety-critical.

1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

GovernmentEnvironmentalOpenDataAirQualityWaterQualityHazardousWasteComplianceEmissions
Operations: 611 Acting: 148 Human-in-the-loop: 1 Method: generated

By consequence

read 463 write 147 safety-critical 1

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /camd-services/support/email/emailRecipientList safety-critical required

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/aqs-openapi.yml, openapi/cam-account-openapi.json, openapi/cam-camd-services-openapi.json,
  openapi/cam-emissions-openapi.json, openapi/cam-facilities-openapi.json, openapi/cam-master-data-openapi.json,
  openapi/cam-monitor-plan-openapi.json, openapi/cam-qa-cert-openapi.json, openapi/cam-streaming-openapi.json,
  openapi/cip-service-openapi.yml, openapi/csb-rebate-openapi.json, openapi/echo-air-openapi.json,
  openapi/echo-all-openapi.json, openapi/echo-case-openapi.json, openapi/echo-cwa-openapi.json,
  openapi/echo-dfr-openapi.json, openapi/echo-effluent-openapi.json, openapi/echo-rcra-openapi.json,
  openapi/echo-sdw-openapi.json, openapi/elg-search-openapi.json, openapi/envirofacts-openapi.yml,
  openapi/mywaterway-openapi.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 611
  by_action_class:
    connected: 463
    acting: 148
  by_consequence:
    read: 463
    safety-critical: 1
    write: 147
  human_in_the_loop_required: 1
operations:
- path: /metaData/isAvailable
  method: get
  operationId: metaDataIsAvailable
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /metaData/revisionHistory
  method: get
  operationId: metaDataRevisionHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /metaData/fieldsByService
  method: get
  operationId: metaDataFieldsByService
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /metaData/issues
  method: get
  operationId: metaDataIssues
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/states
  method: get
  operationId: listStates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/countiesByState
  method: get
  operationId: listCountiesByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/sitesByCounty
  method: get
  operationId: listSitesByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/cbsas
  method: get
  operationId: listCbsas
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/classes
  method: get
  operationId: listClasses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/parametersByClass
  method: get
  operationId: listParametersByClass
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/pqaos
  method: get
  operationId: listPqaos
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /list/mas
  method: get
  operationId: listMas
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitors/bySite
  method: get
  operationId: monitorsBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitors/byCounty
  method: get
  operationId: monitorsByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitors/byState
  method: get
  operationId: monitorsByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitors/byBox
  method: get
  operationId: monitorsByBox
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitors/byCBSA
  method: get
  operationId: monitorsByCBSA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleData/bySite
  method: get
  operationId: sampleDataBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleData/byCounty
  method: get
  operationId: sampleDataByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleData/byState
  method: get
  operationId: sampleDataByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleData/byBox
  method: get
  operationId: sampleDataByBox
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleData/byCBSA
  method: get
  operationId: sampleDataByCBSA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /dailyData/bySite
  method: get
  operationId: dailyDataBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /dailyData/byCounty
  method: get
  operationId: dailyDataByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /dailyData/byState
  method: get
  operationId: dailyDataByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /dailyData/byBox
  method: get
  operationId: dailyDataByBox
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /dailyData/byCBSA
  method: get
  operationId: dailyDataByCBSA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quarterlyData/bySite
  method: get
  operationId: quarterlyDataBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quarterlyData/byCounty
  method: get
  operationId: quarterlyDataByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quarterlyData/byState
  method: get
  operationId: quarterlyDataByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quarterlyData/byBox
  method: get
  operationId: quarterlyDataByBox
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /quarterlyData/byCBSA
  method: get
  operationId: quarterlyDataByCBSA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /annualData/bySite
  method: get
  operationId: annualDataBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /annualData/byCounty
  method: get
  operationId: annualDataByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /annualData/byState
  method: get
  operationId: annualDataByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /annualData/byBox
  method: get
  operationId: annualDataByBox
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /annualData/byCBSA
  method: get
  operationId: annualDataByCBSA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaAnnualPerformanceEvaluations/bySite
  method: get
  operationId: qaAnnualBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaAnnualPerformanceEvaluations/byCounty
  method: get
  operationId: qaAnnualByCounty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaAnnualPerformanceEvaluations/byState
  method: get
  operationId: qaAnnualByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaAnnualPerformanceEvaluations/byPQAO
  method: get
  operationId: qaAnnualByPQAO
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaAnnualPerformanceEvaluations/byMA
  method: get
  operationId: qaAnnualByMA
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaBlanks/bySite
  method: get
  operationId: qaBlanksBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaBlanks/byState
  method: get
  operationId: qaBlanksByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaCollocatedAssessments/bySite
  method: get
  operationId: qaCollocatedBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaFlowRateVerifications/bySite
  method: get
  operationId: qaFlowRateVerifBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaFlowRateAudits/bySite
  method: get
  operationId: qaFlowRateAuditsBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaOnePointQcRawData/bySite
  method: get
  operationId: qaOnePointBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /qaPepAudits/bySite
  method: get
  operationId: qaPepBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /transactionsSample/bySite
  method: get
  operationId: txSampleBySite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /transactionsSample/byState
  method: get
  operationId: txSampleByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /transactionsQaAnnualPerformanceEvaluations/byState
  method: get
  operationId: txQaAnnualByState
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /signup
  method: get
  operationId: signup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-holdings
  method: get
  operationId: AllowanceHoldingsController_getAllowanceHoldings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-holdings/attributes/applicable
  method: get
  operationId: AllowanceHoldingsController_getAllApplicableAllowanceHoldingsAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-holdings/owner-operators
  method: get
  operationId: AllowanceHoldingsController_getAllOwnerOperators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-transactions
  method: get
  operationId: AllowanceTransactionsController_getAllowanceTransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-transactions/attributes/applicable
  method: get
  operationId: AllowanceTransactionsController_getAllApplicableAllowanceTransactionsAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-transactions/owner-operators
  method: get
  operationId: AllowanceTransactionsController_getAllOwnerOperators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/accounts
  method: get
  operationId: AccountController_getAllAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/accounts/attributes
  method: get
  operationId: AccountController_getAllAccountAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/accounts/attributes/applicable
  method: get
  operationId: AccountController_getAllApplicableAccountAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/accounts/owner-operators
  method: get
  operationId: AccountController_getAllOwnerOperators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-compliance
  method: get
  operationId: AllowanceComplianceController_getAllowanceCompliance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-compliance/attributes/applicable
  method: get
  operationId: AllowanceComplianceController_getAllApplicableAllowanceComplianceAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/allowance-compliance/owner-operators
  method: get
  operationId: AllowanceComplianceController_getAllOwnerOperators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/emissions-compliance
  method: get
  operationId: EmissionsComplianceController_getEmissionsCompliance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/emissions-compliance/attributes/applicable
  method: get
  operationId: EmissionsComplianceController_getAllApplicableEmissionsComplianceAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account-mgmt/emissions-compliance/owner-operators
  method: get
  operationId: EmissionsComplianceController_getAllOwnerOperators
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /camd-services/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /camd-services/bulk-files
  method: get
  operationId: BulkFileController_getBulkFiles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /camd-services/reports/list
  method: get
  operationId: ReportController_getAvailableReports
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /camd-services/reports
  method: get
  operationId: ReportController_getReport
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /camd-services/support/email/emailRecipientList
  method: post
  operationId: MailController_getEmailRecipientList
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /emissions-mgmt/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/export
  method: get
  operationId: EmissionsController_export
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/submission-progress
  method: get
  operationId: EmissionsController_submissionProgress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions
  method: get
  operationId: EmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/views
  method: get
  operationId: EmissionsViewController_getAvailableViews
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/views/{viewCode}
  method: get
  operationId: EmissionsViewController_getView
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/attributes/applicable
  method: get
  operationId: ApportionedEmissionsController_getApplicableApportionedEmissionsAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/hourly
  method: get
  operationId: HourlyApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/hourly/by-facility
  method: get
  operationId: HourlyApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/hourly/by-state
  method: get
  operationId: HourlyApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/hourly/nationally
  method: get
  operationId: HourlyApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/daily
  method: get
  operationId: DailyApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/daily/by-facility
  method: get
  operationId: DailyApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/daily/by-state
  method: get
  operationId: DailyApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/daily/nationally
  method: get
  operationId: DailyApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/monthly
  method: get
  operationId: MonthlyApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/monthly/by-facility
  method: get
  operationId: MonthlyApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/monthly/by-state
  method: get
  operationId: MonthlyApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/monthly/nationally
  method: get
  operationId: MonthlyApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/quarterly
  method: get
  operationId: QuarterlyApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/quarterly/by-facility
  method: get
  operationId: QuarterlyApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/quarterly/by-state
  method: get
  operationId: QuarterlyApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/quarterly/nationally
  method: get
  operationId: QuarterlyApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/annual
  method: get
  operationId: AnnualApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/annual/by-facility
  method: get
  operationId: AnnualApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/annual/by-state
  method: get
  operationId: AnnualApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/annual/nationally
  method: get
  operationId: AnnualApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/ozone
  method: get
  operationId: OzoneApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/ozone/by-facility
  method: get
  operationId: OzoneApportionedEmissionsController_getEmissionsFacilityAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/ozone/by-state
  method: get
  operationId: OzoneApportionedEmissionsController_getEmissionsStateAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/ozone/nationally
  method: get
  operationId: OzoneApportionedEmissionsController_getEmissionsNationalAggregation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/mats/attributes/applicable
  method: get
  operationId: MatsApportionedEmissionsController_getApplicableEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /emissions-mgmt/emissions/apportioned/mats/hourly
  method: get
  operationId: HourlyMatsApportionedEmissionsController_getEmissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /facilities-mgmt/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /facilities-mgmt/facilities
  method: get
  operationId: FacilitiesController_getFacilities
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /facilities-mgmt/facilities/attributes
  method: get
  operationId: FacilitiesController_getAllFacilityAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /facilities-mgmt/facilities/attributes/applicable
  method: get
  operationId: FacilitiesController_getApplicableFacilityAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /facilities-mgmt/facilities/{id}
  method: get
  operationId: FacilitiesController_getFacilityById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/account-type-codes
  method: get
  operationId: AccountTypeController_getAccountTypeCodes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/control-codes
  method: get
  operationId: ControlTechnologyController_getControlTechnologies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/fuel-type-codes
  method: get
  operationId: FuelTypeController_getFuelTypeCodes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/program-codes
  method: get
  operationId: ProgramController_getProgramCodes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/reporting-periods
  method: get
  operationId: ReportingPeriodController_getReportingPeriods
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/unit-type-codes
  method: get
  operationId: UnitTypeController_getUnitTypeCodes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/relationships/list
  method: get
  operationId: RelationshipsController_listRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/relationships/{code}
  method: get
  operationId: RelationshipsController_getRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/list
  method: get
  operationId: MasterDataController_listCodeTables
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /master-data-mgmt/{code}
  method: get
  operationId: MasterDataController_getCodeTable
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitor-plan-mgmt/health
  method: get
  operationId: HealthController_check
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitor-plan-mgmt/plans/export
  method: get
  operationId: MonitorPlanController_exportMonitorPlan
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitor-plan-mgmt/plans/{planId}
  method: get
  operationId: MonitorPlanController_getMonitorPlan
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /monitor-plan-mgmt/plans/{planId}/comments
  method: get
  opera

# --- truncated at 32 KB (156 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/agentic-access/epa-agentic-access.yml