---
title: "Recalls that may apply to the year, make and model a VIN decodes to."
method: GET
path: "/v1/vin/{vin}/recalls"
tags: ["Recalls"]
---

# Recalls that may apply to the year, make and model a VIN decodes to.

`GET /v1/vin/{vin}/recalls`

## Request

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

This decodes the VIN and lists the recalls of its model year. It does
not look the VIN itself up, which no public data allows: `may_apply` is
always `true`. A VIN that decodes to no vehicle in the catalog gets an
empty list and the warning `no_catalog_vehicle`, not an error.

## Path parameters

- `vin` string, required

## Query parameters

- `country` string
- `year` integer

## Response `200`

Recalls that may apply, newest first.

- VinRecalls: Recalls that may apply to the year, make and model a VIN decodes to.
  - `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
  - `decode` RecallDecode, required: What a VIN decoded to, as far as recalls need it.
    - `make` string, nullable
    - `model` string, nullable
    - `trim` string, nullable
    - `valid` boolean, required: Whether the check digit is right.
    - `vin` string, required
    - `year` integer, nullable
  - `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`. This is not a lookup by VIN: the list is for the model year, and the VIN only names it.
  - `recalls` Recall[], required
    - `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: 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
  - `warnings` Warning[], required: The decode's warnings, and `no_catalog_vehicle` when the VIN names no model year to list recalls for.
    - `code` string, required: `invalid_check_digit`, `model_year_unknown`, `no_patterns` or `model_unresolved`. More may be added.
    - `message` string, required
    - `suggestions` string[]: VINs the caller may have meant.

## Other responses

- `400`: `invalid_vin`, or `validation_failed` for `country` or `year`.
- `404`: `not_found`: no manufacturer is registered for the first three characters. `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)
