UVeye Public API v1

Third-party access to UVeye vehicle inspection data. Retrieve full inspection records (Artemis tires, Helios undercarriage, Atlas exterior, Apollo interior) by inspection id, VIN, license plate or barcode; discover the latest inspections for a site or site group; mint customer-facing public inspection links that expire after 30 days; pull appraisal/quote data with damages grouped by car part; fetch inspection imagery; and submit dealer inventory to the Merchandise surface, which renders multi-angle imagery and delivers it back over a signed webhook. Most endpoints authenticate with a uveye-api-key header generated in the UVeye Back Office; the Merchandise endpoints use a separate bearer credential issued at onboarding.

OpenAPI Specification

uveye-public-api-v1-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: UVeye Public API v1
  version: '1.2'
  summary: Third-party access to UVeye automated vehicle-inspection data.
  description: 'Allows third-party access to UVeye''s vehicle inspection data. Inspections are produced
    by UVeye''s scanning systems and exposed through four modules: **Artemis** (tires), **Helios** (undercarriage),
    **Atlas** (exterior) and **Apollo** (interior). The API also carries the **Merchandise** surface,
    which accepts a dealer''s vehicle inventory and pushes rendered multi-angle imagery back over a webhook.


    All data provided is confidential and may not be used in any way without explicit permission from
    UVeye.


    Most endpoints authenticate with a `uveye-api-key` header, generated in the Global Keys tab of the
    UVeye Back Office. The Merchandise endpoints use a separate credential sent as `Authorization: Bearer
    <merchandise API key>`, issued at onboarding.


    This document is DERIVED by API Evangelist from UVeye''s own published Postman collection (documentation
    version v1.2, 2026-07-06) at https://api.v1.uveye.dev/. It is not published by UVeye.'
  contact:
    name: UVeye Customer Support
    url: https://uveye.com/customer-support/
  x-origin:
  - format: postman
    version: 2.0.0
    url: https://api.v1.uveye.dev/
    converter:
      name: api-evangelist enrichment pipeline
      version: local-v1
servers:
- url: https://api.uveye.dev/v1
  description: Development environment (base URL published in the API documentation).
- url: https://api-uveye-playground.web.app/v1/i
  description: Staging / playground environment (base_url from the published Postman Staging environment).
externalDocs:
  description: UVeye Public API v1 documentation (Postman)
  url: https://api.v1.uveye.dev/
security:
- uveyeApiKey: []
tags:
- name: Inspections
  description: Retrieve vehicle inspection data and the most recent inspections for a site or site group.
- name: Public Links
  description: Generate and record customer-facing public inspection links.
- name: Appraisal
  description: Appraisal / quote data derived from an inspection.
- name: Media
  description: Inspection imagery.
- name: Merchandise
  description: Submit dealer inventory for merchandising and mark vehicles sold.
