Overview

Checka’s API currently runs on SOAP over HTTPS, using API keys to handle authentication. The WSDL is available at https://services.checka.co.nz/Api2/CheckaService.svc?wsdl. Your API key will be provided by Checka, although it can be re-generated in the future if your key becomes compromised.

A working demonstration of the APIv2 is available at Live API demonstration.

There are currently Twelve method calls available:

  • GetVehicleSummary
  • GetVehicleReport
  • VerifyDriverLicence
  • GetBasicReport
  • GetExtendedReport
  • GetTyreInfo
  • GetTyreInfoWithManufactureYearInterval
  • GetTyreInfoByPlateNrSimple
  • GetTyreInfoByPlateNr
  • GetTyreInfoByPlateNrWithManufactureYearInterval
  • GetTyreSizeByKeys
  • GetVehicleSpecs

GetVehicleSummary method

GetVehicleSummary is a method that, given a license plate or a VIN, provides the year, make, and model of the car being queried.

GetVehicleSummary takes two parameters:

ApiKey is a string containing your provided API key.

- Input is either the license plate or the VIN of the car being queried.

The method will throw a fault if any of the parameters are invalid or if the vehicle cannot be found.

VehicleSummaryRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Input

String

Required; max length of 30

SS7124

VehicleSummaryResponse object

Property

Type

Constraints

Example

Year

Integer

Optional

1987

Make

String

Optional

Nissan

Model

String

Optional

Avenir

Faults

GetVehicleSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Input parameter was specified
  • Input parameter must be 30 characters or fewer
  • Input was not a valid VIN or licence plate

GetVehicleReport method

GetVehicleReport is a paid method that, given a license plate or a VIN, provides the full details of a vehicle, including vehicle information, license information, odometer history, ownership history, security interests, and economy information.

GetVehicleReport takes four parameters:

- ApiKey is a string containing your provided API key. 

- Input is either the license plate or the VIN of the car to query.

- ClientReference is a string which uniquely identifies the query on your side, allowing the report to be queried again at no extra cost. This is useful if the request failed, or any part thereof (e.g. if PPSR was down at the time of the query).

Type specifies which type of report to return - a Complete report includes ownership history and securities (PPSR) information, in addition to the data returned in a Basic report (basic vehicle details + RUC).

VehicleReportRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

ClientReference

String

Required; max length of 60

14152/1AO5

Input

String

Required; max length of 30

SS7124

Type

Enum

Required; Basic or Full

Basic

VehicleReportResponse object

The VehicleReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.

Any simple type within the object, e.g. Make or GrossMass, is optional and may be null.

Any complex type within the object, e.g. Registration, will not be null.

Any array within the object, e.g. RucHistory, will not be null but may have zero items. Additionally, any arrays will be sorted in a descending order (so that the most recent record is first).

Partial Errors

There is an additional property on VehicleReportResponse, called Error, which contains various Booleans that indicate whether any communication or parsing issues occurred. For example, if a PpsrCommunicationError is set to True, then you may wish to display a warning to the user that the PPSR details could not be acquired. You can later query the report again at no cost to retrieve the missing PPSR information.

Faults

GetVehicleReport can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Input parameter was specified
  • Input parameter must be 30 characters or fewer
  • No ClientReference parameter was specified
  • ClientReference parameter must be 60 characters or fewer
  • ClientReference is currently in use
  • Plate or VIN cannot be found

VerifyDriverLicence method

VerifyDriverLicence is a paid method that verifies a given New Zealand driver’s licence and checks that its details are valid.

VerifyDriverLicence takes two parameters:

LicenceNumber and LicenceVersion are used to identify the licence itself. If these belong to a current (that is, non-expired) driver’s licence, the DriverLicenceMatch field returns True, and the veracity of the remaining fields will be indicated.

VerifyDriverLicenceRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

LicenceNumber

String

Required; exact length of 8

AB992301

LicenceVersion

String

Required; exact length of 3

