Sample code for 30+ languages & platforms
C#

DVLA Vehicle Enquiry Service

See more _Miscellaneous_ Examples

Demonstrates how to make a call to the DVLA Vehicle Enquiry API to get vehicle details of a specified vehicle. It uses the vehicle registration number as input to search and provide details of the vehicle.

Chilkat C# Downloads

C#
bool success = false;

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

Chilkat.Http http = new Chilkat.Http();

//  Implements the following CURL command:

//  curl -X POST https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles \
//    -H "x-api-key: supplied API key" \
//    -H "Accept: application/json" \
//    -d '{"registrationNumber": "ABC1234"}'

//  Use the following online tool to generate HTTP code from a CURL command
//  Convert a cURL Command to HTTP Source Code

//  Use this online tool to generate code from sample JSON:
//  Generate Code to Create JSON

//  The following JSON is sent in the request body.

//  {
//    "registrationNumber": "ABC1234"
//  }

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.UpdateString("registrationNumber","ABC1234");

http.SetRequestHeader("Accept","application/json");
http.SetRequestHeader("x-api-key","supplied API key");

Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpJson("POST","https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles",json,"application/json",resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
resp.GetBodySb(sbResponseBody);
Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

Debug.WriteLine("Response Body:");
Debug.WriteLine(jResp.Emit());

int respStatusCode = resp.StatusCode;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(resp.Header);
    Debug.WriteLine("Failed.");
    return;
}

//  Sample JSON response:
//  (Sample code for parsing the JSON response is shown below)

//  {
//    "artEndDate": "2025-02-28",
//    "co2Emissions": 135,
//    "colour": "BLUE",
//    "engineCapacity": 2494,
//    "fuelType": "PETROL",
//    "make": "ROVER",
//    "markedForExport": false,
//    "monthOfFirstRegistration": "2004-12",
//    "motStatus": "No details held by DVLA",
//    "registrationNumber": "ABC1234",
//    "revenueWeight": 1640,
//    "taxDueDate": "2007-01-01",
//    "taxStatus": "Untaxed",
//    "typeApproval": "N1",
//    "wheelplan": "NON STANDARD",
//    "yearOfManufacture": 2004,
//    "euroStatus": "EURO 6 AD",
//    "realDrivingEmissions": "1",
//    "dateOfLastV5CIssued": "2016-12-25"
//  }

//  Sample code for parsing the JSON response...
//  Use the following online tool to generate parsing code from sample JSON:
//  Generate Parsing Code from JSON

string artEndDate = jResp.StringOf("artEndDate");
int co2Emissions = jResp.IntOf("co2Emissions");
string colour = jResp.StringOf("colour");
int engineCapacity = jResp.IntOf("engineCapacity");
string fuelType = jResp.StringOf("fuelType");
string make = jResp.StringOf("make");
bool markedForExport = jResp.BoolOf("markedForExport");
string monthOfFirstRegistration = jResp.StringOf("monthOfFirstRegistration");
string motStatus = jResp.StringOf("motStatus");
string registrationNumber = jResp.StringOf("registrationNumber");
int revenueWeight = jResp.IntOf("revenueWeight");
string taxDueDate = jResp.StringOf("taxDueDate");
string taxStatus = jResp.StringOf("taxStatus");
string typeApproval = jResp.StringOf("typeApproval");
string wheelplan = jResp.StringOf("wheelplan");
int yearOfManufacture = jResp.IntOf("yearOfManufacture");
string euroStatus = jResp.StringOf("euroStatus");
string realDrivingEmissions = jResp.StringOf("realDrivingEmissions");
string dateOfLastV5CIssued = jResp.StringOf("dateOfLastV5CIssued");