Added
- Added How the Data Works, covering listings, VINs, dealers, inventory modes, deduplication, sold inventory, advertised pricing semantics, null handling, and recommended workflows.
- Added Glossary, defining public fields, filters, response concepts, usage terms, and vehicle-market vocabulary.
- Clarified that sold inventory requires at least three days missing from the dealer inventory feed,
discount_from_msrpuses combined MSRP, andpriceis the dealer’s main advertised listing price.
Compatibility
Non-breaking; no request changes required.Added
- Added dedicated guides for authentication and scopes, filter and facet discovery, API errors and retries, and common copyable workflows.
- Added embedded request and successful response examples to each generated Public API reference operation.
- Reorganized the Guides navigation into Start, Core concepts, Workflows, and Updates sections.
Compatibility
Non-breaking; no request changes required.Changed
- MCP search results and public docs now call out the facet response envelope: categorical buckets are under
data.facets.<name>, numeric buckets underdata.range_facets.<name>, and stats underdata.stats.<name>. inventory_type,exclude_inventory_type,keywords,exclude_keywords, and listingdealer_typefilters now validate their supported tokens.inventory_type=cpois accepted as an alias forcertified.- Listing and facet filters now support
powertrain_type,exclude_inventory_type,exclude_body_type,exclude_transmission, andexclude_drivetrain. - Invalid VIN characters and malformed dealer IDs now return targeted
validation_errorresponses instead of being conflated with missing resources or transient data errors.
Compatibility
Non-breaking for valid requests. Requests that previously relied on unsupported closed-vocabulary values returning empty result sets should remove the typo or discover open categorical values with/v1/facets before filtering.June 8, 2026
APIDeprecatedNon-breaking
Dealer visibility, profile batching, and listings search compatibility
Added
/v1/dealers?dealer_id=id1,id2now returns matching dealer profiles for up to 100 comma-separated dealer IDs.
Changed
- Public dealer, listing, facet, VIN, and listing-detail responses now consistently omit dealer sources that are not eligible for Public API exposure.
- MCP operation search now surfaces the dealer ID lookup filter for dealer profile batches.
- Deprecated
/v1/listings/searchcompatibility requests continue to execute and return migration headers.per_pagemaps tolimit, and one-basedpagemaps tooffset.
Compatibility
Non-breaking; no request changes required for dealer visibility filtering or dealer ID lookup. New code should use/v1/listings?limit=...&offset=...; existing /v1/listings/search callers should migrate before the sunset date in the response headers.Changed
- MCP
visor.usage.summary()now accepts an omitted query object. - Listing
fieldsvalidation errors now clarify thatfieldscontrols response projection and list the supported listing fields. - MCP listing guidance now calls out
response.datafor rows andresponse.pagination.totalfor collection totals.
Compatibility
Non-breaking; existing requests continue to work.Changed
- MCP
visor.vins.get(vin)andvisor.listings.get(listingId)now accept omitted options objects. - MCP search results and generated listing field docs now more clearly distinguish response
fieldsfrom filters such asavailability_status,options_packages, andfeatures.
Compatibility
Non-breaking; existing requests continue to work.Changed
- New self-serve Public API accounts receive one-time starter API Credit based on subscription plan: Free $1, Plus weekly $5, Plus monthly $10, Plus annual $50, and Plus lifetime $100.
Compatibility
Non-breaking. Starter credit is promotional and does not count as Eligible Paid Credit for automatic Usage Tier promotion.Changed
- Increased the MCP
executeworkflow ceiling from 10 to 50 underlying public API requests. - Added MCP-side pacing, bounded
429retries, andretry_after_secondsguidance when the client needs to wait.
Compatibility
Non-breaking. Underlying public API calls still count against normal rate limits, metering, and monthly spend controls.Changed
/v1/listingsand/v1/facetsnow useavailability_statusvalues:stock,transit, andbuild.- Removed public
in_transitfiltering. Useavailability_status=stockinstead ofin_transit=false, andavailability_status=transit,buildinstead ofin_transit=true.
Compatibility
Breaking. Update clients that sendin_transit.Added
- Released the hosted MCP server at
https://mcp.visor.vin/mcpwith OAuth and bearer-token authentication. - Added
searchandexecutetools for agent access to the Visor Public API.
Compatibility
Non-breaking. MCP calls map to the existing public/v1 API contract and record normal public API Usage Events.