# dms.vin > The DMS built for agents, not humans: no screens — addresses. Every noun of the store answers at its own URL, typed; every write runs under a Mandate with a receipt. dms.vin is the dealer management system whose primary user is an agent — the surface is addresses, typed; writes run under a Mandate with a receipt. It is also the permissioned bridge: the dealer authorizes their agents into the DMS they already run, inside an isolated per-user session Vin never ingests. Reading the record: $0. Motions: B2A · B2A2D Routes: GET / (this document's page) · GET /{VIN} (the record for one vehicle) Representations: text/html · text/markdown · application/json (Accept header; same URL) Evidence: every field posts value · source · timestamp · verification state; empty states are typed EMPTY, invalid VINs are typed INVALID_VIN — never a faked 200. Agent surface: one MCP server for the whole platform — https://apis.vin/mcp (all .vin doors are lenses over one spine; tools: decode_vin, vehicle_history, market_value, window_sticker, out_the_door_price, open_recalls, search_listings, cash_offer, transport_quote, finance_prequal, insurance_quote, start_purchase) Gates: typed OFFER (posted price, hard ceiling, x402) or NEEDS_HUMAN handoff URL — no account walls. Auth: https://auth.vin (issuer) · keys/metering via id.org.ai Siblings: https://vin.company/ https://apis.vin/ https://integrates.vin/ https://connects.vin/ https://blogs.vin/ https://pitch.vin/ https://videos.vin/ https://explore.vin/