> For the complete documentation index, see [llms.txt](https://motorweb.gitbook.io/motorweb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://motorweb.gitbook.io/motorweb/motorweb-reports/chassis-check.md).

# Chassis Check

Vehicle data only. No dynamic data such as WOF, COF or RUC.

<mark style="color:green;">`GET`</mark> `https://robot.motorweb.co.nz/b2b/chassischeck/generate/{version}`

Chassis Check returns registration details and vehicle specifications. It does not return dynamic data such as WOF, COF or RUC, and it does not return owner information or security interests.

Use it when you need to identify a vehicle rather than assess its current status.

### **Environments**

<table><thead><tr><th width="214" align="center">Environment</th><th>Base URL</th></tr></thead><tbody><tr><td align="center">UAT</td><td><code>https://robot.uat.motorweb.co.nz</code></td></tr><tr><td align="center">Production</td><td><code>https://robot.motorweb.co.nz</code></td></tr></tbody></table>

### **Paths**

<table><thead><tr><th width="340">Path</th><th>Notes</th></tr></thead><tbody><tr><td><code>/b2b/chassischeck/generate/{version}</code></td><td>Use this path.</td></tr><tr><td><code>/action/robotChassisCheck/{version}</code></td><td>Legacy alias. Same behaviour.</td></tr></tbody></table>

### **Versions**

<table><thead><tr><th width="150" align="center">Version</th><th>Notes</th></tr></thead><tbody><tr><td align="center"><strong>4.0</strong></td><td><strong>Current version.</strong></td></tr><tr><td align="center">1.0, 2.0, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1</td><td>Earlier versions, still accepted. See <a href="/motorweb/motorweb-reports/vir.md">VIR</a> for what changed in each.</td></tr></tbody></table>

Chassis Check shares the VIR schema. The response validates against `vir-{version}.xsd`.

### **Access**

Your account must hold the Chassis Check privilege. Without it the request returns `400` with `MotorWeb-Error-Code: BAD-ACCOUNT`.

Alerts are suppressed on Chassis Check unless your account also holds the alerts privilege for this report. Ask your account manager if you need them.

### **Headers**

No request headers are required.

| Result  | Content type |
| ------- | ------------ |
| Success | `text/xml`   |
| Error   | `text/plain` |

### **Body**

```
< no body required >
```

### **Query Parameters**

<table><thead><tr><th width="180">Name</th><th>Value</th></tr></thead><tbody><tr><td><code>plateOrVin</code></td><td>A registration plate (6 characters or fewer) or a VIN (exactly 17 characters). Required unless you supply <code>vehicleId</code> or <code>stockNumber</code>.</td></tr><tr><td><code>vehicleId</code></td><td>The ID of a vehicle already held under your account.</td></tr><tr><td><code>stockNumber</code></td><td>Your own reference for a vehicle already held under your account.</td></tr></tbody></table>

{% hint style="info" %}
Chassis Check does not return owner information, so `specificReason` is not required.
{% endhint %}

### **Response**

{% tabs %}
{% tab title="200" %}

```xml
<vir vehicle-id="-321587396" billing-user="MotorWeb Development" id="-321587402" reference="a41d90c7" timestamp="2024-09-24T08:42:27.984" user="MotorWeb Development">
  <vir-analysis version="4.0">
    <vehicle>
      <registration>
        <first-registration-date-in-new-zealand value="2021-09-23">23-Sep-2021</first-registration-date-in-new-zealand>
        <registered-overseas value="false">No</registered-overseas>
      </registration>
      <year-of-manufacture value="2021">2021</year-of-manufacture>
      <make>Tesla</make>
      <model>Model 3 Standard Range Plus</model>
      <mvr-model>MODEL 3</mvr-model>
      <body-style code="SL">Sedan</body-style>
      <vehicle-type code="7">Passenger Car/Van</vehicle-type>
      <vin>LRW3F7FJ7MC328537</vin>
      <engine-number>TG321203002FY3</engine-number>
      <main-colour>SILVER</main-colour>
      <power unit="KW" value="195">195</power>
      <country-of-origin code="CHN">China</country-of-origin>
      <assembly-type code="1">Imported Built-Up</assembly-type>
      <gross-vehicle-mass unit="Kg" value="2060">2,060</gross-vehicle-mass>
      <number-of-seats value="5">5</number-of-seats>
      <fuel-type code="5">Electric</fuel-type>
      <max-rated-towed-mass-for-unbraked-trailer unit="Kg" value="750">750</max-rated-towed-mass-for-unbraked-trailer>
      <max-rated-towed-mass-for-braked-trailer unit="Kg" value="910">910</max-rated-towed-mass-for-braked-trailer>
      <number-of-axles value="2">2</number-of-axles>
      <axle-type code="2">2-Axle</axle-type>
      <wheelbase unit="mm" value="2875">2,875</wheelbase>
      <odometer-unit code="K">Km</odometer-unit>
      <model-code>M3E1RB5CH;</model-code>
      <model-variant>0</model-variant>
      <sub-model-spec>50KWH/EV/RWD/FD/SL/4DR/5S</sub-model-spec>
    </vehicle>
  </vir-analysis>
</vir>
```

{% endtab %}

{% tab title="400" %}

```
No vehicle identifiers specified
```

or

```
Cannot specify both vehicleId and plateOrVin
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The root element is `vir`. Chassis Check shares the VIR schema and returns a subset of its elements.
{% endhint %}

### **XSD**

{% embed url="<https://www.motorweb.co.nz/action/robotSchema/vir-4.0.xsd>" %}

### **Errors**

Errors return `text/plain` with the message in the body. A `MotorWeb-Error-Code` response header carries a machine-readable code.

<table><thead><tr><th width="80">HTTP</th><th width="170">Error code header</th><th>Message and cause</th></tr></thead><tbody><tr><td>400</td><td><code>BAD-PARAM</code></td><td><code>No vehicle identifiers specified</code></td></tr><tr><td>400</td><td><code>BAD-PARAM</code></td><td><code>Cannot specify both vehicleId and plateOrVin</code></td></tr><tr><td>400</td><td><code>NOT-FOUND</code></td><td><code>Vehicle not found for vehicle ID: {id}</code></td></tr><tr><td>400</td><td><code>BAD-ACCOUNT</code></td><td>Your account does not hold the Chassis Check privilege.</td></tr><tr><td>400</td><td><code>MC-21</code>, <code>MC-22</code></td><td>Errors passed through from NZTA.</td></tr><tr><td>400</td><td><code>EXTERNAL-ISSUE</code></td><td>NZTA is unavailable. Check <a href="/motorweb/motorweb-reports/ping.md">Ping</a> and retry.</td></tr><tr><td>401</td><td>—</td><td>Certificate authentication failed.</td></tr></tbody></table>

**Example cURL command:**

```bash
# Production
curl --cert-type P12 --cert motorwebnz.p12:<CERTPASSWORD> \
  "https://robot.motorweb.co.nz/b2b/chassischeck/generate/4.0?plateOrVin=ABC123"

# UAT
curl --cert-type P12 --cert motorwebnz-uat.p12:<CERTPASSWORD> \
  "https://robot.uat.motorweb.co.nz/b2b/chassischeck/generate/4.0?plateOrVin=ABC123"
```

**Notes:**

* Authentication is mutual TLS with a MotorWeb-issued client certificate
* Your account must hold the Chassis Check privilege
* No owner information is returned, so `specificReason` is not required
* For RedBook codes alongside this data, use [Chassis Check + RedBook](/motorweb/motorweb-reports/chassis-check-redbook.md)
* For RedBook values, use [Chassis Check + RedBook Valuation](/motorweb/motorweb-reports/chassis-check-redbook-valuation.md)
