Toronto Hydro · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Green Button ESPI specification (Toronto Hydro profile)

6 actions 6 updates update extends openapi/toronto-hydro-green-button-espi-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Toronto Hydro's API. It is a proposal applied on top of the contract, not a document Toronto Hydro publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notex-apievangelist-providerx-apievangelist-profilex-apievangelist-spec-authorshipx-apievangelist-mandatex-apievangelist-version-gapx-apievangelist-access-gate

Targets 6

$.info
$.servers
$.components.securitySchemes.oauth2
$.paths['/espi/1_1/resource/UsagePoint'].get
$.paths['/espi/1_1/resource/Authorization'].get
$.paths['/espi/1_1/resource/Batch/Bulk/{bulkId}'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Green Button ESPI specification (Toronto Hydro profile)
  version: 1.0.0
x-generated: '2026-07-27'
x-method: generated
x-source: openapi/toronto-hydro-green-button-espi-openapi.yml
x-note: >-
  The extended document is authored by the Green Button Alliance, not by Toronto Hydro.
  This overlay carries the API Evangelist annotations for the Toronto Hydro profile
  without mutating the harvested specification: provenance, the ESPI version gap (the
  document describes ESPI 4.0 while Ontario O. Reg. 633/21 mandates NAESB REQ.21 ESPI
  v3.3), the fact that servers[] points at the Green Button Alliance sandbox rather than
  any Toronto Hydro host, and the access gate a developer actually faces.
extends: openapi/toronto-hydro-green-button-espi-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-provider: toronto-hydro
    x-apievangelist-profile: https://raw.githubusercontent.com/api-evangelist/toronto-hydro/refs/heads/main/apis.yml
    x-apievangelist-spec-authorship: >-
      Green Button Alliance. Toronto Hydro publishes no first-party OpenAPI, no API
      reference and no ESPI base URI. This document is the family contract, not Toronto
      Hydro's service.
    x-apievangelist-mandate: >-
      Ontario Regulation 633/21 (Energy Data) under the Electricity Act, 1998 compels
      rate-regulated Ontario electricity and natural gas utilities to implement Green
      Button Download My Data and Connect My Data to NAESB REQ.21 ESPI v3.3, with an
      implementation deadline of 1 November 2023. Toronto Hydro-Electric System Limited
      is squarely inside that class.
    x-apievangelist-version-gap: >-
      This document declares ESPI 4.0. The Ontario mandate is ESPI v3.3. Do not assume
      the two are interchangeable when integrating with an Ontario distributor.
    x-apievangelist-access-gate: >-
      application-approval. A third party must submit an online application through
      Toronto Hydro's third-party portal at https://torontoonboarding.savagedata.com/,
      complete a connectivity test, and comply with the Third Party Terms and Conditions
      for Green Button Connect My Data at
      https://www.torontohydro.com/green-button/third-party-terms — which also require
      the third party to carry Commercial General Liability, Professional Liability,
      Property Damage and Workman's Compensation insurance and to name Toronto Hydro as
      an additional insured. Connection details are issued only after approval; Toronto
      Hydro states "Additional information will be provided in the third-party portal".
      There is no self-serve signup, no published pricing and no sandbox.
- target: $.servers
  update:
    x-apievangelist-note: >-
      The single declared server is the Green Button Alliance sandbox, NOT a Toronto
      Hydro host. No Toronto Hydro ESPI base URI is published anywhere.
      api.torontohydro.com, docs.torontohydro.com, developer.torontohydro.com and
      data.torontohydro.com do not resolve at all (2026-07-27).
- target: $.components.securitySchemes.oauth2
  update:
    x-apievangelist-note: >-
      The scopes object is empty in the source document; no scope names were invented.
      Toronto Hydro publishes no scope reference and serves no OpenID Connect discovery
      document — https://www.torontohydro.com/.well-known/openid-configuration returns
      404 and every /.well-known/ 200 on the vendor onboarding host is a Blazor SPA
      shell that matches an invented-path control probe. Toronto Hydro's own Connect My
      Data Customer Guide describes the redirect-and-consent half of the flow: the third
      party emails the customer a link or redirects them to Toronto Hydro's
      authentication page, the customer signs in to their Toronto Hydro online account
      (Option A) or uses an alternate consent method if they have no account (Option B),
      then lands on the authorization page.
- target: $.paths['/espi/1_1/resource/UsagePoint'].get
  update:
    x-apievangelist-note: >-
      Pagination in ESPI is Atom-style: start-index (1-indexed) plus max-results, with
      published-min/published-max and updated-min/updated-max RFC 3339 time filters and a
      depth control. Responses are application/atom+xml feeds, not JSON.
- target: $.paths['/espi/1_1/resource/Authorization'].get
  update:
    x-apievangelist-note: >-
      The Authorization resource is where the Toronto Hydro consent contract actually
      lives. Toronto Hydro's Third Party Terms state that a customer may revoke
      authorization independently at any time and at their sole discretion, and that
      Connect My Data is unavailable on or after the date a customer's account is closed
      — including their final billing period. Treat a disappearing or revoked
      Authorization as an expected steady state, not a defect.
- target: $.paths['/espi/1_1/resource/Batch/Bulk/{bulkId}'].get
  update:
    x-apievangelist-note: >-
      Bulk transfer is the asynchronous path — a 202 Accepted is a normal, expected
      outcome here and the client must be prepared to poll rather than treat it as an
      error.