char.gy · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the char.gy Open Charge Point Data API

5 actions 5 updates update extends openapi/chargy-open-charge-point-data-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for char.gy's API. It is a proposal applied on top of the contract, not a document char.gy publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-provenancex-regulatory-basisx-provider-documentation-extentx-anonymous-access-verifiedx-crawl-guidancex-no-spatial-filterx-data-quality-observationx-standard-divergence

Targets 5

$.info
$.paths['/locations'].get
$.paths['/tariffs'].get
$.components.schemas.EVSE.properties.status
$.components.schemas.ErrorResponse

OpenAPI Overlay

Raw ↑
# authorship: generated by API Evangelist tooling. Stamped 2026-08-18
# on the file's own generator header (roadmap#64). An unmarked file is
# NOT assumed to be ours -- absence of evidence was never stamped.
x-method: generated
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the char.gy Open Charge Point Data API
  version: 1.0.0
extends: openapi/chargy-open-charge-point-data-openapi.yml
x-apievangelist-generated: '2026-07-27'
x-apievangelist-method: generated
x-apievangelist-note: >-
  char.gy publishes no OpenAPI. The document this overlay extends was itself
  generated by API Evangelist from live anonymous probes; the actions below
  record the provenance, regulatory basis and consumer-facing caveats that were
  established by probing rather than read from any char.gy document.
actions:
  - target: $.info
    update:
      x-apievangelist-provenance: >-
        Generated 2026-07-27 from live anonymous HTTP probes; no provider spec
        exists.
      x-regulatory-basis: >-
        Public Charge Point Regulations 2023 (SI 2023/1168) Part 4 regulation 10
      x-provider-documentation-extent: >-
        One Freshdesk help-centre article naming the host and two paths. No
        developer portal, no reference documentation, no changelog, no SLA.
      x-anonymous-access-verified: '2026-07-27'
  - target: $.paths['/locations'].get
    update:
      x-crawl-guidance: >-
        5,409 locations at a default page size of 50 is 109 requests for a full
        crawl. No rate limit is published or signalled; use date_from against
        the previous crawl timestamp for incremental synchronisation instead of
        re-crawling.
      x-no-spatial-filter: >-
        There is no bounding-box, city or postcode filter — geographic selection
        must happen client-side after a full crawl.
  - target: $.paths['/tariffs'].get
    update:
      x-data-quality-observation: >-
        Three tariff objects were published on 2026-07-27, all with country_code
        GB and party_id CGY, but declaring GBP, EUR and USD respectively; the
        EUR and USD records were last_updated in October 2025. Recorded as
        observed, not interpreted.
  - target: $.components.schemas.EVSE.properties.status
    update:
      x-standard-divergence: >-
        WORKING and FAULTED are not OCPI 2.2.1 EVSEStatus values. They map to
        the regulator's binary "working" concept in regulation 10(6)(a).
        Consumers written against OCPI must special-case them.
  - target: $.components.schemas.ErrorResponse
    update:
      x-consumer-warning: >-
        Client errors arrive as HTTP 200. Any client that branches on the HTTP
        status line alone will silently treat a rejected request as an empty
        result set — inspect status_code on every response.