{"openapi":"3.0.3","info":{"title":"Canadian Powersports Blue Book API","version":"4.0.0","description":"Read-only valuation lookups over the current printed edition. Values are whole Canadian dollars; null means the book prints no value. VINs are reduced to their model pattern (positions 1-8, 10-11); the serial is never stored."},"servers":[{"url":"https://api.canadianbluebook.com"}],"security":[{"bearer":[]}],"paths":{"/v4/health":{"summary":"Service and database status","tags":["Service"],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}},"security":[]},"/v4/edition":{"summary":"Which edition is live","tags":["Service"],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"edition":{"type":"string"},"committed_at":{"type":"string","nullable":true}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/types":{"summary":"Vehicle types and record counts","tags":["Browse"],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/{vtype}/years":{"summary":"Years carried for a type","tags":["Browse"],"parameters":[{"name":"vtype","in":"path","required":true,"schema":{"type":"string"},"description":"One of: motorcycle, atv, snowmobile, watercraft"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/{vtype}/{year}/makes":{"summary":"Makes for a type and year","tags":["Browse"],"parameters":[{"name":"vtype","in":"path","required":true,"schema":{"type":"string"},"description":"One of: motorcycle, atv, snowmobile, watercraft"},{"name":"year","in":"path","required":true,"schema":{"type":"integer"},"description":""}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/{vtype}/{year}/{make}/models":{"summary":"Exact model names for a type, year and make","tags":["Browse"],"parameters":[{"name":"vtype","in":"path","required":true,"schema":{"type":"string"},"description":"One of: motorcycle, atv, snowmobile, watercraft"},{"name":"year","in":"path","required":true,"schema":{"type":"integer"},"description":""},{"name":"make","in":"path","required":true,"schema":{"type":"string"},"description":"e.g. HONDA"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/{vtype}/{year}/{make}/{model}":{"summary":"One record by exact model name","tags":["Lookups"],"parameters":[{"name":"vtype","in":"path","required":true,"schema":{"type":"string"},"description":"One of: motorcycle, atv, snowmobile, watercraft"},{"name":"year","in":"path","required":true,"schema":{"type":"integer"},"description":""},{"name":"make","in":"path","required":true,"schema":{"type":"string"},"description":""},{"name":"model","in":"path","required":true,"schema":{"type":"string"},"description":"URL-encoded, as listed by /models"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"record":{"$ref":"#/components/schemas/Record"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/vin/{vin}":{"summary":"Records matching a VIN (first 11 characters are enough)","tags":["Lookups"],"parameters":[{"name":"vin","in":"path","required":true,"schema":{"type":"string"},"description":"Full VIN, its first 11 characters, or a pattern with *"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/Record"}},"query_pattern":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/record/{id}":{"summary":"One record by its stable id (e.g. motorcycle:1810)","tags":["Lookups"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"type:number, as returned in every record"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"record":{"$ref":"#/components/schemas/Record"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/search":{"summary":"Text search across make and model (every word must match)","tags":["Lookups"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"e.g. ninja 400"},{"name":"type","in":"query","schema":{"type":"string","enum":["motorcycle","atv","snowmobile","watercraft"]}},{"name":"year","in":"query","schema":{"type":"integer"}},{"name":"limit","in":"query","schema":{"type":"integer","default":25,"maximum":100}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/Record"}},"q":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]},"/v4/batch":{"post":{"summary":"Look up many VINs and/or ids in one call (up to 200; counts as one call)","tags":["Lookups"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vins":{"type":"array","items":{"type":"string"}},"ids":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"edition":{"type":"object"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"query":{"type":"object"},"matches":{"type":"array","items":{"$ref":"#/components/schemas/Record"}},"record":{"$ref":"#/components/schemas/Record"},"error":{"type":"string"}}}}}}}}},"400":{"description":"Bad body or too many items","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}}}},"/v4/vic/{vic}":{"summary":"Records matching an insurer VIC code","tags":["Lookups"],"parameters":[{"name":"vic","in":"path","required":true,"schema":{"type":"string"},"description":"e.g. H21V00"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/Record"}},"vic_code":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"401":{"description":"Missing key"},"403":{"description":"Unknown or revoked key"},"429":{"description":"Rate limited"}},"security":[{"bearer":[]}]}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Record":{"type":"object","properties":{"id":{"type":"string","example":"motorcycle:1810"},"vehicle_type":{"type":"string","enum":["motorcycle","atv","snowmobile","watercraft"]},"year":{"type":"integer"},"make":{"type":"string"},"model":{"type":"string"},"legacy_model_string":{"type":"string","description":"Model as the v3 API printed it (trailing * = wet weight)."},"category":{"type":"string","nullable":true},"vic_code":{"type":"string","nullable":true},"model_code":{"type":"string","nullable":true,"description":"OEM/dealer model code (motorcycles), e.g. KLX110CVF"},"vin_pattern":{"type":"string","nullable":true,"example":"JH2SC824*TK"},"msrp":{"type":"integer","nullable":true,"description":"Whole CAD. null = not printed."},"retail":{"$ref":"#/components/schemas/Tiers"},"wholesale":{"$ref":"#/components/schemas/Tiers"},"specs":{"type":"object","properties":{"engine":{"type":"string","nullable":true},"weight_lb":{"type":"number","nullable":true},"weight_is_wet":{"type":"boolean"},"fuel_l":{"type":"number","nullable":true}}},"confidence":{"type":"object","description":"How the printed value was arrived at and how much of the model's own market evidence stood behind it (2026-10-01).","properties":{"tier":{"type":"string","nullable":true,"enum":["measured","thin","formula",null],"description":"measured = 3+ units of its own sales; thin = 1-2; formula = none; null = no evidence record for this edition"},"units":{"type":"integer","nullable":true},"method":{"type":"string","nullable":true,"enum":["evidence","recipe",null],"description":"evidence = blend of its own sales with the prior book; recipe = prior book x brand multiplier x season, ladder, smoothing"},"basis":{"type":"string"}}},"edition":{"type":"string","example":"Sept\u2013Dec 2026"},"committed_at":{"type":"string","nullable":true,"example":"2026-08-19"},"source":{"type":"string"},"sandbox":{"type":"boolean","description":"Present and true only on sandbox keys."}}},"Tiers":{"type":"object","properties":{"clean":{"type":"integer","nullable":true},"average":{"type":"integer","nullable":true},"rough":{"type":"integer","nullable":true}},"description":"Whole CAD by condition, as printed. null = the book prints no value."},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}
