Card snapshot
api.vindexapi.dev
·
2026-08-01 12:28:58 UTC
·
e08257713ae01bb76b0fea70835005ec46e1367dd68a5311490305b15389723e
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "vindex",
"description": "Vehicle Intelligence for AI agents. Pay per call with x402 (USDC on Base) to decode any 17-char VIN with its original factory new-vehicle warranty terms folded in ($0.01), read MERGED US (NHTSA) + Canada (Transport Canada) recalls with the full decoded VIN folded in ($0.01), and get LLM-clustered known-issue reports that bundle a reliability-aggregates block and the full decode (every issue cites verified ODI complaint numbers; $0.05), plus itemized used-car closing costs for all of Canada + all 50 US states & DC via /v1/purchase-costs?country=CA|US ($0.02). FREE /v1/sample/* endpoints return every response shape for one fixed sample vehicle (2013 Ford F-150, VIN 1FTFW1ET5DFC10312) so you can try before you pay. Every JSON object response carries a legal `disclaimer` field. Informational data only \u2014 not professional/purchase advice, and NOT a vehicle-history report (no liens/accidents/odometer). Contains information licensed under the Open Government Licence \u2013 Canada.",
"url": "https://api.vindexapi.dev",
"provider": {
"organization": "Vindex API",
"url": "https://api.vindexapi.dev"
},
"version": "0.2.1",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"endpoints": [
{
"method": "GET",
"path": "/v1/decode",
"params": [
"vin"
],
"priceUsd": 0.01,
"description": "Paid ($0.01 USDC via x402). Decodes a 17-char VIN through NHTSA vPIC and returns the normalized decoded vehicle (make/model/year/engine/body/\u2026) with fetch provenance, PLUS a `warranty` block giving the ORIGINAL factory new-vehicle warranty terms (basic/powertrain/corrosion/roadside/EV-battery) keyed off the decoded make + model-year. Warranty terms are the manufacturer's original coverage as sold \u2014 NOT warranty-remaining, and NOT extended-warranty campaigns, recalls, or emissions warranties. The cheapest call when you only need the decode \u2014 the same `vehicle` object is also folded into /v1/recalls and /v1/known-issues. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/decode."
},
{
"method": "GET",
"path": "/v1/recalls",
"params": [
"vin"
],
"priceUsd": 0.01,
"description": "Paid ($0.01 USDC via x402). Decodes the VIN and returns the FULL decoded vehicle (the same payload as /v1/decode is folded in here), then merges NHTSA (US) and Transport Canada (CA) recalls into one response \u2014 the only API combining both. 24h cache per source; stale served on failure. Canadian detail capped at the 25 most-recent recalls. OGL\u2013Canada attribution. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/recalls."
},
{
"method": "GET",
"path": "/v1/known-issues",
"params": [
"vin"
],
"priceUsd": 0.05,
"description": "Paid ($0.05 USDC via x402). Clusters NHTSA owner complaints into named failure modes; EVERY cited ODI number is programmatically validated against the input complaint set (hallucination-gated) and every issue carries \u22652 verified citations. Severity signals per issue are summed from the CITED complaints only. The response also bundles a `reliability` aggregates block (top components, severity signals, US/Canada recall counts incl. Canadian units affected \u2014 reliability was merged into known-issues on 2026-07-07), the full decoded `vehicle` (same payload as /v1/decode), and `complaintsAnalyzed`, the size of the recent-weighted stratified sample the LLM actually saw (vs `complaintCount`, the total). Refuses UNCHARGED below 15 complaints (returns 200 status:insufficient_data) \u2014 but still returns the decode + reliability block for free. 90-day cache. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/known-issues."
},
{
"method": "GET",
"path": "/v1/purchase-costs",
"params": [
"country",
"price",
"sale_type",
"province",
"state",
"family_gift",
"buyer_has_plates",
"trade_in",
"local_rate"
],
"priceUsd": 0.02,
"description": "Paid ($0.02 USDC via x402). Government-imposed closing costs of buying a used passenger vehicle, unified across both countries via `country=CA|US`. CA: any of Canada's 10 provinces + 3 territories (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL, YT, NT, NU) \u2014 provincial/territorial sales tax (PST/RST/QST/HST or GST-only) plus transfer/registration/plate fees and inspection; tax is flat on the whole price at the highest bracket whose threshold the price meets (BC private 12% \u2192 15% \u2265 $125,000 \u2192 20% \u2265 $150,000); Alberta + the three territories levy no private-sale tax; dealer sales add 5% GST except in HST provinces (ON/NB/NS/PE/NL). US: any of the 50 states or DC \u2014 sales/use/excise tax, title, first-year registration, inspection, and (for dealer sales) a dealer documentation fee; special regimes handled automatically (DC tiered title-excise range, IL flat RUT-50 private-party table, SC 5% IMF capped at $500, and AK/AZ/HI/MT/NV/NH/OR no private-party sales tax). Each line carries a source URL and confidence. Figures verified 2026-07-04. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/purchase-costs."
},
{
"method": "GET",
"path": "/v1/prepurchase",
"params": [
"vin",
"country"
],
"priceUsd": 0.25,
"description": "Whole-job bundle for agents advising a vehicle purchase. One payment returns the normalized VIN decode, safety recalls, known-issue/reliability summary, and CA/US purchase+ownership cost estimate for the decoded vehicle. Equivalent to 4 separate paid calls. Composed in-process from the same data as /v1/decode, /v1/recalls, /v1/known-issues and /v1/purchase-costs (no extra upstream fan-out beyond those). The decode is computed FIRST \u2014 an invalid VIN or decode failure returns UNCHARGED (no settle). The response then settles only if the decode succeeded AND at least 2 of the 3 secondary sections (recalls, known-issues, purchase-costs) are available; otherwise it returns UNCHARGED { error: 'insufficient_sections', sections: {\u2026} }. A section that failed but was still charged appears as sections.<name>:'unavailable' with the rest of the report intact. The cost section is a jurisdiction-level estimate (the bundle takes no price/province/state) \u2014 call GET /v1/purchase-costs for an exact itemized figure. Compute-first / settle-after. Each section carries its own fetch provenance."
},
{
"method": "GET",
"path": "/.well-known/hexanon",
"params": [],
"priceUsd": 0,
"description": "Catalog of all products in the Hexanon family (x402 data & intelligence APIs for AI agents) \u2014 names, taglines, API base URLs, docs, MCP packages. Same catalog on every Hexanon product; canonical copy at https://api.moltalyzer.xyz/.well-known/hexanon."
},
{
"method": "GET",
"path": "/v1/sample/decode",
"params": [],
"priceUsd": 0,
"description": "Free, no payment. Normalized NHTSA vPIC decode for the fixed sample vehicle. Same shape as paid GET /v1/decode plus `sample: true` and `note`."
},
{
"method": "GET",
"path": "/v1/sample/recalls",
"params": [],
"priceUsd": 0,
"description": "Free, no payment. Merged NHTSA (US) + Transport Canada (CA) recalls + full decoded vehicle for the fixed sample vehicle. Same shape as paid GET /v1/recalls plus `sample: true` and `note`."
},
{
"method": "GET",
"path": "/v1/sample/known-issues",
"params": [],
"priceUsd": 0,
"description": "Free, no payment. LLM-clustered known-issues + reliability-aggregates block + full decoded vehicle for the fixed sample vehicle. Same shape as paid GET /v1/known-issues plus `sample: true` and `note`. A non-'ok' synthesis status is served as-is with 200 (samples never 503), still carrying the decode + reliability block."
},
{
"method": "GET",
"path": "/v1/sample/purchase-costs",
"params": [],
"priceUsd": 0,
"description": "Free, no payment. Returns `{ sample: true, note, ca, us }`: `ca` is the Ontario $25,000-private result (same shape as paid GET /v1/purchase-costs?country=CA) and `us` is the California $25,000-private result (same shape as paid GET /v1/purchase-costs?country=US)."
}
],
"x402": {
"version": 2,
"networks": [
"eip155:8453"
],
"assets": [
"USDC"
]
},
"skills": [
{
"id": "decode",
"name": "Normalized NHTSA vPIC VIN decode",
"description": "Paid ($0.01 USDC via x402). Decodes a 17-char VIN through NHTSA vPIC and returns the normalized decoded vehicle (make/model/year/engine/body/\u2026) with fetch provenance, PLUS a `warranty` block giving the ORIGINAL factory new-vehicle warranty terms (basic/powertrain/corrosion/roadside/EV-battery) keyed off the decoded make + model-year. Warranty terms are the manufacturer's original coverage as sold \u2014 NOT warranty-remaining, and NOT extended-warranty campaigns, recalls, or emissions warranties. The cheapest call when you only need the decode \u2014 the same `vehicle` object is also folded into /v1/recalls and /v1/known-issues. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/decode.",
"priceUsd": 0.01,
"tags": [
"vindex",
"decode"
]
},
{
"id": "recalls",
"name": "Merged US (NHTSA) + Canada (Transport Canada) recalls + full decoded vehicle",
"description": "Paid ($0.01 USDC via x402). Decodes the VIN and returns the FULL decoded vehicle (the same payload as /v1/decode is folded in here), then merges NHTSA (US) and Transport Canada (CA) recalls into one response \u2014 the only API combining both. 24h cache per source; stale served on failure. Canadian detail capped at the 25 most-recent recalls. OGL\u2013Canada attribution. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/recalls.",
"priceUsd": 0.01,
"tags": [
"vindex",
"recalls"
]
},
{
"id": "known-issues",
"name": "LLM-clustered named failure modes with verified ODI citations + reliability block + full decode",
"description": "Paid ($0.05 USDC via x402). Clusters NHTSA owner complaints into named failure modes; EVERY cited ODI number is programmatically validated against the input complaint set (hallucination-gated) and every issue carries \u22652 verified citations. Severity signals per issue are summed from the CITED complaints only. The response also bundles a `reliability` aggregates block (top components, severity signals, US/Canada recall counts incl. Canadian units affected \u2014 reliability was merged into known-issues on 2026-07-07), the full decoded `vehicle` (same payload as /v1/decode), and `complaintsAnalyzed`, the size of the recent-weighted stratified sample the LLM actually saw (vs `complaintCount`, the total). Refuses UNCHARGED below 15 complaints (returns 200 status:insufficient_data) \u2014 but still returns the decode + reliability block for free. 90-day cache. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/known-issues.",
"priceUsd": 0.05,
"tags": [
"vindex",
"known-issues"
]
},
{
"id": "purchase-costs",
"name": "Itemized US + Canada used-vehicle closing costs (country=CA|US)",
"description": "Paid ($0.02 USDC via x402). Government-imposed closing costs of buying a used passenger vehicle, unified across both countries via `country=CA|US`. CA: any of Canada's 10 provinces + 3 territories (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL, YT, NT, NU) \u2014 provincial/territorial sales tax (PST/RST/QST/HST or GST-only) plus transfer/registration/plate fees and inspection; tax is flat on the whole price at the highest bracket whose threshold the price meets (BC private 12% \u2192 15% \u2265 $125,000 \u2192 20% \u2265 $150,000); Alberta + the three territories levy no private-sale tax; dealer sales add 5% GST except in HST provinces (ON/NB/NS/PE/NL). US: any of the 50 states or DC \u2014 sales/use/excise tax, title, first-year registration, inspection, and (for dealer sales) a dealer documentation fee; special regimes handled automatically (DC tiered title-excise range, IL flat RUT-50 private-party table, SC 5% IMF capped at $500, and AK/AZ/HI/MT/NV/NH/OR no private-party sales tax). Each line carries a source URL and confidence. Figures verified 2026-07-04. Compute-first / settle-after. Free fixed-sample preview of this exact shape: GET /v1/sample/purchase-costs.",
"priceUsd": 0.02,
"tags": [
"vindex",
"purchase-costs"
]
},
{
"id": "prepurchase",
"name": "Pre-purchase report: decode + recalls + known issues + ownership costs in one call",
"description": "Whole-job bundle for agents advising a vehicle purchase. One payment returns the normalized VIN decode, safety recalls, known-issue/reliability summary, and CA/US purchase+ownership cost estimate for the decoded vehicle. Equivalent to 4 separate paid calls. Composed in-process from the same data as /v1/decode, /v1/recalls, /v1/known-issues and /v1/purchase-costs (no extra upstream fan-out beyond those). The decode is computed FIRST \u2014 an invalid VIN or decode failure returns UNCHARGED (no settle). The response then settles only if the decode succeeded AND at least 2 of the 3 secondary sections (recalls, known-issues, purchase-costs) are available; otherwise it returns UNCHARGED { error: 'insufficient_sections', sections: {\u2026} }. A section that failed but was still charged appears as sections.<name>:'unavailable' with the rest of the report intact. The cost section is a jurisdiction-level estimate (the bundle takes no price/province/state) \u2014 call GET /v1/purchase-costs for an exact itemized figure. Compute-first / settle-after. Each section carries its own fetch provenance.",
"priceUsd": 0.25,
"tags": [
"vindex",
"prepurchase"
]
}
],
"authentication": {
"schemes": [
"none",
"x402"
],
"description": "Free endpoints need no auth. Paid endpoints use the x402 V2 HTTP-402 flow: on an unpaid request the server returns a 402 whose accepts[] lists an exact USDC rail per network. Sign one rail and retry with the PAYMENT-SIGNATURE header (x402 V2) or legacy X-PAYMENT header. Per-call pricing."
},
"documentationUrl": "https://api.vindexapi.dev/llms.txt",
"openApiUrl": "https://api.vindexapi.dev/openapi.json",
"termsOfService": "https://api.vindexapi.dev/terms.txt"
}