overlay: 1.0.0
info:
title: API Evangelist enhancements to the EAC JSON:API description
version: 1.0.0
x-generated: '2026-09-06'
x-method: generated
x-source: openapi/election-assistance-commission-jsonapi-openapi.yml
x-note: >-
This Overlay records the enhancements API Evangelist applies on top of the EAC JSON:API
description. It is unusual among this catalog's overlays in that the base document is ALSO
ours — the EAC publishes no OpenAPI — so the overlay's real purpose is to keep the
consumer-facing guidance (traps, provenance, agent guardrails) separable from the
probe-derived facts in the base document. Applying it does not mutate the base file.
extends: openapi/election-assistance-commission-jsonapi-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-profile: https://apis.io/provider/election-assistance-commission
x-publisher-provided: false
x-consumer-warning: >-
The EAC does not document, announce or support this surface. It exists because Drupal's
JSON:API module is enabled on www.eac.gov. Nothing here is a commitment by the EAC, and
a routine CMS change could alter or remove any path without notice.
- target: $.info
update:
x-agent-guidance:
read_only: true
write_verbs_return: 405
safe_for_autonomous_use: true
rationale: >-
Every write verb returns HTTP 405 by site configuration, so no agent action against
this surface can have a side effect. Reversibility, idempotency and dry-run are all
`na` for that reason, not unaddressed.
check_meta_omitted: >-
A 200 with an empty data array plus meta.omitted means "not permitted", not "no
records". 63 of 216 resource types behave this way.
enumerate_from_index: >-
Start at GET / and read the links map. Constructing paths risks an HTML 404 that will
not parse as a JSON:API error document.
- target: $.servers
update:
- url: https://www.eac.gov/jsonapi
description: Production JSON:API entry point. Public, anonymous, read-only.
x-verified: '2026-09-06'
x-verified-status: 200
- target: $.info
update:
x-cross-references:
conventions: conventions/election-assistance-commission-conventions.yml
errors: errors/election-assistance-commission-problem-types.yml
data_model: data-model/election-assistance-commission-data-model.yml
vocabulary: vocabulary/election-assistance-commission-vocabulary.yml
conformance: conformance/election-assistance-commission-conformance.yml
authentication: authentication/election-assistance-commission-authentication.yml
lifecycle: lifecycle/election-assistance-commission-lifecycle.yml
rate_limits: rate-limits/election-assistance-commission-rate-limits.yml
bulk_data: datasets/election-assistance-commission-datasets.yml
- target: $.info
update:
x-not-in-this-api:
- name: Election Administration and Voting Survey (EAVS) microdata
where: https://www.eac.gov/data.json
note: >-
The single most requested EAC dataset is distributed as bulk CSV/Excel/SPSS/Stata/SAS
files catalogued in the Project Open Data document, not through this API. Agents
asked for EAVS numbers must go there.
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.