Sample code for 30+ languages & platforms
AutoIt

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

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("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"
; }

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("registrationNumber","ABC1234")

$oHttp.SetRequestHeader "Accept","application/json"
$oHttp.SetRequestHeader "x-api-key","supplied API key"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False

ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)

Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

; 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

Local $sArtEndDate = $oJResp.StringOf("artEndDate")
Local $iCo2Emissions = $oJResp.IntOf("co2Emissions")
Local $sColour = $oJResp.StringOf("colour")
Local $iEngineCapacity = $oJResp.IntOf("engineCapacity")
Local $sFuelType = $oJResp.StringOf("fuelType")
Local $sMake = $oJResp.StringOf("make")
Local $bMarkedForExport = $oJResp.BoolOf("markedForExport")
Local $sMonthOfFirstRegistration = $oJResp.StringOf("monthOfFirstRegistration")
Local $sMotStatus = $oJResp.StringOf("motStatus")
Local $sRegistrationNumber = $oJResp.StringOf("registrationNumber")
Local $iRevenueWeight = $oJResp.IntOf("revenueWeight")
Local $sTaxDueDate = $oJResp.StringOf("taxDueDate")
Local $sTaxStatus = $oJResp.StringOf("taxStatus")
Local $sTypeApproval = $oJResp.StringOf("typeApproval")
Local $sWheelplan = $oJResp.StringOf("wheelplan")
Local $iYearOfManufacture = $oJResp.IntOf("yearOfManufacture")
Local $sEuroStatus = $oJResp.StringOf("euroStatus")
Local $sRealDrivingEmissions = $oJResp.StringOf("realDrivingEmissions")
Local $sDateOfLastV5CIssued = $oJResp.StringOf("dateOfLastV5CIssued")