Compatibility and versioning
Capability schemas are versioned; the current index ishttps://gateway.agenticdealernetwork.com/spec/v2/envelope.json(the spec_index field of the network manifest is always the authoritative pointer). Each capability in the tool reference links to its schema.
Changes we make without notice
- Adding a new tool.
- Adding a field to an object whose schema permits extension.
- Adding a capability-tier entry.
Whether a given object permits extension is declared in its schema. Check the schema rather than assuming — some objects are closed.
Breaking changes
- Removing or renaming an output field, or changing its type.
- Changing what an existing field means.
- Adding an input parameter, or making an optional input required — tool inputs are closed objects.
- Removing a tool, or changing error codes or shapes.
- Adding a value to a closed enumeration — see below.
Until the network has registered programmatic integrators, breaking changes ship in place with a dated entry in the change list below on the current version, not on a parallel version path — assistant connectors refresh the contract every session, and the only programmatic clients today are ADN's own two first-party widgets, which deploy together with the gateway; no affected consumer was identified in the evidence. (v0 predates this policy: it was retired at the v1 event of 2026-08-15, before the network had external integrators, and is preserved as a frozen baseline in the gateway repository rather than served.)
Normalized vocabularies
Vehicle data reaches ADN from many dealer feed vendors and dealer management systems. ADN normalizes that variance at ingestion, so the values you receive are stable and you may switch on them exhaustively. Vehicle condition is new or used; certification is a separate boolean.
Adding a value to one of these vocabularies is a breaking change and ships in place with a dated entry in the change list below — never silently.
Object extension policy
Every object in the schema surface is deliberately declared open or closed; the schema is the authority, this table is the summary.
- Open (new fields may appear; ignore unknown keys): the shared data shapes
unit,unit_summary, androoftop_public, and both discovery manifests (network and rooftop). - Closed (a new member ships in place with a dated entry in the change list below): the error object, the freshness object, every tool input, and every tool output wrapper. (Composed unit rows inside search results follow the open
unitshapes above.) Closed inputs mean unknown arguments are rejected rather than ignored. - The error
codelist and the manifestauthvocabulary are closed enumerations: a new value ships in place with a dated entry in the change list below, never silently.
v2 — current contract
v2 evolved in place during September 2026 and is now frozen at the tree hash shown below.
- Added the 50-mile default network radius behavior and expanded enrichment fields.
- Added snapshot_expired, artifact_too_large, cursor_invalid, cursor_expired, and ambiguous_identity to the closed error enum.
- Required has_more and catalog_version on the network.search output and made distance_miles nullable.
- Added view and format inputs plus next_offset, hint, and csv outputs to network.search; raised the manifest limit from 50 to 500.
- Added unsupported_in_country to the closed error enum.
- Added country inputs and market outputs, plus odometer_unit, price_basis, and country on open objects.
- Removed currency from the inventory.comparables input in commit 3e4d675.
— frozen at
35150d7e7761- Re-admitted currency as an optional input that must equal the market currency.
- Frozen v2.
v1 remains served in parallel, byte-frozen, until at least 2026-10-01. Retirement will be announced here. Migration action: re-point validators at /spec/v2/. The closed-pricing-object tolerance note retires with v1.