generated: '2026-07-27' method: generated source: openapi/n3rgy-customer-service-api-v2-openapi.yaml 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: 26 by_action_class: connected: 13 acting: 13 by_consequence: read: 13 write: 12 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: / method: get operationId: RetrieveConsentedMPxNs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mpxn/{mpxn} method: get operationId: RetrieveConsentedMPxNUtilities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mpxn/{mpxn}/utility/{utility} method: get operationId: RetrieveDataTypesForUtility x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /set-meter-update-frequency method: put operationId: SetMeterUpdateFrequency 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: /find-mpxn/{identifier} method: get operationId: RetrieveMPxNAvailability x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /find-mpxn/{identifier}/{address} method: get operationId: mpxnFromAddress x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /get-update-frequencies/{mpxn} method: get operationId: RetrieveDataUpdateFrequencies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /mpxn/{mpxn}/utility/{utility}/readingtype/{readingType} method: get operationId: RetrieveDataForReadingType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /set-defaults method: put operationId: SetDefaults 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: /reset-all-update-frequencies method: put operationId: ResetAllUpdateFrequencies 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: /read-inventory method: post operationId: ReadInventory 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: /create-export-profiles method: post operationId: CreateExportProfiles 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: /upload/data/deviceid/{deviceId}/readingtype/{readingType} method: post operationId: uploadData 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: /upload/data/deviceid/{deviceId}/readingtype/{readingType}/starttime/{startTime}/endtime/{endTime} method: delete operationId: deleteData 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: /upload/devices/ method: post operationId: addDevice 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: /upload/devices/ method: get operationId: listDevices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /upload/devices/deviceid/{deviceId} method: get operationId: getDevice x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /upload/devices/deviceid/{deviceId} method: put operationId: updateDevice 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: /upload/devices/deviceid/{deviceId} method: delete operationId: deleteDevice 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: /update-now/mpxn/{mpxn}/utility/{utility}/readingtype/{readingType} method: get operationId: generateFetchNowRequest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /push/configuration method: get operationId: GetPushNotificationConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /push/configuration method: post operationId: EditPushNotificationConfiguration 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: /push/configuration method: delete operationId: DeletePushNotificationConfiguration 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: /push/status method: get operationId: RetrievePushNotificationStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /internal/{mpxn}/{utility}/{readingType} method: get operationId: RetrievePropertyElements x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /internal/{mpxn}/{utility}/{readingType} method: post operationId: RetrieveReadingTypeData 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