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

# Motor Check

Vehicle data and current owner. No history and no security interests.

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

Motor Check returns registration and licensing data, WOF and COF status, RUC, vehicle specifications and the current owner. It does not return ownership history, plate history or PPSR security interests. Use [VIR](/motorweb/motorweb-reports/vir.md) when you need those.

Motor Check is also known as the Vehicle Details Report (VDR).

{% hint style="info" %}
For any transaction generated more than **30 days ago**, private owner and personally identifiable information is suppressed to meet our privacy obligations. Regenerate the report to see current owner information.
{% endhint %}

### **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/motorcheck/generate/{version}</code></td><td>Use this path.</td></tr><tr><td><code>/action/robotVdr/{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>

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

### **Access**

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

### **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><tr><td><code>specificReason</code></td><td>Why private owner information is required, under section 241 of the Land Transport Act. Mandatory on most accounts.</td></tr></tbody></table>

### **Response**

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

```xml
<vir vehicle-id="-1268763333" billing-user="MotorWeb Development" id="-1268763342" reference="73202f97" timestamp="2025-03-07T09:07:07.975" user="MotorWeb Development">
    <vir-analysis version="4.0">
        <vehicle>
            <registration>
                <first-registration-date-in-new-zealand value="2011-04-05">5-Apr-2011</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="2011-04-05">5-Apr-2011</last-registration-date>
            </registration>
            <licence>
                <expiry-date value="2016-12-31">31-Dec-2016
                    <alert msg-code="VIR-07" type="alert">
                        <head>Licence (registration sticker) expired on 31-Dec-2016</head>
                        <inline>Licence expired</inline>
                    </alert>
                </expiry-date>
                <licence-type code="L">Licence</licence-type>
                <issue-date value="2015-12-01">1-Dec-2015</issue-date>
                <issue-time value="00:00:00+13:00">00:00</issue-time>
                <continuous value="true">Yes</continuous>
                <registration-lapse-date value="2017-12-31">31-Dec-2017</registration-lapse-date>
            </licence>
            <wof>
                <last-inspection-date value="2016-05-11">11-May-2016</last-inspection-date>
                <last-inspection-result code="P">Passed</last-inspection-result>
                <expiry-date value="2017-05-11">11-May-2017
                    <alert msg-code="VIR-10" type="alert">
                        <head>Warrant Of Fitness (WOF) expired on 11-May-2017</head>
                        <inline>WOF expired</inline>
                    </alert>
                </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="false">No</is-subject-to>
            </ruc>
            <year-of-manufacture value="2011">2011</year-of-manufacture>
            <make>Mitsubishi</make>
            <model>ASX 2WD 2.0P CVT Sport</model>
            <mvr-model>ASX</mvr-model>
            <body-style code="SW">Wagon</body-style>
            <vehicle-type code="7">Passenger Car/Van</vehicle-type>
            <vin>JMFXTGA2WBZ001111</vin>
            <engine-number>4B11 HH3609</engine-number>
            <main-colour>BLACK</main-colour>
            <cc-rating unit="cc" value="1998">1,998</cc-rating>
            <power unit="KW" value="112">112</power>
            <country-of-origin code="JPN">Japan</country-of-origin>
            <assembly-type code="1">Imported Built-Up</assembly-type>
            <gross-vehicle-mass unit="Kg" value="1970">1,970</gross-vehicle-mass>
            <number-of-seats value="5">5</number-of-seats>
            <fuel-type code="1">Petrol</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="1050">1,050</max-rated-towed-mass-for-braked-trailer>
            <wheelbase unit="mm" value="2670">2,670</wheelbase>
            <vehicle-usage code="1">Private Passenger</vehicle-usage>
            <odometer-unit code="K">Km</odometer-unit>
            <number-of-owners value="2">2</number-of-owners>
            <owner current="true" owner-number="2">
                <sex-company code="M">Male</sex-company>
                <owner-name>FIRSTNAME MIDDLENAME LASTNAME</owner-name>
                <owner-name-parts>
                    <first-name>FIRSTNAME</first-name>
                    <middle-names>MIDDLENAME</middle-names>
                    <last-name>LASTNAME</last-name>
                </owner-name-parts>
                <address label="Street address" usage="physical">
                    <line-1>111 TEST STREET</line-1>
                    <town>AUCKLAND</town>
                    <postcode>1111</postcode>
                </address>
                <address-parts usage="physical">
                    <street-number>111</street-number>
                    <street-name>TEST STREET</street-name>
                    <town>AUCKLAND</town>
                    <post-code>1111</post-code>
                </address-parts>
                <ownership-date value="2012-08-02">2-Aug-2012</ownership-date>
                <owner-status code="C">Complete</owner-status>
            </owner>
            <plate current="true" past-plate="0">
                <plate-number>888MIL</plate-number>
                <plate-type code="PP">Personalised</plate-type>
                <effective-date value="2011-04-06">6-Apr-2011</effective-date>
            </plate>
            <odometer-reading latest="true">
                <reading value="15698">15,698</reading>
                <reading-date value="2016-05-11">11-May-2016</reading-date>
                <reading-unit code="K">Km</reading-unit>
                <source code="IW">Warrant of Fitness Inspection</source>
            </odometer-reading>
            <transmission>
                <type code="C" has-gears="false">CVT</type>
            </transmission>
            <model-code>BE4SP45;</model-code>
            <model-variant>0</model-variant>
            <sub-model-spec>2.0P/CVT/SV/5S</sub-model-spec>
        </vehicle>
    </vir-analysis>
</vir>
```

{% endtab %}

{% tab title="400" %}

```
No vehicle identifiers specified
```

or

```
specificReason not specified
```

or

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

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The root element is `vir`, not `motorcheck`. Motor 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> — supply <code>plateOrVin</code>, <code>vehicleId</code> or <code>stockNumber</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>BAD-PARAM</code></td><td><code>specificReason not specified</code> — your account requires a section 241 reason.</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 Motor Check 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-23</code></td><td>Confidential owner.</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/motorcheck/generate/4.0?plateOrVin=ABC123&specificReason=state+your+specific+reason"

# UAT
curl --cert-type P12 --cert motorwebnz-uat.p12:<CERTPASSWORD> \
  "https://robot.uat.motorweb.co.nz/b2b/motorcheck/generate/4.0?plateOrVin=ABC123&specificReason=state+your+specific+reason"
```

**Notes:**

* Authentication is mutual TLS with a MotorWeb-issued client certificate
* Your account must hold the Motor Check privilege
* Supply exactly one vehicle identifier
* For RedBook codes alongside this data, use [Motor Check + RedBook](/motorweb/motorweb-reports/motor-check-redbook.md)
* Alerts can appear inside data elements. See [Alerts](/motorweb/motorweb-reports/alerts.md)
