> 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/bvi.md).

# BVI (Basic Vehicle Information)

Vehicle data with no owner information.

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

BVI returns the same data as a [Motor Check](/motorweb/motorweb-reports/motor-check.md) without owner information. Registration, licensing, WOF, COF, RUC, specifications, plate and odometer data are all returned.

Because no owner data is returned, BVI does not require a section 241 reason.

### **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="320">Path</th><th>Notes</th></tr></thead><tbody><tr><td><code>/b2b/bvi/generate/{version}</code></td><td>Use this path.</td></tr><tr><td><code>/action/robotBvi/{version}</code></td><td>Legacy alias. Same behaviour.</td></tr><tr><td><code>/action/robotVdnor/{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>

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

### **Access**

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

Alerts are suppressed on BVI 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" %}
BVI does not return owner information, so `specificReason` is not required.
{% endhint %}

### **Response**

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

```xml
<vir vehicle-id="-321580658" billing-user="MotorWeb Development" id="-321580664" reference="b7d1e0a4" timestamp="2024-09-24T08:48:15.899" 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>
        <registration-status code="A">Active</registration-status>
        <cause-of-last-registration code="N">New</cause-of-last-registration>
        <registered-overseas value="false">No</registered-overseas>
        <last-registration-date value="2021-09-23">23-Sep-2021</last-registration-date>
      </registration>
      <licence>
        <expiry-date value="2025-09-22">22-Sep-2025</expiry-date>
        <licence-type code="L">Licence</licence-type>
        <issue-date value="2024-09-17">17-Sep-2024</issue-date>
        <issue-time value="11:10:00+12:00">11:10</issue-time>
        <continuous value="true">Yes</continuous>
      </licence>
      <wof>
        <last-inspection-date value="2024-09-17">17-Sep-2024</last-inspection-date>
        <last-inspection-result code="P">Passed</last-inspection-result>
        <expiry-date value="2025-09-23">23-Sep-2025</expiry-date>
        <is-subject-to value="true">Yes</is-subject-to>
      </wof>
      <cof>
        <is-subject-to value="false">No</is-subject-to>
      </cof>
      <ruc data-retrieved="false">
        <is-subject-to value="true">Yes</is-subject-to>
      </ruc>
      <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>
      <vehicle-usage code="1">Private Passenger</vehicle-usage>
      <odometer-unit code="K">Km</odometer-unit>
      <plate current="true" past-plate="0">
        <plate-number>NSD465</plate-number>
        <plate-type code="ST">Standard</plate-type>
        <effective-date value="2021-09-23">23-Sep-2021</effective-date>
      </plate>
      <odometer-reading latest="true">
        <reading value="7230">7,230</reading>
        <reading-date value="2024-09-17">17-Sep-2024</reading-date>
        <reading-unit code="K">Km</reading-unit>
        <source code="IW">Warrant of Fitness Inspection</source>
      </odometer-reading>
      <transmission>
        <type code="A" has-gears="true">Automatic</type>
      </transmission>
      <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

```
Plate has never been registered
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The root element is `vir`, not `bvi`. BVI shares the VIR schema and returns a subset of its elements. No `owner` element and no `security-interests` element are returned.
{% 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 BVI privilege.</td></tr><tr><td>400</td><td><code>MC-21</code></td><td>Invalid plate number or VIN, returned by NZTA.</td></tr><tr><td>400</td><td><code>MC-22</code></td><td>No vehicle found matching plate or VIN.</td></tr><tr><td>400</td><td><code>MC-44</code></td><td>Plate has not been used.</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/bvi/generate/4.0?plateOrVin=ABC123"

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

**Notes:**

* Authentication is mutual TLS with a MotorWeb-issued client certificate
* Your account must hold the BVI privilege
* No owner information is returned, so `specificReason` is not required
* If you need the current owner, use [Motor Check](/motorweb/motorweb-reports/motor-check.md) or [Current Owner Check](/motorweb/motorweb-reports/current-owner-check.md)