paths:
  /inspection:
    post:
      operationId: getInspectionDetails
      summary: Get inspection details
      description: Returns the full inspection record for a vehicle. One of `inspectionId`, `vin`, `licensePlate`
        or `uniqueId` must be supplied. The response nests the Artemis (tires), Helios (undercarriage),
        Atlas (exterior) and Apollo (interior) module objects.
      tags:
      - Inspections
      security:
      - uveyeApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InspectionLookup'
            examples:
              byInspectionId:
                summary: Look up by inspection id
                value:
                  inspectionId: 79c0c1d0-f600-413d-87f1-7e2f70d03ecb
      responses:
        '200':
          description: The inspection record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Inspection'
              example:
                inspectionId: 8b14a050-713c-4cb5-bbea-4eed7e05a376
                artemis:
                  leftFront:
                    treadImage: https://staging.api.uveye.app/v1/image?key=WGP6HmH74NVV2U9DIyGk
                    wallImage: https://staging.api.uveye.app/v1/image?key=biyzj84gqGtf0cEL48FQ
                    treadDetections: []
                    wallDetections: []
                    brand: ''
                    dot: ''
                    tireAge: ''
                    pressure: ''
                    size: ''
                    speedAndLoad: ''
                    unevenTreadsWearDetected: null
                    wornTireDetected: ''
                    isMountingCorrect: null
                    isAllSeasonPresent: null
                    isSpeedAndLoadNormal: null
                    grooves: []
                  leftRear:
                    treadImage: https://staging.api.uveye.app/v1/image?key=hDkAkn9Uwm0eOwum4DUO
                    wallImage: https://staging.api.uveye.app/v1/image?key=oM5zL0ztwFYvd8ikqwBN
                    treadDetections: []
                    wallDetections: []
                    brand: ''
                    dot: ''
                    tireAge: ''
                    pressure: ''
                    size: ''
                    speedAndLoad: ''
                    unevenTreadsWearDetected: null
                    wornTireDetected: ''
                    isMountingCorrect: null
                    isAllSeasonPresent: null
                    isSpeedAndLoadNormal: null
                    grooves: []
                  rightFront:
                    treadImage: https://staging.api.uveye.app/v1/image?key=boYhKvRao57Cb0lmCSCT
                    wallImage: https://staging.api.uveye.app/v1/image?key=Jis7NFgxkaFwFbXfDzIv
                    treadDetections: []
                    wallDetections: []
                    brand: ''
                    dot: ''
                    tireAge: ''
                    pressure: ''
                    size: ''
                    speedAndLoad: ''
                    unevenTreadsWearDetected: null
                    wornTireDetected: ''
                    isMountingCorrect: null
                    isAllSeasonPresent: null
                    isSpeedAndLoadNormal: null
                    grooves: []
                  rightRear:
                    treadImage: https://staging.api.uveye.app/v1/image?key=IXjyBMmDP9JyDVTpyDQN
                    wallImage: https://staging.api.uveye.app/v1/image?key=d0hsklrrquyCoXF6CnB1
                    treadDetections: []
                    wallDetections: []
                    brand: ''
                    dot: ''
                    tireAge: ''
                    pressure: ''
                    size: ''
                    speedAndLoad: ''
                    unevenTreadsWearDetected: null
                    wornTireDetected: ''
                    isMountingCorrect: null
                    isAllSeasonPresent: null
                    isSpeedAndLoadNormal: null
                    grooves: []
                helios:
                  undercarriageImage: https://staging.api.uveye.app/v1/image?key=OG7kRrzYXNby8xEmmzFc
                  detections: []
                atlas:
                  detections: []
                  coverImages:
                    leftFront: ''
                    rightFront: ''
                    leftRear: ''
                    rightRear: ''
                  animatedFrames:
                    left:
                    - https://staging.api.uveye.app/v1/image?key=d1VMfKboj7RP9zIECrJP
                    - https://staging.api.uveye.app/v1/image?key=DzCqseYc3eD7dy68PSvT
                    top:
                    - https://staging.api.uveye.app/v1/image?key=03lRIemHCADHmmZvMwlM
                    - https://staging.api.uveye.app/v1/image?key=cR7KydHigOnEoLUW73o5
                    right:
                    - https://staging.api.uveye.app/v1/image?key=SrCZGNaqUHMIHM92wlFd
                    - https://staging.api.uveye.app/v1/image?key=P0EWc6G49YXtlsIm7uZL
                overviewImage: ''
                coverImage: ''
                organizationId: GoGP0TEVU6YVBXkSyb2e_mirror
                siteId: WwiWSdfhyWiMSOXfKKDx_mirror
                inspectedAt: '2025-12-01T23:44:09.000Z'
                licensePlate: DZ58SE
                licensePlateUsStateAbbreviation: FL
                vin: 3N1AB8CV9SY330347
                year: '2025'
                numberOfCylinders: null
                fuelType: Gasoline
                bodyType: Sedan/Saloon
                make: NISSAN
                model: Sentra
                trim: SV
                cabSubTrim: ''
                bedSubTrim: ''
                doorCount: 4
                exteriorColor: Black
                engineDisplacement: '2000'
                uniqueId: ''
                spareTireInfo: ''
                keyType: ''
                isArtemisModuleInvalid: false
                isAtlasModuleInvalid: false
                isHeliosModuleInvalid: false
                isScanInvalid: false
        '400':
          description: Bad Request - Request failed, or required search criteria are missing from the
            request body.
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '404':
          description: Not Found - Inspection not found - the inspection expired, or the supplied identifier
            is wrong.
        '405':
          description: Method Not Allowed - `unknown method, please use POST` - the endpoint only accepts
            POST.
  /latest-inspections:
    post:
      operationId: listLatestInspections
      summary: List latest inspections
      description: Returns the most recent inspections for a site, site group or VIN so you can discover
        the `inspectionId` values to use with the Inspection Details request.
      tags:
      - Inspections
      security:
      - uveyeApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LatestInspectionsQuery'
            examples:
              byDays:
                summary: Last 100 days for a site
                value:
                  siteId: <site id>
                  amountOfDaysForSearch: 100
      responses:
        '200':
          description: The matching inspections.
          content:
            application/json:
              schema:
                type: object
                properties:
                  inspections:
                    type: array
                    items:
                      $ref: '#/components/schemas/InspectionSummary'
              example: null
        '400':
          description: Bad Request - Request failed, or required search criteria are missing from the
            request body.
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '404':
          description: Not Found - Inspection not found - the inspection expired, or the supplied identifier
            is wrong.
        '405':
          description: Method Not Allowed - `unknown method, please use POST` - the endpoint only accepts
            POST.
  /public-link:
    post:
      operationId: createInspectionPublicLink
      summary: Create an inspection public link
      description: Returns a shareable public link to an inspection. Public inspection links expire 30
        days after they are generated; the exact expiry is returned in `expirationDate`.
      tags:
      - Public Links
      security:
      - uveyeApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicLinkRequest'
            examples:
              byInspectionId:
                value:
                  inspectionId: 79c0c1d0-f600-413d-87f1-7e2f70d03ecb
                  plainMode: false
      responses:
        '200':
          description: The public link.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicLink'
              example: null
        '400':
          description: Bad Request - Request failed, or required search criteria are missing from the
            request body.
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '404':
          description: Not Found - Inspection not found - the inspection expired, or the supplied identifier
            is wrong.
        '405':
          description: Method Not Allowed - `unknown method, please use POST` - the endpoint only accepts
            POST.
  /inspection-shared:
    post:
      operationId: recordInspectionShared
      summary: Record that an inspection was shared
      description: Records that an inspection's public link was shared with a customer. Call this after
        sending a public link so the share is logged in the UVeye system. Returns 200 with an empty body
        on success.
      tags:
      - Public Links
      security:
      - uveyeApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - inspectionId
              properties:
                inspectionId:
                  type: string
                  description: Unique id of the inspection that was shared.
                publicLinkUrl:
                  type: string
                  description: The public inspection link that was sent to the customer.
            examples:
              withLink:
                value:
                  inspectionId: '1234567890'
                  publicLinkUrl: https://us.uvpub.uveye.app/public/ABCDEF123456
              idOnly:
                value:
                  inspectionId: '1234567890'
      responses:
        '200':
          description: The share was recorded. Empty body.
        '400':
          description: Bad Request - inspectionId is missing or the request is malformed.
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '405':
          description: Method Not Allowed - `unknown method, please use POST` - the endpoint only accepts
            POST.
  /quote:
    post:
      operationId: getQuoteByInspection
      summary: Get appraisal quote data for an inspection
      description: 'Returns the appraisal data of an inspection: basic vehicle information, the public
        quote link, the offer price and total reconditioning cost (when available), and damages grouped
        by car part. Each `defects[]` entry is one car part; its `damages[]` array holds the estimated
        repairs for that part, and each repair carries its own `damages[]` array of supporting images.
        The inspected vehicle must have a related appraisal ready on uvcamp.'
      tags:
      - Appraisal
      security:
      - uveyeApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteRequest'
            examples:
              byInspectionId:
                value:
                  inspectionId: 30a54b98-6fd6-4a96-9b6b-da8885d7c826
                  includeImages: true
      responses:
        '200':
          description: The appraisal quote.
          content:
            application/json:
              schema:
                type: object
                description: Appraisal quote payload - see the example for the published shape.
              example:
                inspectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536
                licensePlate: Z865YY
                vin: JTMWFREV4HD096740
                make: TOYOTA
                model: RAV4
                year: 2017
                coverImage: https://us.api.uveye.app/v1/image?key=HcUhRhZt2aC4gpsTFRao
                quoteUrl: https://us.public.uveye.app/evaluation/report/nWz0GSNPYFCSl61g914D
                defects:
                - partName: BumperRear
                  module: Atlas
                  isAutoEstimated: true
                  cost: 97.5
                  defectDescription: A small scratch on the rear bumper that does not penetrate the paint
                    and is primarily cosmetic.
                  damages:
                  - imageUrl: https://us.api.uveye.app/v1/image?key=qA7Mp5hIepJstTu4tZ0M
                    detectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536_scratches_damage_detector_inspection_50
                    rectangle:
                      pointType: Relative
                      width: 0.037700000000000004
                      height: 0.0286
                      top: 0.6617000000000001
                      left: 0.31365
                    damageType: BodyScratch
                - partName: DoorRearRight
                  module: Atlas
                  isAutoEstimated: true
                  cost: 90
                  defectDescription: A small dent found on the rear right door, which may not affect the
                    door's functionality but is visually noticeable.
                  damages:
                  - imageUrl: https://us.api.uveye.app/v1/image?key=rdS5zTMih1qo1XMMozH5
                    detectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536_scratches_damage_detector_inspection_9
                    rectangle:
                      pointType: Relative
                      width: 0.0819
                      height: 0.0819
                      top: 0.59055
                      left: 0.6315500000000001
                    damageType: BodyGlassesDent
                - partName: FenderRearLeft
                  module: Atlas
                  isAutoEstimated: true
                  cost: 105
                  defectDescription: The rear left fender has small dents that are not deep and do not
                    affect the structural integrity of the vehicle. These dents can be repaired with minor
                    bodywork.
                  damages:
                  - imageUrl: https://us.api.uveye.app/v1/image?key=0KQw5xfzq8oZFA4XNN4b
                    detectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536_scratches_damage_detector_inspection_5
                    rectangle:
                      pointType: Relative
                      width: 0.037700000000000004
                      height: 0.0273
                      top: 0.57285
                      left: 0.33964999999999995
                    damageType: BodyGlassesDent
                  - imageUrl: https://us.api.uveye.app/v1/image?key=cMmZnll44vN2IceKb31O
                    detectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536_scratches_damage_detector_inspection_4
                    rectangle:
                      pointType: Relative
                      width: 0.0325
                      height: 0.0234
                      top: 0.5852999999999999
                      left: 0.35825
                    damageType: BodyShallowDent
                - partName: LeftFrontTire
                  module: Artemis
                  isAutoEstimated: true
                  cost: 275
                  defectDescription: Wheel damage detected. Replacement or repair required.
                  damages:
                  - imageUrl: https://us.api.uveye.app/v1/image?key=A6E8uXtUnhZ4WBPT65a3
                    detectionId: g75qd975f7n0|RimDamageCosmetic
                    rectangle:
                      pointType: Relative
                      top: 0.676
                      left: 0.547
                      width: 0.071
                      height: 0.022
                    damageType: TireCosmeticRimDamage
                - partName: Trunk
                  module: Atlas
                  isAutoEstimated: true
                  cost: 222.5
                  defectDescription: The trunk has moderate sun damage, which may lead to paint deterioration
                    and potential rusting if not addressed.
                  damages:
                  - imageUrl: https://us.api.uveye.app/v1/image?key=Bcw71US7f1kV5XrGJu8g
                    detectionId: 2b16873e-31de-4e84-9a5c-6e5eb0020536_scratches_damage_detector_inspection_10
                    rectangle:
                      pointType: Relative
                      width: 0.1898
                      height: 0.16640000000000002
                      top: 0.2788
                      left: 0.8311
                    damageType: BodySunDamage
                totalReconditioningCost: 790
                offerPrice: 11400
        '400':
          description: 'Bad Request - `Request failed`, or `Missing search criteria`: one of inspectionId,
            licensePlate, vin or uniqueId must be provided.'
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '404':
          description: Not Found - no inspection or active quote found for the given identifier.
        '405':
          description: Method Not Allowed - `unknown method, please use POST` - the endpoint only accepts
            POST.
  /image:
    get:
      operationId: getInspectionImage
      summary: Get an inspection image
      description: Returns an image acquired during a UVeye inspection, identified by a `key` query parameter.
        You normally do not build this request yourself - image URLs returned inside other endpoints'
        responses (overviewImage, coverImage, tire treadImage/wallImage, detection image/croppedImage,
        Atlas coverImages/animatedFrames) already include the `?key=` parameter; use the returned URL
        as-is. Image URLs are valid for 1 hour unless stated otherwise.
      tags:
      - Media
      security:
      - uveyeApiKey: []
      parameters:
      - name: key
        in: query
        required: true
        schema:
          type: string
        description: The image key, taken from an image URL returned by another endpoint.
      responses:
        '200':
          description: The raw image.
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
            image/png:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - `Invalid API key` or `API key is disabled`. Refresh the key in the
            UVeye Back Office and resend it in the `uveye-api-key` header.
        '404':
          description: Not Found - the image key is unknown or the URL has expired (image URLs expire
            after 1 hour).
  /merchandise/inventory/vehicles:
    post:
      operationId: submitMerchandiseInventory
      summary: Submit inventory
      description: 'Push VINs plus basic vehicle data; UVeye scans, renders multi-angle images and pushes
        them back to your webhook. Batch limit is 100 vehicles per request (more returns 413). Resubmit
        your full active inventory periodically (for example every 4 hours) - unchanged vehicles are no-ops,
        deduplicated by content hash. Processed asynchronously: there is no per-VIN validation in the
        response, and a malformed or incomplete VIN is excluded and simply never produces a webhook.'
      tags:
      - Merchandise
      security:
      - merchandiseBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - vehicles
              properties:
                vehicles:
                  type: array
                  maxItems: 100
                  items:
                    $ref: '#/components/schemas/MerchandiseVehicle'
            example:
              vehicles:
              - vin: 1G1ZD5ST7JF123456
                make: Chevrolet
                model: Malibu
                year: 2024
                color: Silver
                body: Sedan
                stockNumber: ST-12345
                mileage: 12500
                type: USED
                sellingPrice: 21500
      responses:
        '202':
          description: Accepted for asynchronous processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchandiseAccepted'
              example:
                received: true
                requestId: f1a3b2c5-8e9d-4a6f-9c8e-1d2b3a4e5f6c
                count: 78
        '400':
          description: Bad Request - malformed body or a missing required field.
        '401': &id001
          description: Unauthorized - the merchandise key is missing, invalid, disabled, or not authorized
            for merchandise.
        '413': &id002
          description: Payload Too Large - more than 100 vehicles in a single request.
  /merchandise/inventory/sold:
    post:
      operationId: markMerchandiseVehiclesSold
      summary: Mark vehicles sold
      description: Mark vehicles sold so UVeye stops merchandising them. Call this explicitly when a VIN
        sells - v1 does not auto-detect sold vehicles from their absence in a resubmitted inventory. To
        bring a sold VIN back, resubmit it via Submit inventory. Same 100-vehicle batch limit.
      tags:
      - Merchandise
      security:
      - merchandiseBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - vins
              properties:
                vins:
                  type: array
                  maxItems: 100
                  items:
                    type: string
            example:
              vins:
              - 1G1ZD5ST7JF123456
              - 1HGCM82633A004352
      responses:
        '202':
          description: Accepted for asynchronous processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchandiseAccepted'
              example:
                received: true
                requestId: a7c9e1d3-4b6f-4c2a-8e1d-9f3b2a4c6d8e
                count: 2
        '400':
          description: Bad Request - missing/empty `vins` or a non-string entry.
        '401': *id001
        '413': *id002
