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

- Base URL: `https://driver-vehicle-licensing.api.gov.uk/full-driver-enquiry`
- URL: `https://driver-vehicle-licensing.api.gov.uk/full-driver-enquiry/v1/driving-licences/retrieve`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/driver-and-vehicle-licensing-age/apis/driver-view-external/docs/v1/driving-licences/retrieve/post.ts> (a function with typed inputs; its response is checked against the schema)

## 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.

## Changes

- **2026-07-23** `058f2a402660`: 3 warning
  - added the new `Appeal against Disqualification until Extended Test Pass` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - added the new `Appeal against Disqualification until Test Pass` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - added the new `Appeal against Revocation until Test Pass` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
- **2025-07-05** `c472dc3f1697`: 6 warning, 17 info
  - added the new `Disqualified until Extended Test Pass` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - added the new `Disqualified until Test Pass` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - added the new `Extended test passed` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - added the new `Revoked test passed` enum value to the `endorsements/items/disqualification/type` response property for the response status `200`
  - …19 more
- **2025-02-22** `16c82c7243d3`: 1 warning, 1 info
  - removed the optional property `dqc` from the response with the `200` status
  - added the optional property `cpc/cpcs/items/national` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/driver-and-vehicle-licensing-age/apis/driver-view-external/changes/v1/driving-licences/retrieve/post.md)

---

[API](https://skmtc.dev/driver-and-vehicle-licensing-age/apis/driver-view-external.md) - [All operations](https://skmtc.dev/driver-and-vehicle-licensing-age/apis/driver-view-external/llms.txt) - [OpenAPI document](https://skmtc.dev/driver-and-vehicle-licensing-age/apis/driver-view-external/revisions/058f2a402660?raw)
