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.
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
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.
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.