OneGraph Source — Vehicle Identity Fields
The OneGraph StockCarSearch endpoint returns inventory records with several
candidate identifier fields. Outside of vin, none is a perfect vehicle ID.
This page documents the stability and uniqueness characteristics of each.
For endpoint details (URL, headers, pagination, GraphQL queries), see Audi Public API Sources.
VIN availability by market
Not all markets surface the VIN on StockCarSearch responses. Of the 29 active
markets, only 8 return vin:
| VIN present | Markets |
|---|---|
| Yes | ca, ch, kr, mx, nl, no, tw, us |
| No (null) | ar, au, az, bh, br, de, es, fr, gb, gr, ie, it, jo, jp, kw, lu, om, pl, sa, se, za |
Identity field reference
vin
17-character Vehicle Identification Number. Globally unique and stable. Null in 21 of 29 markets.
id
Base64-encoded composite of dealer.id + commissionNumber. Changes whenever
the vehicle moves to a different dealer (trade) or when the commission number
is reassigned. Not suitable as a stable identifier.
code.id (mapped to vehicle_lookup_code)
8-character website lookup code (e.g. AXFFG3YX). Usable at
https://audi.{tld}/{code} to view the vehicle's configuration or listing.
- Unique within a market snapshot — verified across all 3,251 JP vehicles (zero collisions).
- Stable at the same dealer — observed in CA data: vehicles retaining the
same
code.idacross multiple snapshots while staying at the same dealer. - Changes on inter-dealer trade — when a vehicle moves between dealers,
a new
code.idis assigned. Two such cases observed in CA longitudinal data.
commissionNumber
Factory order/commission number (e.g. 505214159). Unstable — can change
even while the vehicle remains at the same dealer. 86 same-dealer commission
number changes observed in CA longitudinal data. Not stable even within a
single dealer.
avpCode (mapped to audi_code)
Long comma-separated configuration string describing the vehicle's full spec. Shared by every vehicle with the same configuration — appears on multiple records with high enough frequency that it cannot be used as an identifier. This is a spec fingerprint, not a vehicle identifier.
Model fields
model.id
Returns the model identity as four components: code, version, year and
extensions (a list of PR codes).
extensions carries a leading empty entry — ["", "S0D", "6W9"]. The empty
entry is not a PR code.
No trimline field
stockCar exposes no trimline at any depth. The trim name appears only as free
text inside model.name (Audi Q4 Sportback e-tron Premium Plus 55 e-tron® quattro®) and subtitleText (Premium Plus 55 e-tron® quattro®).
salesModelyear
Stated on model alongside model.id. Absent from the gen-1 vtp table the
historic partitions are reshaped from, where VIN position 10 carries the same
year.
model.name
Includes the brand and carline ahead of the spec, e.g.
Audi S8 L TFSI® quattro® tiptronic®.
carPrices
The manufacturer list price is tagged list. MSRP and msrp never appear in
the live response.
Each price is scoped to the vehicle record it appears on. Observed on an S8 L:
list 141805, final 99999, sale 99000.
Other tags seen on US records: dealerDiscount, dealerPrice, dealerDocFees,
final, sale. dealerDiscount is negative (-42805) and is absent on some
records.
engineInfo.fuel
Returned as {code, text} with text in plain English — Gas, Electric —
rather than a code vocabulary.
driveText and gearText
driveText is prose: All-wheel drive. gearText is null on every US record
observed; the transmission appears inside subtitleText instead.
doors
0 on every US record observed. Not populated for this market.