423

FirstName

String

Required; max length of 30

Adam

MiddleNames

String[]

Optional, each array item has max length of 30

William, Jim

LastName

String

Required; max length of 30

Pearson

DateOfBirth

DateTime

Required

1989-03-03T00:00:00

VehicleReportResponse object

If the LicenceNumber and LicenceVersion strings do NOT match any current driver’s licence, the DriverLicenceMatch field will return False, and all remaining fields in the response object will be irrelevant.

Property

Type

Constraints

Example

DriverLicenceMatch

Boolean

Only valid if DriverLicenceMatch = True

True

FirstNameMatch

Boolean

Only valid if DriverLicenceMatch = True

True

MiddleNamesMatch

Boolean

Only valid if DriverLicenceMatch = True

False

LastNameMatch

Boolean

Only valid if DriverLicenceMatch = True

True

DateOfBirthMatch

Boolean

Only valid if DriverLicenceMatch = True

True

Faults

VerifyDriverLicence can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • Licence number field missing Input parameter must be 30 characters or fewer
  • Licence number field is not 8 characters long
  • Licence version field missing
  • Licence version field is not 3 characters long
  • FirstName field missing
  • FirstName field greater than 30 characters
  • MiddleNames array contains field greater than 30 characters
  • LastName field missing
  • LastName field greater than 30 characters
  • NZTA query unsuccessful - please check query parameters
  • NZTA down - please try again later

GetBasicReport method

GetBasicReport requires an API user role and is a Paid method. The method takes a license plate number or a VIN and returns the basic details of a vehicle.

GetBasicReport takes two parameters:

ApiKey is a string containing your provided API key.

- Plate is either the license plate or the VIN of the car to query.

The method will throw a fault if any of the parameters are invalid or if the vehicle cannot be found.

GetBasicReportRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Plate

String

Required; max length of 30

SS7124

GetBasicReportResponse object

The GetBasicReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.

Any simple type within the object, e.g. Make or GrossMass, is optional and may be null.

Any complex type within the object, e.g. Registration, will not be null.

Any array within the object, e.g. RucHistory, will not be null but may have zero items. Additionally, any arrays will be sorted in descending order (so that the most recent record is first).

Faults

GetBasicReport can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Plate parameter was specified
  • Plate parameter must be 30 characters or fewer
  • Plate was not a valid VIN or plate
  • NZTA down - please try again later

GetExtendedReport method

GetExtendedReport requires an API user role and is a Paid method. The method takes a license plate or a VIN and returns extended details of a vehicle, including vehicle information, license information, odometer history, ownership history, security interests, and economy information.

GetExtendedReport takes two parameters: 

- ApiKey is a string containing your provided API key.

- Plate is either the license plate or the VIN of the car to query.

The method will throw a fault if any of the parameters are invalid or if the vehicle cannot be found. 

GetExtendedReportRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Plate

String

Required; max length of 30

SS7124

GetExtendedReportResponse object

The GetExtendedReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.

Any simple type within the object, e.g. Make or GrossMass, is optional and may be null.

Any complex type within the object, e.g. Registration, will not be null.

Any array within the object, e.g. RucHistory, will not be null but may have zero items. Additionally, any arrays will be sorted in descending order (so that the most recent record is first).

Faults

GetExtendedReportSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Plate parameter was specified
  • Plate parameter must be 30 characters or fewer
  • Input was not a valid VIN or plate
  • NZTA down - please try again later

GetTyreInfoWithManufactureYearInterval method

GetTyreInfoWithManufactureYearInterval requires an ApiTyreMatch user role and is a Paid method. The method is passed the make, model and year. The method returns the front rim, back rim, front tyre and back tyre's measurements as well as descriptive informaiton about the vehicle. 

GetTyreInfoWithManufactureYearInterval takes six parameters:

- ApiKey is a string containing your provided API key.

- Make, model and year.

- YearRangeBack and YearRangeTo species the time period in which the vehicle's make and model was manufactured.

