Election Assistance Commission · OpenAPI Overlay 1.0.0

API Evangelist enhancements to the EAC JSON:API description

5 actions 5 updates update extends openapi/election-assistance-commission-jsonapi-openapi.yml
Derived by API Evangelist Built from the contracts Election Assistance Commission publishes. Election Assistance Commission did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-profilex-publisher-providedx-consumer-warningx-agent-guidancex-cross-referencesx-not-in-this-api

Targets 2

$.info
$.servers

OpenAPI Overlay

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

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/election-assistance-commission-jsonapi-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.