Pacific Gas and Electric · AsyncAPI Specification
Pge Share My Data Notifications
Version
View Spec
View on GitHub
EnergyUnited StatesUtilitiesElectricityGasCaliforniaSmart MeteringGreen ButtonESPIEnergy DataGridDemand ResponseInvestor-Owned UtilityAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-27'
method: searched
source: >-
https://www.pge.com/en/save-energy-and-money/energy-saving-programs/smartmeter/third-party-companies.html
(HTTP 200, fetched 2026-07-27) and PG&E Supported-APIs.pdf.
spec_type: none
spec_type_note: >-
PG&E publishes NO AsyncAPI document for this callback surface, and no
AsyncAPI, EventBridge schema or webhook JSON schema was found on any PG&E
host. This artifact is the captured webhook/event catalog, derived from PG&E's
own published description of the notification model — it is NOT a fabricated
AsyncAPI.
description: >-
Share My Data has a real push surface. Every third party registers a
Notification URI, and PG&E POSTs to it when an authorization changes, when an
asynchronous (Batch) request has been prepared, and — for third parties that
opt in to daily subscription — when each day's data is packaged. The
notification does not carry the data: it carries retrieval URIs that the third
party then GETs over mutual TLS with the appropriate token. This is ESPI
function block FB=39 (Push model — Post Notification of data being ready
followed by GET).
surface:
kind: webhook
direction: PG&E to third party
endpoint: >-
The third party's own Notification URI, supplied during registration at
https://sharemydata.pge.com/ and editable under Manage Registration.
transport: HTTPS POST over mutual TLS
payload_format: >-
ESPI XML in the http://naesb.org/espi namespace. PG&E's documented batch
notification body carries an ns0:BatchList element containing an
ns0:resources element with the retrieval URL(s).
retrieval_pattern: >-
Notification carries URIs only. The third party calls back with GET on the
supplied resource URL, using the client_access_token for Bulk-level
resources or the customer access_token for Subscription-level resources.
function_block: FB=39
correlation: >-
Asynchronous requests accept a correlationID query parameter; since Release
4.0 (2023-03-20) PG&E also supports an x-transaction header label returned
with a Correlation ID when the requested file is ready.
events:
- name: authorization-changed
trigger: >-
Any change to an existing authorization, for example a customer
cancellation.
payload: Notification of the change, with the Authorization resource URI to retrieve.
retrieve_with: GET /GreenButtonConnect/espi/1_1/resource/Authorization/{AuthorizationID}
token: client_access_token
source_doc: PG&E third-party developer page, Notification URI section.
- name: async-batch-ready
trigger: >-
An earlier ad hoc asynchronous (Batch) request has been prepared and the
data is ready.
payload: ns0:BatchList with ns0:resources containing the retrieval URL(s).
retrieve_with: >-
GET on the supplied Batch resource URL — one of Batch/Bulk/{BulkID},
Batch/Subscription/{SubscriptionID},
Batch/Subscription/{SubscriptionID}/UsagePoint/{UsagePointID},
Batch/BulkRetailCustomerInfo/{BulkID}, Batch/RetailCustomer/{RetailCustomerID},
Batch/BulkRetailDRPrgInfo/{BulkID}, Batch/RetailDRPrgInfo/{RetailCustomerID}.
token: client_access_token (Bulk level) or customer access_token (customer level)
documented_scenario: >-
Scenario 2 in PG&E's "DATA ACCESS: AD HOC REQUEST (ASYNCHRONOUS)" diagram.
- name: daily-subscription-data-ready
trigger: >-
Opt-in only. Third parties who tick "Notify me as data is ready" in their
registration profile receive a daily notification once PG&E has packaged
the latest day's data plus any corrections to previous data from the last
24 hours.
payload: Notification with the prepackaged data retrieval URI(s).
retrieve_with: GET on the supplied resource URL.
documented_scenario: >-
Scenario 1 in PG&E's "DATA ACCESS: DAILY SUBSCRIPTION" diagram.
guidance: >-
PG&E asks third parties who do not intend to retrieve data daily NOT to
enable this option, to reduce unnecessary processing. Ad hoc requests
remain available.
registration:
notification_uri: Required at registration.
redirect_uri: Required for the OAuth authorization-code flow.
third_party_portal_uri: Required — PG&E redirects the customer here during authorization.
qa_scope_selection_host: >-
sharemydataqa.pge.com is named in PG&E release notes as the QA
dataCustodianScopeSelectionScreenURI host but does not resolve publicly.
security:
transport: Mutual TLS 1.2 with the third party's CA-issued X.509 certificate.
signature: No webhook signature scheme (HMAC or otherwise) is documented.
replay_protection: Not documented.
gaps:
- No AsyncAPI, no published JSON/XML schema specific to the notification body
beyond the ESPI namespace, no signature verification guidance, no retry or
delivery-guarantee policy, and no notification test harness.