The method will return an empty tyre object if any of the parameters are invalid or if the vehicle cannot be found.

GetTyreInfoWithManufactureYearIntervalRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Make

String

Required

Toyota

Model

String

Required

Corolla

Year

int

Optional

2003

YearRangeBack

int

Optional

1991

YearRangeTo

int

Optional

2012

GetTyreInfoWithManufactureYearIntervalResponse object

The GetTyreInfoWithManufactureYearIntervalResponse object is a complex object that contains many properties which themselves, are nested objects:

- RequestedVehicleInformation is a list that gives basic descriptive information on the matched vehicles. 

- Results is a list of matching vehicles including, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.

- Errors is a string detailing any errors that occurred

Maximum number of returned results is 20.

Faults

GetTyreInfoWithManufactureYearIntervalSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Make parameter was specified
  • No Model parameter was specified
  • No YearRangeBack parameter was specified
  • No YearRangeTo parameter was specified

GetTyreInfoByPlateNrSimple method

GetTyreInfoByPlateNrSimple requires an ApiTyreMatch user role and is a Paid method. The method takes a license plate or a VIN and returns a vehicle description, tyre information and the number of matching results.

GetTyreInfoByPlateNrSimple takes two parameters:

ApiKey is a string containing your provided API key.

- Plate is either the license plate or the VIN of the car to query.

The method will return an empty tyre object if any of the parameters are invalid or if the vehicle cannot be found.

GetTyreInfoWithManufactureYearIntervalRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Plate

String

Required

SS7124

GetTyreInfoByPlateNrSimpleResponse object

The GetTyreInfoByPlateNrSimpleResponse object is a basic object which contains the properties:

- Results contains a vehicle description and tyre size information. 

- TotalCountOfResults contains the number of results.

- Errors is a string detailing any errors that occurred.

Faults

GetTyreInfoByPlateNrSimpleSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Plate parameter was specified
  • NZTA down - please try again later

GetTyreInfoByPlateNr method

GetTyreInfoByPlateNr requires ApiTyreMatch user role and is a Paid method. The method takes a license plate or a VIN and returns the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information about the vehicle.

GetTyreInfoByPlateNr takes two parameters:

ApiKey is a string containing your provided API key.

- Plate is either the license plate or the VIN of the car to query.

The method will return an empty tyre object if any parameter is invalid or if the vehicle cannot be found.

GetTyreInfoWithManufactureYearIntervalRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Plate

String

Required

SS7124

GetTyreInfoByPlateNrResponse object

The GetTyreInfoByPlateNrResponse object is a complex object that contains many properties which themselves, are nested objects:

- RequestedVehicleInformation is a list of basic descriptive information regarding the vehicles which match the search criteria. 

- Results is a list of matching vehicles. It includes, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.

- Errors is a string detailing any errors that occurred.

Maximum number of return results is 20.

Faults

GetTyreInfoByPlateNrSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Plate parameter was specified
  • Plate parameter must be 30 characters or fewer
  • NZTA down - please try again later

GetTyreInfoByPlateNrWithManufactureYearInterval method

GetTyreInfoByPlateNrWithManufactureYearInterval requires ApiTyreMatch user role and is a Paid method. The method takes as parameters, the license plate or a VIN, YearRangeBack and YearRangeTo. The method returns, the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information abour the vehicle.

GetTyreInfoByPlateNrWithManufactureYearInterval takes four parameters:

- ApiKey is a string containing your provided API key.

- Plate is either the license plate or the VIN of the car to query.

- YearRangeBack and YearRangeTo species the time period in which the vehicle's make and model were manufactured.

The method will return an empty tyre object if any parameters are invalid or if the vehicle cannot be found.

GetTyreInfoWithManufactureYearIntervalRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Plate

String

Required

SS7124

YearRangeBack

int

Optional

1991

YearRangeTo

int

Optional

2012

GetTyreInfoByPlateNrWithManufactureYearIntervalResponse object

