Con Edison · Agentic Access
Con Edison Agentic Access
x-agentic-access
generated
Con Edison exposes 37 API operations that an AI agent could call, of which 2 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: 35 read and 2 write.
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.
EnergyUnited StatesNew YorkUtilitiesElectricityGasSteamSmart MeteringGreen ButtonEnergy DataGridDistributionHosting CapacityDistributed Energy ResourcesSolarEV ChargingDemand Response
Operations: 37
Acting: 2
Human-in-the-loop: 0
Method: generated
By consequence
read 35
write 2
Source
Agentic Access
generated: '2026-07-27'
method: generated
source: openapi/con-edison-green-button-connect-my-data-swagger.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: 37
by_action_class:
connected: 35
acting: 2
by_consequence:
read: 35
write: 2
human_in_the_loop_required: 0
operations:
- path: /resource/ApplicationInformation/{applicationInformationId}
method: get
operationId: getThirdPartyApplicationById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Authorization
method: get
operationId: Get all Third Party Authorizations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Authorization/{authorizationId}
method: get
operationId: Get Third Party Authorization by ID
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/ReadServiceStatus
method: get
operationId: readServiceStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /oauth/Token
method: post
operationId: Token
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resource/Batch/Bulk/{bulkId}
method: get
operationId: getAllUsageDataInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Batch/Subscription/{subscriptionId}
method: get
operationId: getAllUsageDataForSubscriptionInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Batch/Subscription/{subscriptionId}/UsagePoint/{usagePointId}
method: get
operationId: getUsagePointBySubscriptionInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Batch/RetailCustomer/{subscriptionId}
method: get
operationId: getCustomerInformationInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock
method: get
operationId: getAllIntervalBlocksForUsagePointMeterReadingInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock/{intervalBlockId}
method: get
operationId: getIntervalBlocksForUsagePointMeterReadingInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/LocalTimeParameters
method: get
operationId: getLocalTimeParameters
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/LocalTimeParameters/{localTimeParameterId}
method: get
operationId: getLocalTimeParametersById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading
method: get
operationId: getAllMeterReadingsForUsagePointInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}
method: get
operationId: getMeterReadingForUsagePointInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/ReadingType
method: get
operationId: getAllReadingTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/ReadingType/{readingTypeId}
method: get
operationId: getReadingTypesById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/Batch/Bulk/{bulkId}
method: get
operationId: getAllRealTimeUsageDataInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/Batch/Subscription/{subscriptionId}
method: get
operationId: getAllRealTimeUsageDataForSubscriptionInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/Batch/Subscription/{subscriptionId}/UsagePoint/{usagePointId}
method: get
operationId: getRealTimeUsagePointBySubscriptionInBatch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock
method: get
operationId: getAllRealTimeIntervalBlocksForUsagePointMeterReadingInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock/{intervalBlockId}
method: get
operationId: getRealTimeIntervalBlockForUsagePointMeterReadingInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/ReadingType
method: get
operationId: getAllRealTimeReadingTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/RealTime/ReadingType/{readingTypeId}
method: get
operationId: getRealTimeReadingTypeById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}
method: get
operationId: getCustomerInformationBySubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount
method: get
operationId: getCustomerAccountInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}
method: get
operationId: getCustomerAccountByAccountIdInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement
method: get
operationId: getCustomerAgreementByAccountIdInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement/{customerAgreementId}
method: get
operationId: getCustomerAgreementByCustomerAgreementId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement/{customerAgreementId}/ServiceLocation
method: get
operationId: getAllServiceLocationByCustomerAgreementIdAndAccountIdInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement/{customerAgreementId}/ServiceLocation/{serviceLocationId}
method: get
operationId: getServiceLocationByServiceLocationId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement/{customerAgreementId}/ServiceLocation/{serviceLocationId}/Meter
method: get
operationId: getAllMetersForServiceLocationInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Customer/{subscriptionId}/CustomerAccount/{accountId}/CustomerAgreement/{customerAgreementId}/ServiceLocation/{serviceLocationId}/Meter/{serialNumber}
method: get
operationId: getMeterBySerialNumberId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/UsageSummary
method: get
operationId: getAllElectricPowerUsageSummaries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/UsageSummary/{usageSummaryId}
method: post
operationId: getAllElectricPowerUsageSummariesById
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resource/Subscription/{subscriptionId}/UsagePoint
method: get
operationId: getAllUsagePointsBySubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}
method: get
operationId: getUsagePointsForSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none