DrivingLicenceRenewalRequest

request

CompanyGovernmentUnited KingdomVehiclesDriving LicencesTransportationPublic Sector

Properties

Name Type Description
handler object
drivingLicenceNumber string A UK driving licence number
transactionType string A field denoting the transaction type TYRR for a renewal reminder TYRPC for a photocard renewal
applicationReferenceNumber string The application reference number as detailed in the barcode part of a D798 form
feePaid integer The total amount taken from the customer at the counter for this transaction in pence
investigationRequired boolean When the indicator is set to Y, the clerk has decided that the DVLA should investigate the application
dateOfBirth string The customer's date of birth
daytimePhone string A daytime UK contact number
photo object
signatureImage string Driver signature contentMediaType: "image/png", "contentEncoding": "base64"
updateAddress object
licenceStatus object
twoDBarcode string 159 character representation of the contents of the Reminder barcode
organDonor object
photoCardFront string Photocard front - only required for Photocard (non Reminder) applications. contentMediaType: "image/jpeg", "contentEncoding": "base64"
photoCardBack string Photocard back - only required for Photocard (non Reminder) applications. contentMediaType: "image/jpeg", "contentEncoding": "base64"
View JSON Schema on GitHub

JSON Schema

dvla-gov-uk-driving-licence-renewal-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dvla-gov-uk/json-schema/dvla-gov-uk-driving-licence-renewal-request-schema.json",
  "title": "DrivingLicenceRenewalRequest",
  "description": "request",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dvla-gov-uk-driving-licence-renewal-openapi.yml#/components/schemas/DrivingLicenceRenewalRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "handler": {
      "$ref": "#/$defs/Handler"
    },
    "drivingLicenceNumber": {
      "description": "A UK driving licence number",
      "type": "string",
      "maxLength": 16,
      "minLength": 16,
      "pattern": "^[A-Z9]{5}\\d{6}[A-Z9]{2}[A-HJ-NPR-X2-9]{1}[A-Z]{2}$"
    },
    "transactionType": {
      "description": "A field denoting the transaction type \n TYRR for a renewal reminder \n TYRPC for a photocard renewal",
      "type": "string",
      "enum": [
        "TYRR",
        "TYRPC"
      ]
    },
    "applicationReferenceNumber": {
      "description": "The application reference number as detailed in the barcode part of a D798 form",
      "type": "string",
      "maxLength": 29
    },
    "feePaid": {
      "description": "The total amount taken from the customer at the counter for this transaction in pence",
      "type": "integer",
      "minimum": 0,
      "maximum": 999999
    },
    "investigationRequired": {
      "type": "boolean",
      "description": "When the indicator is set to Y, the clerk has decided that the DVLA should investigate the application"
    },
    "dateOfBirth": {
      "type": "string",
      "format": "date",
      "description": "The customer's date of birth"
    },
    "daytimePhone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "A daytime UK contact number"
    },
    "photo": {
      "$ref": "#/$defs/Photo"
    },
    "signatureImage": {
      "description": "Driver signature contentMediaType: \"image/png\", \"contentEncoding\": \"base64\"",
      "type": "string"
    },
    "updateAddress": {
      "$ref": "#/$defs/UpdateAddress"
    },
    "licenceStatus": {
      "$ref": "#/$defs/LicenceStatus"
    },
    "twoDBarcode": {
      "description": "159 character representation of the contents of the Reminder barcode",
      "type": "string",
      "maxLength": 159
    },
    "organDonor": {
      "$ref": "#/$defs/OrganDonor"
    },
    "photoCardFront": {
      "description": "Photocard front - only required for Photocard (non Reminder) applications. contentMediaType: \"image/jpeg\", \"contentEncoding\": \"base64\"",
      "type": "string"
    },
    "photoCardBack": {
      "description": "Photocard back - only required for Photocard (non Reminder) applications. contentMediaType: \"image/jpeg\", \"contentEncoding\": \"base64\"",
      "type": "string"
    }
  },
  "required": [
    "handler",
    "transactionType",
    "photo",
    "feePaid",
    "signatureImage"
  ],
  "$defs": {
    "BfpoAddress": {
      "description": "British Forces Post Office address, where BFPO Number is mandatory from the current list of operational BFPO numbers, and postcode is optional",
      "properties": {
        "line1": {
          "title": "Line 1",
          "description": "Free text, expected to be UNIT or REGIMENT.",
          "type": "string",
          "minLength": 1,
          "maxLength": 45
        },
        "line2": {
          "title": "Line 2",
          "description": "Free text, expected to be OPERATION.",
          "type": "string",
          "minLength": 1,
          "maxLength": 45
        },
        "line3": {
          "title": "Line 3",
          "description": "Free text, expected to be BARRACKS or CAMP or RAF STATION or NAVAL SHIP (if applicable).",
          "type": "string",
          "minLength": 1,
          "maxLength": 45
        },
        "line4": {
          "title": "Line 4",
          "description": "Free text",
          "type": "string",
          "minLength": 1,
          "maxLength": 45
        },
        "bfpoNumber": {
          "title": "BFPO Number",
          "type": "integer",
          "minimum": 1,
          "maximum": 9999
        },
        "postcode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 8
        }
      },
      "required": [
        "line1",
        "bfpoNumber"
      ]
    },
    "DPS": {
      "description": "Royal Mail Delivery Point Suffix where matched to a PAF address. Uniquely identifies each address (Delivery Point) within a single postcode",
      "type": "string",
      "maxLength": 2
    },
    "Handler": {
      "description": "Request meta data",
      "type": "object",
      "properties": {
        "originatorId": {
          "description": "Identifies the intermediary organisation supporting the application",
          "type": "string",
          "maxLength": 256
        },
        "transactionId": {
          "$ref": "#/$defs/TransactionID"
        },
        "userId": {
          "description": "This is the identifier for the Post Office clerk who carried out the enrolment in the branch",
          "type": "string",
          "maxLength": 256
        },
        "branchId": {
          "description": "Optionally identifies the branch at which the application took place",
          "type": "string",
          "maxLength": 256
        },
        "terminalId": {
          "description": "This is the terminal ID workstation that was used during enrolment",
          "type": "string",
          "maxLength": 256
        },
        "localDateTime": {
          "description": "The branch date and time stamp when the transaction commenced",
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "transactionId"
      ]
    },
    "Language": {
      "type": "string",
      "description": "Specifies address language ISO code, CY for Welsh, EN for English",
      "enum": [
        "EN",
        "CY"
      ]
    },
    "LicenceStatus": {
      "description": "Licence Data",
      "type": "object",
      "properties": {
        "photocardSurrendered": {
          "description": "Whether the photo card part of the licence has been surrendered to a third party",
          "type": "boolean"
        },
        "photocardIssueNumber": {
          "description": "The licence photo card issue number",
          "type": "string",
          "minLength": 1,
          "maxLength": 2
        },
        "lostMarker": {
          "description": "A flag denoting whether the licence has been lost or not",
          "type": "boolean"
        },
        "stolenMarker": {
          "description": "A flag denoting whether the licence has been stolen or not",
          "type": "boolean"
        },
        "defacedMarker": {
          "description": "A flag denoting whether the licence has been defaced or not",
          "type": "boolean"
        },
        "destroyedMarker": {
          "description": "A flag denoting whether the licence has been destroyed or not",
          "type": "boolean"
        }
      }
    },
    "OrganDonor": {
      "description": "Organ Donor",
      "type": "object",
      "properties": {
        "anyOrgans": {
          "description": "Any Organs",
          "type": "boolean"
        },
        "kidneys": {
          "description": "Kidneys",
          "type": "boolean"
        },
        "liver": {
          "description": "Liver",
          "type": "boolean"
        },
        "heart": {
          "description": "Heart",
          "type": "boolean"
        },
        "cornea": {
          "description": "Cornea",
          "type": "boolean"
        },
        "pancreas": {
          "description": "Pancreas",
          "type": "boolean"
        },
        "lungs": {
          "description": "lungs",
          "type": "boolean"
        }
      }
    },
    "Photo": {
      "description": "Photo image and qualify checks",
      "type": "object",
      "properties": {
        "photographImage": {
          "description": "Driver photograph contentMediaType: \"image/jpeg\", \"contentEncoding\": \"base64\"",
          "type": "string"
        },
        "photoOverride": {
          "type": "boolean",
          "description": "When the indicator is set to Y, the clerk has indicated a concern with photo compliance"
        },
        "icaoCompliant": {
          "description": "Flag to indicate whether or not the facial image is ICAO compliant",
          "type": "boolean"
        },
        "eyesOpen": {
          "description": "Flag to indicate whether eyes are open",
          "type": "boolean"
        },
        "exposure": {
          "description": "Flag to indicate whether exposure levels are correct",
          "type": "boolean"
        },
        "frontalView": {
          "description": "Flag to indicate whether the image is a frontal view",
          "type": "boolean"
        },
        "greyscaleDensity": {
          "description": "Flag to indicate whether the greyscale density is correct",
          "type": "boolean"
        },
        "uniformLighting": {
          "description": "Flag to indicate whether lighting is uniform across face image",
          "type": "boolean"
        },
        "headWidth": {
          "description": "Flag to indicate whether head width is within acceptable range",
          "type": "boolean"
        },
        "headLength": {
          "description": "Flag to indicate whether head length is within acceptable range",
          "type": "boolean"
        },
        "widthHeightRatio": {
          "description": "Flag to indicate whether face width to height ratio is correct",
          "type": "boolean"
        },
        "resolution": {
          "description": "Flag to indicate whether image resolution is acceptable",
          "type": "boolean"
        },
        "verticalPosition": {
          "description": "Flag to indicate whether vertical image position is acceptable",
          "type": "boolean"
        },
        "horizontallyCentered": {
          "description": "Flag to indicate whether image is horizontally centered",
          "type": "boolean"
        }
      },
      "required": [
        "photographImage"
      ]
    },
    "StructuredAddress": {
      "description": "Address containing Royal Mail PAF fields for a single address including DPS, which if provided allows for postal cost savings alongside Mailsort information added upon print.\nNote that at least one of the following fields must be provided with a non-empty value in order to provide a useful address to print for delivery to a recipient:\npoBoxNumber, organisationName, departmentName, subBuildingName,  buildingName, buildingNumber, dependentThoroughfareName,  thoroughfareName, doubleDependentLocality, dependentLocality\n",
      "properties": {
        "poBoxNumber": {
          "type": "string",
          "description": "PO Box number. When the Post Office (PO) Box number field is populated, it is typically prefixed with 'PO BOX ' upon output. Note that the PO Box details can occasionally consist of a combination of numbers and letters e.g. HK860. PO Box Numbers are only allocated to Large Users",
          "maxLength": 6
        },
        "organisationName": {
          "type": "string",
          "description": "Name of the organisation registered at this address",
          "maxLength": 60
        },
        "departmentName": {
          "type": "string",
          "description": "Used to supplement Organisation Name to identify a department within the organisation",
          "maxLength": 30
        },
        "subBuildingName": {
          "type": "string",
          "description": "When a premise is split into individual units such as flats, apartments or business units. Cannot be present without either building_name or building_number",
          "maxLength": 30
        },
        "buildingName": {
          "type": "string",
          "description": "Name of residential or commercial premise",
          "maxLength": 50
        },
        "buildingNumber": {
          "type": "string",
          "description": "Number to identify premise on a thoroughfare or dependant thoroughfare. Limited to 4 numbers within PAF - see PAF programmers guide for locating non-numerical building numbers",
          "maxLength": 4
        },
        "dependentThoroughfareName": {
          "type": "string",
          "description": "Used to supplement thoroughfare. When a thoroughfare name is used twice in the same Post Town, the dependant thoroughfare is added to uniquely identify a delivery point",
          "maxLength": 80
        },
        "thoroughfareName": {
          "type": "string",
          "description": "A main road or passageway. When the locality information does not identify the location of an address there will be thoroughfare information available. Includes thoroughfare name (60) and type descriptor (20) combined, where common descriptors such as road, avenue, court are provided separately in PAF which can help with abbreviation",
          "maxLength": 80
        },
        "doubleDependentLocality": {
          "type": "string",
          "description": "Used to distinguish between similar or same thoroughfares within a dependent locality, e.g. small villages",
          "maxLength": 35
        },
        "dependentLocality": {
          "type": "string",
          "description": "Dependent locality areas may define an area within a post town",
          "maxLength": 35
        },
        "postTown": {
          "type": "string",
          "description": "A Post Town is mandatory for delivery of mail to a Delivery Point. This is not necessarily the nearest town geographically, but a routing instruction to the Royal Mail delivery office sorting mail for that Delivery Point",
          "maxLength": 30
        },
        "postcode": {
          "type": "string",
          "description": "Postcode including space. PAF postcodes are max length 7 without space, but for consistency and ease of use storage, transmission and display formats should include it",
          "maxLength": 8
        },
        "country": {
          "type": "string",
          "description": "Optionally specific address country, e.g 'Wales'",
          "maxLength": 64
        },
        "language": {
          "$ref": "#/$defs/Language"
        },
        "dps": {
          "$ref": "#/$defs/DPS"
        },
        "uprn": {
          "type": "string",
          "description": "Unique Property Reference Number. Ordnance Survey unique alphanumeric identifier for every spatial address in Great Britain",
          "maxLength": 12
        },
        "udprn": {
          "type": "string",
          "description": "Unique Delivery Point Reference Number. An eight digit unique numeric code for delivery points on the PAF File as allocated by Royal Mail",
          "maxLength": 8
        }
      },
      "required": [
        "uprn",
        "postTown",
        "postcode",
        "language"
      ]
    },
    "TransactionID": {
      "description": "Value used to uniquely identify a transaction within the client system, and to identify a request/response pair",
      "type": "string",
      "minLength": 1,
      "maxLength": 36
    },
    "UnstructuredAddress": {
      "description": "Address manually entered by a user",
      "properties": {
        "line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 45
        },
        "line2": {
          "type": "string",
          "minLength": 0,
          "maxLength": 45
        },
        "line3": {
          "type": "string",
          "minLength": 0,
          "maxLength": 45
        },
        "line4": {
          "type": "string",
          "minLength": 0,
          "maxLength": 45
        },
        "postTown": {
          "type": "string",
          "minLength": 0,
          "maxLength": 45
        },
        "postcode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 8
        },
        "language": {
          "$ref": "#/$defs/Language"
        },
        "dps": {
          "$ref": "#/$defs/DPS"
        },
        "pafIndicator": {
          "type": "boolean",
          "description": "Used by clients unable to supply a StructuredAddress or UnstructuredAddress with DPS. When the indicator is set to true, this indicates this is a valid address retrieved from Royal Mail Postcode Address File (PAF)"
        }
      },
      "required": [
        "line1",
        "postcode",
        "language"
      ]
    },
    "UpdateAddress": {
      "description": "If supplied, at least one and only one of a Structured PAF, Unstructured Address lines or BFPO address must be provided - oneOf notation avoided due to not being ubiquitously supported. This is the address to be used for external dispatch. This will be converted into a standard printable address format for output in the address window. For bulk mail handling, the majority (90% at the time of writing) of dispatch addresses need to match valid Royal Mail address with corresponding DPS and mailsort code information.",
      "properties": {
        "structuredAddress": {
          "$ref": "#/$defs/StructuredAddress"
        },
        "unstructuredAddress": {
          "$ref": "#/$defs/UnstructuredAddress"
        },
        "bfpoAddress": {
          "$ref": "#/$defs/BfpoAddress"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/dvla-gov-uk-driving-licence-renewal-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.