The GetTyreInfoByPlateNrWithManufactureYearIntervalSimpleResponse object is a complex object that contains many properties which themselves, are nested objects:

RequestedVehicleInformation is a list of basic descriptive information regarding the vehicles which match the search criteria. 

- Results is a list of matching vehicles. It includes, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.

- Errors is a string detailing any errors that occurred.

Maximum number of return results is 20.

Faults

GetTyreInfoByPlateNrWithManufactureYearIntervalSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Plate parameter was specified
  • Plate parameter must be 30 characters or fewer
  • NZTA down - please try again later

GetTyreSizeByKeys method

GetTyreSizeByKeys requires an ApiTyreMatch user role and is a Paid method. The method takes a list of vehicle keys and returns the front rim, back rim, front tyre and back tyre's measurements and descriptive informaiton about the vehicle.

GetTyreSizeByKeys takes two parameters:

ApiKey is a string containing your provided API key.

- VehicleKeys is a string containing vehicle keys with the delimiter ";".

The method will return an empty tyre object if any of the parameters are invalid or if the vehicle cannot be found.

GetTyreSizeByKeysRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

VehicleKeys

String

Required

123456;123345;12467

GetTyreSizeByKeysResponse object

The GetTyreSizeByKeysResponse object is a complex object that contains many properties which themselves, are nested objects:

- RequestedVehicleInformation is a list containing basic descriptive information regarding the vehicle which matches the criteria.

- Results is a list of matching vehicles. It includes, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.

- Errors is a string detailing any errors that occurred.

Maximum number of return results is 20.

Faults

GetTyreSizeByKeysSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No VehicleKeys parameter was specified 

GetVehicleSpecs method

GetVehicleSpecs requires an ApiTyreMatch user role and is a Paid method.  The method takes as parameters, the make, model, yearRangeFrom and yearRangeTo. The method returns, the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information about the vehicle.

GetVehicleSpecs takes ten parameters:

ApiKey is a string containing your provided API key.

- FuelType and Transmission are selected from a list of enumerables.

- YearRangeBack and YearRangeTo species the time period in which the vehicle's make and model were manufactured.

- EngineSizeRangeCcFrom and EngineSizeRangeCcTo must either both be null or both of them must have values (neither of them is null). 

- Make, Model and Year. 

The method will return an empty tyre object if any of the parameters are  invalid or if the vehicle cannot be found.

GetTyreSizeByKeysRequest object

Property

Type

Constraints

Example

ApiKey

String

Required

RgOW3fl20kCKLzNIDuJ0lg==

Make

String

Required

Toyota

Model

String

Required

Corolla

Year

int

Optional

2003

YearRangeBack

int

Required

1991

YearRangeTo

int

Required

2012

FuelType

Enum; Petrol, Diesel, Electric, Hybrid, Gas or Other

Optional

Petrol

Transmission

Enum; Manual, Automatic or Other

Optional

Automatic

EngineSizeRangeCcFrom

int

Optional

1200

EngineSizeRangeCcTo

int

Optional

2500

GetVehicleSpecsResponse object

The GetVehicleSpecsResponse object is a complex object that contains many properties which themselves, are nested objects:

- RequestedVehicleInformation is a list containing basic descriptive information regarding the vehicle which matches the criteria. 

- Results is a list of matching vehicles. It includes, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.

- Errors is a string detailing any errors that occurred.

Maximum number of return results is 20.

Faults

GetVehicleSpecsSummary can throw the following faults:

  • No ApiKey parameter was specified
  • ApiKey could not be found
  • No Make parameter was specified
  • No Model parameter was specified
  • NZTA down - please try again later

Resources

  • A working demonstration of the APIv2 is available at Live API demonstration
  • Demo API key: 6ocXXfHmpUKYQS9mPFtdSg==
  • Demo plates: ABG815, POZZUM, SS7124, PR3945
  • Email developer support if you have any technical questions or issues