components:
  securitySchemes:
    uveyeApiKey:
      type: apiKey
      in: header
      name: uveye-api-key
      description: Global API key generated in the Global Keys tab of the UVeye Back Office.
    merchandiseBearer:
      type: http
      scheme: bearer
      description: 'Merchandise API key issued at onboarding, sent as `Authorization: Bearer <merchandise
        API key>`. Distinct from `uveye-api-key`.'
  schemas:
    InspectionLookup:
      type: object
      description: Exactly one of inspectionId, vin, licensePlate or uniqueId must be supplied.
      properties:
        inspectionId:
          type: string
          description: A unique id of the inspection provided by the UVeye system; found in the scan page
            URL.
        vin:
          type: string
          description: The vehicle VIN provided by the manufacturer; found under vehicle info on the inspection
            page.
        licensePlate:
          type: string
          description: License plate of the vehicle; found under vehicle info on the inspection page.
        uniqueId:
          type: string
          description: The barcode of the vehicle (when given); found on the scan page.
        alertsOnly:
          type: boolean
          default: false
          description: When true the response returns only alert detections and hides warning detections.
        showTreadPolygons:
          type: boolean
          default: false
          description: When true, tread polygon coordinates are included.
      anyOf:
      - required:
        - inspectionId
      - required:
        - vin
      - required:
        - licensePlate
      - required:
        - uniqueId
    Inspection:
      type: object
      description: A single vehicle inspection with its per-module results.
      properties:
        inspectionId:
          type: string
          description: A unique id of the inspection.
        artemis:
          type: object
          description: Tire condition per wheel position (leftFront, leftRear, rightFront, rightRear).
        helios:
          type: object
          description: Undercarriage condition, including detections.
        atlas:
          type: object
          description: Exterior condition, including detections, coverImages and animatedFrames.
        apollo:
          type: object
          description: 'Interior condition (apolloInformation: interiorColor, interiorType, hasHeadrests,
            hasThirdRowSeating, isBioHazard).'
        overviewImage:
          type: string
          description: URL to the overview image of the vehicle.
        coverImage:
          type: string
          description: URL to the cover image of the vehicle.
        organizationId:
          type: string
          description: A unique id of the organization that generated the inspection.
        organizationDisplayName:
          type: string
          description: Name of the organization that generated the inspection.
        siteId:
          type: string
          description: A unique id of the site that generated the inspection.
        siteDisplayName:
          type: string
          description: Name of the site that generated the inspection.
        inspectedAt:
          type: string
          description: Date and time the inspection occurred.
        licensePlate:
          type: string
          description: License plate of the scanned vehicle.
        licensePlateUsStateAbbreviation:
          type: string
          description: Two-letter US state code shown on the license plate.
        vin:
          type: string
          description: Vehicle VIN provided by the manufacturer.
        uniqueId:
          type: string
          description: Barcode identifier of the vehicle, when given.
        isArtemisModuleInvalid:
          type: boolean
          description: True if any tire inspection images failed to upload.
        isAtlasModuleInvalid:
          type: boolean
          description: True if the exterior inspection images failed to upload.
        isHeliosModuleInvalid:
          type: boolean
          description: True if the undercarriage inspection image failed to upload.
        isScanInvalid:
          type: boolean
          description: True if any of the inspection modules is invalid.
        year:
          type: string
          description: Vehicle model year.
        numberOfCylinders:
          type:
          - number
          - 'null'
          description: Number of engine cylinders; null when unavailable.
        fuelType:
          type: string
          description: Fuel type of the vehicle.
        bodyType:
          type: string
          description: Body type of the vehicle.
        make:
          type: string
          description: Vehicle make.
        model:
          type: string
          description: Vehicle model.
        trim:
          type: string
          description: Vehicle trim level, when available.
        cabSubTrim:
          type: string
          description: Cab sub-trim, for applicable body types.
        bedSubTrim:
          type: string
          description: Bed sub-trim, for applicable body types.
        doorCount:
          type:
          - number
          - 'null'
          description: Number of doors; null when unavailable.
        exteriorColor:
          type: string
          description: Exterior color of the vehicle.
        engineDisplacement:
          type: string
          description: Engine displacement of the vehicle.
        isDriveable:
          type: boolean
          description: True if the vehicle was determined to be driveable.
        spareTireInfo:
          type: string
          description: Spare tire information, when available.
        keyType:
          type: string
          description: The vehicle's key type, when available.
        merchandiseVehicleData:
          type: object
          description: Resolved vehicle data (inventory-first); present only once resolved.
    LatestInspectionsQuery:
      type: object
      description: One location filter (siteId, siteGroupId or vin) plus one result-window filter (amountOfDaysForSearch,
        amountOfHoursForSearch or amountOfInspections).
      properties:
        siteId:
          type: string
          description: The id of the site to search inspections for.
        siteGroupId:
          type: string
          description: The id of the site group to search inspections for (also know

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uveye/refs/heads/main/openapi/uveye-public-api-v1-openapi.yml