Bulk file format
This section details the structure and format of the bulk data file, including field definitions and data types.
An example from the bulk file:
{
"registration": "SN97PLP",
"registrationDate": "1973-09-21",
"primaryColour": "Beige",
"model": "AVENGER",
"make": "HILLMAN",
"fuelType": "Petrol",
"motTests": [],
"dataSource": "dvla",
"last_update_date": "2023-12-04"
}
{
"registration": "SE38GUW",
"firstUsedDate": "2003-03-27",
"registrationDate": "2003-03-27",
"manufactureDate": "2003-03-27",
"primaryColour": "Blue",
"secondaryColour": "Not Stated",
"engineSize": "1461",
"model": "CLIO",
"make": "RENAULT",
"fuelType": "Diesel",
"lastMotTestDate": "2017-03-10 12:21:09",
"motTests": [
{
"completedDate": "2015-03-11 11:41:11",
"motTestNumber": 971577975522,
"dataSource": "dvsa",
"expiryDate": "2016-03-10",
"regMarkTimeOfTest": "SE38GUW",
"testResult": "PASSED",
"odometerValue": "133230",
"odometerUnit": "mi",
"odometerResultType": "OK",
"defects": []
},
{
"completedDate": "2015-03-11 11:41:11",
"motTestNumber": 971577565522,
"dataSource": "dvsa",
"expiryDate": "2016-03-10",
"regMarkTimeOfTest": "SE38XUW",
"testResult": "PASSED",
"odometerValue": "133230",
"odometerUnit": "mi",
"odometerResultType": "OK",
"defects": [
{
"dangerous": false,
"text": "",
"type": "ADVISORY"
},
{
"dangerous": false,
"text": "lens scuffed",
"type": "ADVISORY"
}
]
}
],
"dataSource": "dvsa"
}
The following fields can contain provided values:
Field | Description | Example |
---|---|---|
registration | The vehicle registration number | SN97PLP |
firstUsedDate | The date the vehicle was first registered | 2003-03-27 |
registrationDate | The date the vehicle was registered | 1973-09-21 |
manufactureDate | The date the vehicle was manufactured | 2003-03-27 |
primaryColour | The vehicle primary colour | Beige |
secondaryColour | The vehicle secondary colour | Not Stated |
engineSize | The vehicle engine size | 1461 |
model | The vehicle model | AVENGER |
make | The vehicle make | HILLMAN |
fuelType | The vehicle fuel type | Petrol |
lastMotTestDate | The date of the last MOT test | 2017-03-10 12:21:09 |
motTests | An array of test results | See example |
last_update_date | The date the vehicle was last updated | 2023-12-04 |
dataSource Column is now moved to motTests block.
MOT tests are stored in the motTests
array and are sorted by the completedDate
property value. Tests are sorted per data source. However, users are responsible for sorting all tests linked to a vehicle.
The possible dataSource
values are:
dvla
- Records with dvla source will only have vehicle information but not test and defect details.dvsa
- Records with dvsa source will have vehicle , test and defects details sorted by test completion date.dva ni
- Records with dva ni source will only have vehicle and test details but not defects sorted by test completion date.
The expected fuelType
values are:
Diesel
Petrol
Electric
The motTests
fields can contain provided values:
Field | Description | Example |
---|---|---|
completedDate | The date the test was completed | 2015-03-11 11:41:11 |
motTestNumber | The test ceritifcate number. | 123456789098 |
dataSource | The source of the vehicle data | dvla |
expiryDate | The date the test is due to expire | 2016-03-10 |
registrationAtTimeOfTest | The vehicle registration number at the time of the test | SE38GUW |
testResult | The result of the test | PASSED |
odometerValue | The vehicle odometer value | 133230 |
odometerUnit | The vehicle odometer unit | mi |
odometerResultType | The vehicle odometer result type | OK |
defects | An array of defects | See example |
The expected testResult
values are:
PASSED
FAIL
PRS
The odometerUnit
possible values are:
MI
KM
The odometerResultType
values are:
OK
NOT_READ
NO_METER
The defects
array fields can contain provided values:
Field | Description | Example |
---|---|---|
dangerous | Is the defect dangerous or not | false |
text | The description of the defect | lens scuffed |
type | The type of the defect | ADVISORY |
The dangerous
values are:
true
false
The expected type
values are:
DANGEROUS
MAJOR
MINOR
ADVISORY
The bulk file JSON may also include metadata fields such as lastUpdateTimestamp
, lastUpdateDate
, lastRunDate
and lastRunTimestamp
. These fields provide details about when the bulk file was last updated, processed, or modified, helping users track the file’s update history and status.
Cherished Transfer - A cherished transfer refers to the process of moving a personalized (cherished) number plate from one vehicle to another, often with the assistance of a broker or directly through the DVLA.
Why “regAtTimeofTest” is required - Because vehicle registration marks can change over a vehicle’s lifetime (e.g., cherished transfers), analysing data solely on reg_mark may incorrectly link a vehicle to the wrong registration. To address this, a new column has been added to associate the correct vehicle at the time of test.