Sample code for 30+ languages & platforms
Rust

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 Rust Downloads

Rust

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

let http = chilkat::Http::new();

// 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"
// }

let json = chilkat::JsonObject::new();
let _ = json.update_string("registrationNumber", "ABC1234");

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

let resp = chilkat::HttpResponse::new();
if http.http_json("POST", "https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles", &json, "application/json", &resp).is_err() {
    println!("{}", http.last_error_text());
    return;
}

let sb_response_body = chilkat::StringBuilder::new();
let _ = resp.get_body_sb(&sb_response_body);
let j_resp = chilkat::JsonObject::new();
let _ = j_resp.load_sb(&sb_response_body);
j_resp.set_emit_compact(false);

println!("Response Body:");
println!("{}", j_resp.emit().unwrap_or_default());

let resp_status_code = resp.status_code();
println!("Response Status Code = {}", resp_status_code);
if resp_status_code >= 400 {
    println!("Response Header:");
    println!("{}", resp.header());
    println!("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

let art_end_date = j_resp.string_of("artEndDate").unwrap_or_default();
let co2_emissions = j_resp.int_of("co2Emissions");
let colour = j_resp.string_of("colour").unwrap_or_default();
let engine_capacity = j_resp.int_of("engineCapacity");
let fuel_type = j_resp.string_of("fuelType").unwrap_or_default();
let make = j_resp.string_of("make").unwrap_or_default();
let marked_for_export = j_resp.bool_of("markedForExport");
let month_of_first_registration = j_resp.string_of("monthOfFirstRegistration").unwrap_or_default();
let mot_status = j_resp.string_of("motStatus").unwrap_or_default();
let registration_number = j_resp.string_of("registrationNumber").unwrap_or_default();
let revenue_weight = j_resp.int_of("revenueWeight");
let tax_due_date = j_resp.string_of("taxDueDate").unwrap_or_default();
let tax_status = j_resp.string_of("taxStatus").unwrap_or_default();
let type_approval = j_resp.string_of("typeApproval").unwrap_or_default();
let wheelplan = j_resp.string_of("wheelplan").unwrap_or_default();
let year_of_manufacture = j_resp.int_of("yearOfManufacture");
let euro_status = j_resp.string_of("euroStatus").unwrap_or_default();
let real_driving_emissions = j_resp.string_of("realDrivingEmissions").unwrap_or_default();
let date_of_last_v5_c_issued = j_resp.string_of("dateOfLastV5CIssued").unwrap_or_default();