Edmunds · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay for the Edmunds Cars API

7 actions 7 updates documentation extends ../openapi/_original/edmunds-cars-openapi.yaml
Generated by API Evangelist Written by API Evangelist tooling for Edmunds's API. It is a proposal applied on top of the contract, not a document Edmunds publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-api-evangelist-notex-api-evangelistcontacttermsOfServicetags

Targets 6

$.info
$.tags
$.paths[*][*]
$.components.schemas.findInventoryResponse
$.paths['/aiplugin/curated-inventory/v1'].get.responses['200']
$.paths['/aiplugin/editorial/v3/makes/{make}/models/{model}/years/{year}/expertcontent'].get.responses['200']

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay for the Edmunds Cars API
  version: 1.0.0
extends: ../openapi/_original/edmunds-cars-openapi.yaml
x-provenance:
  generated: '2026-09-06'
  method: generated
  source: >-
    Enhancements API Evangelist adds on top of the verbatim contract harvested from
    https://api.edmunds.com/openapi.yaml. The harvested document is never mutated; every
    change we make to it is expressed here.
actions:
  - target: $.info
    description: >-
      Record where this contract was fetched from, when, and that the surface it describes
      is gated.
    update:
      x-api-evangelist:
        harvested_from: https://api.edmunds.com/openapi.yaml
        harvested: '2026-09-06'
        http_status: 200
        last_modified: '2023-07-26T16:39:11Z'
        discovered_via: https://api.edmunds.com/.well-known/ai-plugin.json
        access: >-
          Gated. All operations return HTTP 401 with errorType AUTHENTICATION_ERROR and
          message "Developer Inactive" without a partner-issued key. The open API program
          was retired effective 2018-02-15.
  - target: $.info
    description: Add contact and licence-adjacent links the published document omits.
    update:
      contact:
        name: Edmunds Big Data Engineering
        email: bigdataeng@edmunds.com
        url: https://developer.edmunds.com/contact_us.html
      termsOfService: https://developer.edmunds.com/terms_of_service.html
  - target: $.tags
    description: >-
      The published document declares no tags and leaves every operation untagged, so
      generated navigation and per-tag splits have nothing to group on.
    update:
      - name: Cars
        description: >-
          Edmunds Cars AI-plugin surface — expert editorial reviews and curated local
          vehicle inventory.
  - target: $.paths[*][*]
    description: Assign every operation to the Cars tag.
    update:
      tags:
        - Cars
  - target: $.components.schemas.findInventoryResponse
    description: >-
      Flag the schema defects in the published document rather than silently repairing
      them: findInventoryResponse nests field definitions directly under an object node
      instead of under properties, so the inventory array, VIN, dealer and price fields are
      not reachable by a schema-aware client.
    update:
      x-api-evangelist-note: >-
        As published, inventories declares type object and then places totalNumber and
        results as siblings of type rather than inside properties. A validator sees an
        object with no properties. The field intent is legible to a human reader and is
        reproduced in data-model/edmunds-data-model.yml; the contract is not repaired here
        because guessing the corrected shape would assert a payload we have never observed.
  - target: $.paths['/aiplugin/curated-inventory/v1'].get.responses['200']
    description: Record that no error responses are declared anywhere in the contract.
    update:
      x-api-evangelist-note: >-
        Neither operation declares a single 4xx or 5xx response, though the provider
        documents seven error statuses in prose and returns a fixed JSON envelope. See
        errors/edmunds-problem-types.yml.
  - target: $.paths['/aiplugin/editorial/v3/makes/{make}/models/{model}/years/{year}/expertcontent'].get.responses['200']
    description: Surface the empty-result sentinel a consumer has to check for.
    update:
      x-api-evangelist-note: >-
        A 200 does not mean a review exists. When only edmundsBackLink is populated, there
        is no review for that vehicle.

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/edmunds-cars-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.