---
title: "Listing detail for a VIN (listing + vehicle + canonical spec)"
method: GET
path: "/v2/vin/{vin}/listings"
tags: ["vin", "listings"]
---

# Listing detail for a VIN (listing + vehicle + canonical spec)

`GET /v2/vin/{vin}/listings`

## Request

- Base URL: `https://api.cardog.app`
- URL: `https://api.cardog.app/v2/vin/{vin}/listings`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Path parameters

- `vin` string, required

## Response `200`

One-query detail; spec null when unlinked

- ListingDetail
  - `id` string, required
  - `vin` string, required
  - `price` number, required
  - `currency` string
  - `odometer` number, nullable
  - `year` integer, required
  - `make` string, required
  - `model` string, required
  - `trim` string, nullable
  - `makeRef` string, nullable
  - `modelRef` string, nullable
  - `nano` string, nullable
  - `media` object[]
  - `variant` object, nullable, required
    - `id` string, required
    - `trim` string, nullable
    - `styleName` string, nullable
    - `region` string, nullable
    - `year` integer, nullable
    - `msrp` number, nullable
  - `spec` object, nullable, required

## Other responses

- `400`: Invalid request — grammar failure or unknown-but-well-formed refs, NAMED in `refs`/`details`, with nearest-ref `suggestions` where computable. Never a fuzzy fallback.
- `401`: No valid credential (API key, session, or internal token)
- `402`: Insufficient credits (free-tier hard stop; paid tiers bill overage instead)
- `404`: Resource not found
- `429`: Per-minute rate limit exceeded
- `500`: Internal error

---

[API](https://skmtc.dev/cardog/apis/cardog-api-v2.md) · [All operations](https://skmtc.dev/cardog/apis/cardog-api-v2/llms.txt) · [OpenAPI document](https://skmtc.dev/cardog/apis/cardog-api-v2/revisions/b9d48193126f?raw)
