overlay: 1.0.0
info:
title: API Evangelist enhancements for the FERC Open Data API
version: 1.0.0
extends: ../openapi/_original/ferc-data-api-openapi.json
x-provenance:
generated: '2026-07-27'
method: generated
source: >-
https://data.ferc.gov/developer/gettingstarted/api-key-usage/,
https://data.ferc.gov/developer/gettingstarted/understanding-our-apis/, live probes 2026-07-27
note: >-
FERC's published OpenAPI is a 3.0.0 document that still carries the Swagger 2.0 `host` and
`schemes` keys, names a STAGING host, omits info.version and info.contact, declares only the
query-parameter API key, and documents 401 for an auth failure where the live gateway returns
403. Every action below corrects one of those against something FERC itself publishes or against
an observed response. The original file is never mutated.
actions:
- target: $.info
description: Add version, contact and licence, and record the API Evangelist provenance.
update:
version: '2026-07-27'
contact:
name: FERC Online Support
url: https://data.ferc.gov/developer/helpandsupport/
license:
name: U.S. Government Work (public domain, 17 U.S.C. 105)
url: https://data.ferc.gov/disclaimer/
x-apievangelist-enriched: '2026-07-27'
x-rate-limit: 1000 requests per hour per API key, rolling
- target: $
description: >-
Add the real production servers block. FERC's document has no `servers` and its `host` key
names api-staging.data.ferc.gov; the production base URL published on the API Key Usage page
and verified live is https://api.data.ferc.gov/v1.
update:
servers:
- url: https://api.data.ferc.gov/v1
description: Production — documented at data.ferc.gov and verified live 2026-07-27.
- target: $.components.securitySchemes
description: >-
Add the X-Api-Key header scheme. FERC documents the header as the RECOMMENDED method and the
query parameter as the less secure alternative, but only the query parameter is in the spec.
update:
ApiKeyHeaderAuth:
type: apiKey
in: header
name: X-Api-Key
description: >-
Recommended. Keeps the key out of URLs and logs. Documented at
https://data.ferc.gov/developer/gettingstarted/api-key-usage/
- target: $.paths['/data-assets/'].get
description: >-
Record the observed gateway behaviour — the documented 401 is not what the API Umbrella gateway
returns for a missing or invalid key.
update:
responses:
'403':
description: >-
Forbidden — API_KEY_MISSING (no key supplied) or API_KEY_INVALID (bad key). Observed
2026-07-27; this, not the documented 401, is what the gateway returns.
x-response-headers:
- X-RateLimit-Limit
- X-RateLimit-Remaining
- x-api-umbrella-request-id
- target: $.paths['/dataset/{id}/data/'].get
description: Warn that the response is unbounded and unfilterable.
update:
x-pagination: none
x-caution: >-
Returns the entire dataset — no filtering, no paging. Read the record count from
/dataset/{id}/details/ before calling. The interactive console truncates to 100 rows; a
client call does not.
- target: $.paths['/dataset/{id}/dictionary/'].get
description: Note that a dictionary is optional per dataset.
update:
x-optional-resource: >-
Not every dataset has a data dictionary; a 404 here means "no dictionary published", not
"bad dataset id".
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.