---
title: "Returns driver data for the supplied driving licence number, including licence details. Optionally returns CPC and tachograph data"
method: POST
path: "/v1/driving-licences/retrieve"
tags: ["Full Driver Enquiry API"]
---

# Returns driver data for the supplied driving licence number, including licence details. Optionally returns CPC and tachograph data

`POST /v1/driving-licences/retrieve`

## Request body

- DrivingLicenceRequest
  - `drivingLicenceNumber` string, required — A UK driving licence number
  - `includeCPC` boolean — Optional boolean indicating whether to return CPC data. Defaults to false.
  - `includeTacho` boolean — Optional boolean indicating whether to return tachograph data. Defaults to false.
  - `acceptPartialResponse` 'true' | 'false' | 'onConditionCPCAvailable' | 'onConditionTachoAvailable' — Optional enum to indicate whether to accept a partial response. 'true' permits a partial to be returned in all cases, 'false' returns an error response if any of the requested data is unavailable, 'onConditionCPCAvailable' permits a partial response only when cpc data is available and 'onConditionTachoAvailable' permits a partial response only when tachograph data is available. This field defaults to 'false'.

## Response `200`

Successful Response. Returns a combination of driver, tachograph and cpc data

- ViewDriverResponse
  - `driver` Driver — Driver details for a given driving licence number
    - `drivingLicenceNumber` string, required — A UK driving licence number
    - `firstNames` string — First name(s) of a driver
    - `lastName` string — Last name of a driver
    - `gender` 'Male' | 'Female'
    - `dateOfBirth` string, date — Date in the format YYYY-MM-DD
    - `address` Address — Address in a unstructured format
      - `unstructuredAddress` UnstructuredAddress — Unstructured address
        - `line1` string
        - `line2` string
        - `line3` string
        - `line4` string
        - `line5` string
        - `postcode` string
    - `disqualifiedUntil` string, date — Date in the format YYYY-MM-DD
    - `disqualifiedForLife` boolean — If present, will only be true and replaces disqualifiedUntil
    - `disqualifiedPendingSentence` boolean — If present, will only be true and replaces disqualifiedUntil
  - `licence` Licence — Details of a drivers licence information
    - `type` 'Provisional' | 'Full', required — The type of licence
    - `status` 'Valid' | 'Disqualified' | 'Revoked' | 'Surrendered' | 'Expired' | 'Exchanged' | 'Refused', required — The current activation state of the licence
    - `statusQualifier` 'For re-assessment only' | 'Photo licence invitation sent' | 'Short period disqualification' | 'Until test passed' | 'Until extended test passed' | 'Pending sentence' | 'For life' — Information or restrictions relating to the status of a licence
  - `entitlement` EntitlementRecord[]
    - `categoryCode` string — Licence category code
    - `categoryLegalLiteral` string — Directive indicator 4 (3rd directive categories) legal literal
    - `categoryType` 'Provisional' | 'Full'
    - `fromDate` string, date — Date in the format YYYY-MM-DD
    - `expiryDate` string, date — Date in the format YYYY-MM-DD
    - `restrictions` object[]
      - `restrictionCode` string, required — Restriction code
      - `restrictionLiteral` string
  - `endorsements` Endorsements[]
    - `disqualification` Disqualification
      - `type` 'Disqualified until Test Pass' | 'Disqualified until Extended Test Pass' | 'Revoked until Test Pass' | 'Revoked test passed' | 'Extended test passed' | 'Test passed' | 'Appeal against Revocation until Test Pass' | 'Appeal against Disqualification until Extended Test Pass' | 'Appeal against Disqualification until Test Pass' — Type of disqualification
      - `forLife` boolean
      - `years` integer — Number of years
      - `months` integer — Number of months
      - `days` integer — Number of days
      - `startDate` string, date — Date in the format YYYY-MM-DD
      - `disqualifiedPendingSentence` boolean
    - `offenceCode` string — The code of the offence causing the endorsement
    - `offenceLegalLiteral` string
    - `offenceDate` string, date — Date in the format YYYY-MM-DD
    - `convictionDate` string, date — Date in the format YYYY-MM-DD
    - `disqualificationRemovalDate` string, date — Date in the format YYYY-MM-DD
    - `disqualificationReimposedDate` string, date — Date in the format YYYY-MM-DD
    - `disqualificationSuspendedPendingAppealDate` string, date — Date in the format YYYY-MM-DD
    - `sentenceDate` string, date — Date in the format YYYY-MM-DD
    - `disqualifiedPendingSentence` boolean — DEPRECATED - use 'disqualification.disqualifiedPendingSentence' instead
    - `penaltyPoints` integer
    - `penaltyPointsExpiryDate` string, date — Date in the format YYYY-MM-DD
  - `testPass` TestPass[]
    - `categoryCode` string
    - `categoryLegalLiteral` string
    - `testDate` string, date — Date in the format YYYY-MM-DD
    - `status` string
    - `withAutomaticTransmission` boolean
  - `token` Token — The driving licence details as on the physical driving licence
    - `validFromDate` string, date — Date in the format YYYY-MM-DD
    - `validToDate` string, date — Date in the format YYYY-MM-DD
    - `issueNumber` string
  - `cpc` CpcResponse — An array of current CPC qualifications where a driver has a valid DQC card
    - `cpcs` Cpc[]
      - `lgvValidTo` string, date — Date in the format YYYY-MM-DD
      - `pcvValidTo` string, date — Date in the format YYYY-MM-DD
      - `national` boolean — Marker designating the record as National type.
  - `holder` Holder
    - `tachoCards` TachoCard[]
      - `cardNumber` string
      - `cardStatus` string — The current state of the card
      - `cardExpiryDate` string, date — Date in the format YYYY-MM-DD
      - `cardStartOfValidityDate` string, date — Date in the format YYYY-MM-DD
  - `errors` Error[]
    - `status` string — HTTP status code
    - `title` string — DEPRECATED - A short description of the error
    - `code` string — DVLA reference code
    - `detail` string — A meaningful description of the error which has occurred

## Other responses

- `400` — Bad Request. The server could not understand the request due to invalid syntax.
- `401` — Unauthorised.
- `403` — Forbidden. No access to the requested resource.
- `404` — Record for supplied driving licence number cannot be found.
- `429` — Too many requests in a given period of time.
- `500` — The service encountered an unspecified error.
- `502` — The service encountered an unspecified error.
- `503` — The service encountered an unspecified error.
- `504` — The service encountered an unspecified network error.

---

[API](https://skmtc.net/driver-and-vehicle-licensing-age/apis/driver-view-external.md) · [All operations](https://skmtc.net/driver-and-vehicle-licensing-age/apis/driver-view-external/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/driver-and-vehicle-licensing-age/driver-view-external/revisions/058f2a402660/schema)
