{"openapi":"3.1.0","info":{"title":"VehDB API","version":"1.0.0","description":"Vehicle data API: cars, motorcycles, power boats and tire fitments \u2014 enriched with EPA fuel economy and NHTSA safety data. All endpoints require a Bearer token (create one in the dashboard). At least one filter is required on list endpoints. See \/changelog for API changes.","contact":{"email":"support@vehdb.com"},"termsOfService":"https:\/\/vehdb.com\/terms"},"servers":[{"url":"https:\/\/api.vehdb.com\/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API token from the VehDB dashboard (read-only ability api:read)."}}},"paths":{"\/me":{"get":{"summary":"Your plan & quota","description":"Returns plan, rate limit, monthly quota and usage for the authenticated token.","responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/cars":{"get":{"summary":"List cars","description":"Filterable, paginated car records including EPA enrichment fields (mpg_city, mpg_highway, mpg_combined, epa_range_miles, annual_fuel_cost, co2_gpm).","parameters":[{"name":"make","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by manufacturer (exact)."},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by model (exact)."},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Exact model year."},{"name":"year_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range lower bound."},{"name":"year_max","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range upper bound."},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text search."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page size (max 100)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number."}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/cars\/{uuid}":{"get":{"summary":"Get a car","description":"Single car record by uuid, including EPA enrichment fields.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/cars\/{uuid}\/tire-sizes":{"get":{"summary":"Tires that fit a car","description":"Cross-reference: OEM and alternate tire fitments matched by make\/model, preferring the exact model year.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/cars\/{uuid}\/recalls":{"get":{"summary":"Car recalls & safety rating","description":"Live NHTSA recall campaigns and NCAP crash-test ratings (overall, front, side, rollover). Source: U.S. DOT, cached 24h.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/motorcycles":{"get":{"summary":"List motorcycles","description":"Filterable, paginated motorcycle records.","parameters":[{"name":"make","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by manufacturer (exact)."},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by model (exact)."},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Exact model year."},{"name":"year_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range lower bound."},{"name":"year_max","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range upper bound."},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text search."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page size (max 100)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number."}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/motorcycles\/{uuid}":{"get":{"summary":"Get a motorcycle","description":"Single motorcycle record by uuid.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/motorcycles\/{uuid}\/recalls":{"get":{"summary":"Motorcycle recalls","description":"Live NHTSA recall campaigns for a motorcycle. Empty list = no match found in NHTSA naming, not a guarantee.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/boats":{"get":{"summary":"List power boats","description":"Filterable, paginated power-boat records (length, beam, hp, hull, fuel).","parameters":[{"name":"make","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by manufacturer (exact)."},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by model (exact)."},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Exact model year."},{"name":"year_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range lower bound."},{"name":"year_max","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range upper bound."},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text search."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page size (max 100)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number."}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/boats\/{uuid}":{"get":{"summary":"Get a power boat","description":"Single power-boat record by uuid.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/tire-sizes":{"get":{"summary":"List tire fitments","description":"Filterable, paginated tire fitment records (vehicle \u2192 OEM + alternate sizes).","parameters":[{"name":"make","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by manufacturer (exact)."},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by model (exact)."},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Exact model year."},{"name":"year_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range lower bound."},{"name":"year_max","in":"query","required":false,"schema":{"type":"integer"},"description":"Year range upper bound."},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text search."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page size (max 100)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number."}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/tire-sizes\/{uuid}":{"get":{"summary":"Get a tire fitment","description":"Single tire fitment record by uuid.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/tire-sizes\/{uuid}\/geometry":{"get":{"summary":"Tire size geometry & fitment check","description":"Computed geometry for the OEM size (width, sidewall, overall diameter, revs\/mile) and each alternate size with its diameter delta vs OEM. Within \u00b13% is the generally accepted fitment window.","parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}},"\/lists":{"get":{"summary":"Your lists","description":"The authenticated user's curated vehicle list (same data as the dashboard lists and the my_lists MCP tool).","responses":{"200":{"description":"OK"},"401":{"description":"Missing\/invalid token"},"403":{"description":"Plan has no API access"},"429":{"description":"Rate limit or monthly quota exceeded"}}}}}}