Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

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

  final json = CkJsonObject();
  json.updateString('registrationNumber', 'ABC1234');

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

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('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

  final artEndDate = jResp.stringOf('artEndDate');
  final co2Emissions = jResp.intOf('co2Emissions');
  final colour = jResp.stringOf('colour');
  final engineCapacity = jResp.intOf('engineCapacity');
  final fuelType = jResp.stringOf('fuelType');
  final make = jResp.stringOf('make');
  final monthOfFirstRegistration = jResp.stringOf('monthOfFirstRegistration');
  final motStatus = jResp.stringOf('motStatus');
  final registrationNumber = jResp.stringOf('registrationNumber');
  final revenueWeight = jResp.intOf('revenueWeight');
  final taxDueDate = jResp.stringOf('taxDueDate');
  final taxStatus = jResp.stringOf('taxStatus');
  final typeApproval = jResp.stringOf('typeApproval');
  final wheelplan = jResp.stringOf('wheelplan');
  final yearOfManufacture = jResp.intOf('yearOfManufacture');
  final euroStatus = jResp.stringOf('euroStatus');
  final realDrivingEmissions = jResp.stringOf('realDrivingEmissions');
  final dateOfLastV5CIssued = jResp.stringOf('dateOfLastV5CIssued');
}