Brand assets: symbol, wordmark, and usage guidance.
AAP lets AI assistants shop at your car or motorcycle dealership.
New to the protocol? Read the AAP FAQ for its purpose, supported capabilities, assistant compatibility, and how to get started.
More and more car and motorcycle buyers start their search by asking an AI assistant. AAP is the free, open standard that lets any AI assistant find your dealership, browse your real inventory, and send you a sales lead with the customer's permission — straight into the systems you already use. You publish one small file on your own website, answer a few well-defined kinds of questions, and any AAP-capable agent can do business with you. No app store. No middleman. No per-partner integration projects.
Listings carry an optional vehicle_type (car, motorcycle, trailer, rv, other; absent = car), so the same five skills serve both automotive and powersports retail — including electric models via a generic electric-powertrain field group.
For engineers: AAP is an open A2A v1.0 profile. A compliant dealer agent is an A2A agent that publishes an agent-card.json with the AAP automotive extension URI (https://autoagentprotocol.org/extensions/aap/v1.3) and implements one or more of the five standard AAP automotive skills (a small used-car lot might only do inventory.search + lead.submit; a franchise dealership might do all five).
The transport surface is deliberately minimal: every AAP agent exposes the JSON-RPC 2.0 binding — the sole transport (the optional HTTP+JSON binding was removed in v1.1.0); the only A2A operation AAP uses is SendMessage — request Message in, response Message out. The optional A2A surface (streaming, tasks, push notifications, extended cards) is out of scope: dealer agents do not need to implement it and buyer agents must not require it.
v1.3.0 is the current release. It is fully additive over v1.2.0 and introduces interoperable dealer-fee disclosure. price remains the authoritative advertised vehicle price and includes every mandatory non-government dealer charge and required add-on. Optional { name, amount } fees arrays expose the complete itemized breakdown at vehicle level and default schedules at rooftop level. A truthful all-in price may stand alone; list_price and fees without price are informational and never become a consumer-facing price through client-side arithmetic. The five-skill vocabulary, A2A v1.0 wire, and JSON-RPC-only transport remain unchanged. v0.1.0 through v1.2.0 remain published and frozen for consumers pinned to them.
- Discovery via
/.well-known/agent-card.jsononly (A2A-compatible) — no second well-known file - Inventory: facets, search, vehicle detail — across cars and motorcycles via an optional
vehicle_typediscriminator, with motorcycle body/segment carried inbody, displacement indisplacement_cc, niche specs in a free-formother_attributesmap, and a generic electric-powertrain group (range, battery kWh, motor hp, DC fast charge, charge port) for BEV/PHEV cars and motorcycles alike - Transparent pricing: one authoritative all-in
price, optional complete vehicle fee itemization, optional rooftop fee defaults for publishers, and explicit handling for list-only and conditional-rebate data - Dealership information: group name, welcome message, and one or more rooftops (locations) with address, geo, contacts, hours, timezone, capabilities, and optional default fee schedules
- Leads: a single unified
lead.submitaccepting a consented customer plus any combination of vehicle of interest, trade-in, and appointment - ADF/XML mapping documented for legacy CRM compatibility
- Interoperability proven against the official A2A v1.0 client SDKs (
@a2a-js/sdkanda2a-sdkfor Python) — a standard A2A client can discover an AAP dealer and invoke every skill with no AAP-specific code
v1.3.0 does not cover: authentication (agents are public by default; auth is left to A2A's native securitySchemes), payments, financing approval, RFQ/quote flows, trade-in valuations, buyer-specific out-the-door calculations, or reservations.
- Specification: autoagentprotocol.org
- Stable v1.3.0 agent card:
spec/v1.3/examples/agent-card.example.json - Editable JSON Schemas:
spec/latest/schemas/ - Editable examples:
spec/latest/examples/ - OpenAPI 3.1 (built at deploy time):
https://autoagentprotocol.org/v1.3/openapi-jsonrpc.yaml - Changelog: CHANGELOG.md
| Skill | Purpose |
|---|---|
dealer.information |
Dealership profile, address, hours, capabilities |
inventory.facets |
Aggregated counts and ranges over the dealer's inventory |
inventory.search |
Filtered, paginated inventory queries (cars and motorcycles) |
inventory.vehicle |
Detail view of one specific vehicle or motorcycle (by VIN, stock, or vehicle_id) |
lead.submit |
Unified consented lead — customer + optional(vehicle of interest, trade-in, appointment) |
| Package | Description |
|---|---|
@autoagentprotocol/types |
TypeScript types generated from JSON Schema |
@autoagentprotocol/schemas |
Raw JSON Schema files as importable modules |
@autoagentprotocol/validator |
Ajv-based validators for all AAP objects |
- Node.js 22+
- pnpm 10+
pnpm installpnpm run validate # Validate schemas and examples
pnpm run generate # Generate draft artifacts in generated/latest
pnpm run generate:images # Regenerate tracked latest SVG diagrams in docs/img
pnpm run check:images # Verify diagram sources, palette, references, and output
pnpm run check:releases # Verify frozen snapshots and stable packages
pnpm run test:release # Rehearse release and freeze invariants
pnpm run build # Build the stable production site
pnpm start # Serve editable docs with an unreleased bannerspec/latest/ Editable JSON Schema 2020-12, examples, and skills manifest
spec/v*/ Frozen released specs (committed, immutable)
docs/ Editable documentation; served locally as an unreleased draft
docs/img/ Editable, generated SVG diagrams used by the latest docs and README
versioned_docs/, versioned_sidebars/ Frozen release documentation snapshots
releases.json Explicit release registry and stable-release pointer
releases/v*/ Frozen generated artifacts, provenance, reports, and integrity manifests
docs/skills/, bindings/ A2A binding + skill reference (committed)
packages/ npm packages: types, schemas, validator (committed)
tools/image-specs.ts Reviewed content source for every latest documentation diagram
tools/ Generators and validators (committed)
src/components/ FieldCard React component (committed)
generated/latest/ Auto-generated draft types, OpenAPI, and MCP manifest (NOT committed)
static/v*/, static/latest/ Site assembly output copied from frozen snapshots (NOT committed where applicable)
build/ Docusaurus production output (NOT committed)
Draft artifacts are produced by pnpm run generate; production assets are assembled by pnpm run copy-static. Published artifact snapshots are committed under releases/v*/ so a historical release is never regenerated with newer tooling.
Released versions are immutable. Repository changes use spec/latest/; the public latest URL always points to the release selected by releases.json. There is no next channel. Each release has pinned schema URLs at https://autoagentprotocol.org/v{version}/schemas/. See the versioning policy and maintainer release guide.
| Layer | Protocol | Role for AAP |
|---|---|---|
| Transport / data model (BASE) | A2A v1.0 | The base protocol AAP profiles. Every AAP message travels inside Message.parts[].data as a typed DataPart. AAP does not invent a wire format. |
| Adjacent / complementary | ACP (Agentic Commerce), MCP (Model Context Protocol) | ACP covers commerce checkout (out of scope for AAP). MCP can expose AAP skills as LLM tools — AAP publishes an official MCP reference manifest (generated from skills.yaml at build time and served at https://autoagentprotocol.org/v1.3/mcp.json). |
| Legacy / target system | ADF/XML | The 25-year-old dealer-CRM lead format. lead.submit is field-by-field mappable to ADF/XML so existing CRMs ingest AAP leads without code changes. |
- Specification and schemas: Apache-2.0 — chosen for its explicit patent grant, which protects every adopting dealership, platform, and SDK vendor; it is also the license of A2A itself.
- Documentation prose: CC-BY-4.0
See SECURITY.md for how to report a vulnerability in the spec, schemas, or packages.
See the Contributing guide for details on proposing changes, and CODE_OF_CONDUCT.md for community standards.