Amber Electric · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Amber Electric Public API

9 actions 9 updates documentation extends ../openapi/_original/amber-electric-public-api-openapi.json
Derived by API Evangelist Built from the contracts Amber Electric publishes. Amber Electric did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagssummaryx-apievangelist-notedescriptioncontactx-apievangelist-artifactsx-access-gatex-anonymous

Targets 9

$.info
$
$.paths['/state/{state}/renewables/current'].get
$.paths['/sites'].get
$.paths['/sites/{siteId}/prices'].get
$.paths['/sites/{siteId}/prices/current'].get
$.paths['/sites/{siteId}/usage'].get
$.components.securitySchemes.apiKey
$.components.responses

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Amber Electric Public API
  version: 1.0.0
extends: ../openapi/_original/amber-electric-public-api-openapi.json
x-apievangelist:
  generated: '2026-07-27'
  method: generated
  source: >-
    Derived from openapi/amber-electric-public-api-openapi.json plus artifacts in
    this repository (rate-limits/, conventions/, errors/, authentication/). The
    harvested contract is never mutated — every enhancement lives here.
  rationale: >-
    Amber's published contract is valid and honest but thin in three specific
    ways this overlay repairs: no operation carries a summary or a tag, the
    anonymous renewables operation is not signposted as anonymous, and the 429
    the service really returns when rate limiting bites is undeclared. Nothing
    here changes semantics; it adds documentation the running service already
    honours.
actions:
- target: $.info
  update:
    description: >-
      Amber Electric's public REST API. Five read-only operations over
      half-hourly National Electricity Market data: the sites on your account,
      actual/current/forecast prices for a site, usage for a site, and the
      current renewable-energy percentage of the grid for a NEM state.
      Authentication is an unscoped HTTP bearer token generated from the
      Developers tab of the logged-in Amber customer app; one operation —
      GET /state/{state}/renewables/current — is explicitly anonymous. Rate
      limit: 50 calls per 5 minutes, per account.
    contact:
      name: Amber Public API discussions
      url: https://github.com/amberelectric/public-api/discussions
    x-apievangelist-artifacts:
      conventions: conventions/amber-electric-conventions.yml
      errors: errors/amber-electric-problem-types.yml
      rate_limits: rate-limits/amber-electric-rate-limits.yml
      authentication: authentication/amber-electric-authentication.yml
      data_model: data-model/amber-electric-data-model.yml
      skills: skills/_index.yml
    x-access-gate: customer-account-required
- target: $
  update:
    tags:
    - name: Renewables
      description: Grid renewable-energy percentage for a National Electricity Market state. Anonymous.
    - name: Sites
      description: The sites, NMIs and meter channels on your Amber account.
    - name: Prices
      description: Actual, current and forecast half-hourly prices for one of your sites.
    - name: Usage
      description: Interval consumption, generation, cost and data quality for one of your sites.
- target: $.paths['/state/{state}/renewables/current'].get
  update:
    summary: Get current grid renewables for a NEM state
    tags: [Renewables]
    x-anonymous: true
    x-apievangelist-note: >-
      The only operation on this API that answers without a credential — it
      carries an explicit `security: []` override, confirmed returning 200
      anonymously for nsw, vic, qld and sa on 2026-07-27.
- target: $.paths['/sites'].get
  update:
    summary: List the sites on your account
    tags: [Sites]
    x-apievangelist-note: >-
      Call this first — siteId is a ULID assigned by Amber, not the NMI, and
      every other site-scoped operation needs it.
- target: $.paths['/sites/{siteId}/prices'].get
  update:
    summary: Get prices for a site across a date range
    tags: [Prices]
- target: $.paths['/sites/{siteId}/prices/current'].get
  update:
    summary: Get the current price for a site
    tags: [Prices]
- target: $.paths['/sites/{siteId}/usage'].get
  update:
    summary: Get usage for a site across a date range
    tags: [Usage]
    x-apievangelist-note: Returns at most 90 days per call; startDate and endDate are both required.
- target: $.components.securitySchemes.apiKey
  update:
    description: >-
      Unscoped bearer token generated from the Developers tab inside the
      logged-in Amber customer app at https://app.amber.com.au/developers.
      Requires an active Amber electricity account — there is no self-serve
      developer signup, sandbox or trial key.
- target: $.components.responses
  update:
    TooManyRequests:
      description: >-
        Rate limit exceeded. Amber enforces 50 calls per 5 minutes per account
        (announced at
        https://github.com/amberelectric/public-api/discussions/146). Undeclared
        in the published contract; added here because the running service
        returns it.
      headers:
        RateLimit-Limit:
          $ref: '#/components/headers/RateLimit-Limit'
        RateLimit-Remaining:
          $ref: '#/components/headers/RateLimit-Remaining'
        RateLimit-Reset:
          $ref: '#/components/headers/RateLimit-Reset'
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
    Error:
      description: 'Error envelope returned by this API: {"message": "<string>"}'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthorized

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/amber-electric-public-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.