---
title: "A trouble code on one model year: its description, the bulletins of that model year whose summary names it, and the bulletins and recalls of that model year about the components the description names."
method: GET
path: "/v1/vehicles/{id}/codes/{code}"
tags: ["Codes"]
---

# A trouble code on one model year: its description, the bulletins of that model year whose summary names it, and the bulletins and recalls of that model year about the components the description names.

`GET /v1/vehicles/{id}/codes/{code}`

## Request

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

Any code answers, a manufacturer-specific one included: such a code has
`description: null` and whatever bulletins name it. `bulletins` and
`related.bulletins` are `null` where bulletins are not held, and
`related.recalls` is `null` where recalls are not. Nothing here says a
recall applies to one vehicle, or what is wrong with it.

## Path parameters

- `id` string, required
- `code` string, required

## Response `200`

What is held about the code for the model year.

- VehicleCode: A trouble code on one model year.
  - `attribution` string[], required
  - `bulletins` CodeBulletins: The bulletins of a model year whose summary names a code.
    - `as_of` string, nullable: The day the bulletins were current.
    - `bulletins` Bulletin[], required: The newest, newest first.
      - `component` string, nullable: NHTSA's components, in its words, separated by `; `.
      - `date` string, nullable: The manufacturer's own date.
      - `date_added` string, required: The day NHTSA published it. Lists are ordered by it.
      - `document` BulletinDocument: Where NHTSA's copy of a bulletin's document is expected to be.
        - `alternate_url` string, required: The address to try when `url` answers "not found": NHTSA files documents under one of two endings, and the data does not say which.
        - `confirmed` boolean, required: Always `false`. The addresses are built from a rule that held for a sample of documents; this API has not asked NHTSA for this one.
        - `url` string, required: The likelier address of NHTSA's copy (a PDF).
      - `document_id` string, nullable: The manufacturer's own number for the document, which a dealer looks it up by.
      - `mfr_campaign` string, nullable: The manufacturer's campaign id or software version.
      - `nhtsa_id` integer, required: NHTSA's id number for the communication.
      - `summary` string, nullable: NHTSA's summary of the communication. The document itself is the manufacturer's and is not here.
      - `type` string, required: `service_bulletin`, `service_campaign`, `warranty_extension`, `over_the_air`, `emissions` or `other`.
      - `type_name` string, required: The type in words.
      - `url` string, required: The bulletin's page on this site.
    - `count` integer, required: How many there are. `bulletins` holds at most ten.
    - `url` string, required: The model year's bulletin page on this site, narrowed to the code.
  - `code` string, required
  - `description` Code: One generic trouble code, described in this project's own words.
    - `attribution` string[], required: The credit lines the data's licences ask for.
    - `checked` string, required: The day it was approved.
    - `checks` string[], required: What a technician usually verifies first.
    - `code` string, required
    - `common_causes` string[], required: General causes, not about one make.
    - `components` CodeComponent[], required
      - `id` string, required
      - `name` string, required
      - `parent` string, nullable: The system a part belongs to. `null` for a system.
    - `generic` boolean, required: Always `true` here: only codes every maker uses the same way are described.
    - `meaning` string, required: What the code tells a service advisor.
    - `note` string, required: What a description is and is not.
    - `related` CodeLink[], required: Related codes that are described too.
      - `code` string, required
      - `system` string, required: Where the index lists it: a group (`powertrain`, `body`, `chassis`, `network`), or a group and an area of it.
      - `title` string, required
      - `url` string, required: The code's page on this site.
    - `reviewer` string, required: The GitHub name of the person who approved the text.
    - `system` string, required
    - `system_name` string, required
    - `title` string, required
    - `url` string, required
  - `generic` boolean, required: Whether every maker uses the code the same way. A code that is not generic is never described, and may still be named by bulletins.
  - `note` string, required
  - `related` CodeRelated, required: What else is held for the model year about the components a code concerns.
    - `bulletins` Bulletin[], nullable: Bulletins about those components that do not name the code, at most ten. `null` where bulletins are not held.
      - `component` string, nullable: NHTSA's components, in its words, separated by `; `.
      - `date` string, nullable: The manufacturer's own date.
      - `date_added` string, required: The day NHTSA published it. Lists are ordered by it.
      - `document` BulletinDocument: Where NHTSA's copy of a bulletin's document is expected to be.
        - `alternate_url` string, required: The address to try when `url` answers "not found": NHTSA files documents under one of two endings, and the data does not say which.
        - `confirmed` boolean, required: Always `false`. The addresses are built from a rule that held for a sample of documents; this API has not asked NHTSA for this one.
        - `url` string, required: The likelier address of NHTSA's copy (a PDF).
      - `document_id` string, nullable: The manufacturer's own number for the document, which a dealer looks it up by.
      - `mfr_campaign` string, nullable: The manufacturer's campaign id or software version.
      - `nhtsa_id` integer, required: NHTSA's id number for the communication.
      - `summary` string, nullable: NHTSA's summary of the communication. The document itself is the manufacturer's and is not here.
      - `type` string, required: `service_bulletin`, `service_campaign`, `warranty_extension`, `over_the_air`, `emissions` or `other`.
      - `type_name` string, required: The type in words.
      - `url` string, required: The bulletin's page on this site.
    - `components` CodeComponent[], required: The components of the code's description. Empty without one.
      - `id` string, required
      - `name` string, required
      - `parent` string, nullable: The system a part belongs to. `null` for a system.
    - `recalls` CodeRecalls: The recalls of a model year about the components a code concerns.
      - `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 model year, never one vehicle.
      - `recalls` Recall[], required: At most ten, newest first.
        - `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.
  - `url` string, required: The page of this code on this model year.
  - `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

- `404`: `not_found`: no vehicle has that id, or the text is not a code. `dataset_unavailable`: this server holds neither code descriptions nor bulletins.

---

[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)
