openapi: 3.0.0
servers:
  - description: Production environment
    url: https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry
  - description: Test environment
    url: https://uat.driver-vehicle-licensing.api.gov.uk/vehicle-enquiry
info:
  contact:
    email: DvlaAPIAccess@dvla.gov.uk
    name: DVLA API Team
    x-twitter: GDSTeam
  description: Interface specification for the DVLA Vehicle Enquiry API
  title: Vehicle Enquiry API
  version: 1.1.0
  x-apisguru-categories:
    - open_data
  x-logo:
    url: https://twitter.com/GDSTeam/profile_image?size=original
  x-origin:
    - format: openapi
      url: https://developer-portal.driver-vehicle-licensing.api.gov.uk/apis/vehicle-enquiry-service/v1.1.0-vehicle-enquiry-service.json
      version: "3.0"
  x-providerName: api.gov.uk
  x-serviceName: vehicle-enquiry
tags:
  - name: vehicle
paths:
  /v1/vehicles:
    post:
      description: Returns vehicle details based on registration number
      operationId: getVehicleDetailsByRegistrationNumber
      parameters:
        - description: Client Specific API Key
          in: header
          name: x-api-key
          required: true
          schema:
            type: string
        - description: Consumer Correlation ID
          in: header
          name: X-Correlation-Id
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VehicleRequest"
        description: Registration number of the vehicle to find details for
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Vehicle"
          description: Successful response
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Vehicle Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Service Unavailable
      summary: Get vehicle details by registration number
      tags:
        - vehicle
components:
  schemas:
    ErrorResponse:
      description: Error Response
      properties:
        errors:
          items:
            $ref: "#/components/schemas/Errors"
          type: array
      type: object
    Errors:
      properties:
        code:
          description: DVLA reference code
          example: "105"
          type: string
        detail:
          description: A meaningful description of the error which has occurred
          example: Invalid format for field - vehicle registration number
          type: string
        status:
          example: "400"
          type: string
        title:
          description: Error title
          example: Invalid vrn number
          type: string
      required:
        - title
      type: object
    Vehicle:
      properties:
        artEndDate:
          description: "Additional Rate of Tax End Date, format: YYYY-MM-DD"
          example: 2007-12-25
          format: date
          type: string
        co2Emissions:
          description: Carbon Dioxide emissions in grams per kilometre
          example: 0
          format: int32
          type: integer
        colour:
          description: Vehicle colour
          example: Blue
          type: string
        dateOfLastV5CIssued:
          description: Date of last V5C issued
          example: 2016-12-25
          format: date
          type: string
        engineCapacity:
          description: Engine capacity in cubic centimetres
          example: 1796
          format: int32
          type: integer
        euroStatus:
          description: Euro Status (Dealer / Customer Provided (new vehicles))
          example: Euro 5
          type: string
        fuelType:
          description: Fuel type (Method of Propulsion)
          example: PETROL
          type: string
        make:
          description: Vehicle make
          example: ROVER
          type: string
        markedForExport:
          description: True only if vehicle has been export marked
          example: true
          type: boolean
        monthOfFirstDvlaRegistration:
          description: Month of First DVLA Registration
          example: 2011-11
          format: date
          type: string
        monthOfFirstRegistration:
          description: Month of First Registration
          example: 2012-12
          format: date
          type: string
        motExpiryDate:
          description: Mot Expiry Date
          example: 2008-12-25
          format: date
          type: string
        motStatus:
          description: MOT Status of the vehicle
          enum:
            - No details held by DVLA
            - No results returned
            - Not valid
            - Valid
          example: No details held by DVLA
          type: string
        realDrivingEmissions:
          description: Real Driving Emissions value
          example: "1"
          type: string
        registrationNumber:
          description: Registration number of the vehicle
          example: WN67DSO
          type: string
        revenueWeight:
          description: Revenue weight in kilograms
          example: 1640
          format: int32
          type: integer
        taxDueDate:
          description: Date of tax liablity, Used in calculating licence information presented to user
          example: 2017-12-25
          format: date
          type: string
        taxStatus:
          description: Tax status of the vehicle
          enum:
            - Not Taxed for on Road Use
            - SORN
            - Taxed
            - Untaxed
          example: Untaxed
          type: string
        typeApproval:
          description: Vehicle Type Approval Category
          example: N1
          type: string
        wheelplan:
          description: Vehicle wheel plan
          example: NON STANDARD
          type: string
        yearOfManufacture:
          description: Year of Manufacture
          example: 2004
          format: int32
          type: integer
      required:
        - registrationNumber
      type: object
    VehicleRequest:
      properties:
        registrationNumber:
          type: string
      type: object
