---
title: "Recalls that may apply to a model year."
method: GET
path: "/v1/vehicles/{id}/recalls"
tags: ["Recalls"]
---

# Recalls that may apply to a model year.

`GET /v1/vehicles/{id}/recalls`

## Request

- Base URL: `https://open.wenmarpro.com`
- URL: `https://open.wenmarpro.com/v1/vehicles/{id}/recalls`
- Auth: none declared

The list is for the year, make and model. It is not a lookup by VIN:
`may_apply` is always `true`, and `lookup` gives the official addresses
where a VIN can be checked.

## Path parameters

- `id` string, required

## Query parameters

- `country` string

## Response `200`

Recalls that may apply, newest first.

- VehicleRecalls: Recalls that may apply to one model year.
  - `as_of` RecallAsOf, required: The day each country's recall data was current. `null` for a country this server holds no recalls for.
    - `ca` string, nullable
    - `us` string, nullable
  - `attribution` string[], required: The credit lines the data's licences ask for.
  - `lookup` RecallLookup, required: Where to check one vehicle for open recalls. Neither government publishes recalls by VIN as data, so no answer here can say a recall applies to a VIN: these lookups can.
    - `maker` string, nullable: The maker's own lookup by VIN, where one is on file.
    - `nhtsa` string, required: NHTSA's lookup by VIN, for the United States.
    - `tc` string, required: Transport Canada's recall search, for Canada.
  - `may_apply` boolean, required: Always `true`. A campaign lists a year, make and model; only the manufacturer can say whether one vehicle is in it. Check the VIN at the addresses in `lookup`.
  - `recalls` Recall[], required: Newest first. Empty when none was found as of the dates in `as_of`.
    - `built_from` string, nullable: In an answer about one model year: the first and last build date the campaign gives. Compare them with the date on the door sticker.
    - `built_to` string, nullable
    - `campaign` string, required: The publisher's campaign number.
    - `component` string, nullable: The component, as the source words it.
    - `country` string, required: `us` or `ca`.
    - `date` string, nullable: The day the campaign was reported.
    - `do_not_drive` boolean, nullable: NHTSA's advisory not to drive the vehicle until it is repaired. `null` for a Canadian campaign: Transport Canada publishes no such field.
    - `manufacturer` string, nullable
    - `match` string, nullable: In an answer about one model year: how the campaign's vehicle text reached that model. `exact`, `base` (the campaign names a series or trim of it) or `curated`. `null` in a list that is not about one model year.
    - `mfr_campaign` string, nullable: The manufacturer's own campaign number, which a dealer looks a recall up by.
    - `models` string[], required: In an answer about one model year: the model names the campaign lists that reached it.
    - `notification` string, nullable: Transport Canada's notification type, such as `Safety Mfr`.
    - `park_outside` boolean, nullable: NHTSA's advisory to park outside, away from buildings.
    - `source` string, required: Who published it: `nhtsa` or `tc` (Transport Canada).
    - `summary` string, nullable: What is wrong, in the source's words.
    - `units` integer, nullable: Units potentially affected.
    - `url` string, required: The campaign's page on this site.
  - `vehicle` RecallVehicle, required: The model year an answer is about.
    - `id` string, required: The id of the year, make and model.
    - `make` string, required
    - `model` string, required
    - `year` integer, required

## Other responses

- `400`: `validation_failed`: `country` is not `us` or `ca`.
- `404`: `not_found`: no vehicle has that id. `dataset_unavailable`: this server holds no recalls, or none for the country asked for.

---

[API](https://skmtc.dev/wenmarpro/apis/wenmar-open.md) · [All operations](https://skmtc.dev/wenmarpro/apis/wenmar-open/llms.txt) · [OpenAPI document](https://skmtc.dev/wenmarpro/apis/wenmar-open/revisions/1027b548b6f0?raw)
