Kelley Blue Book IDWS 4.0 Vehicle Service

InfoDriver Web Service (IDWS) 4.0 Vehicle Service — a RESTful Kelley Blue Book API returning vehicle configuration, makes, models, model years, trims, body styles, options, specifications, typicals, CPO programs, cost-to-own and Blue Book values, plus VIN lookup. API-key authenticated through the Cox Automotive Mashery gateway.

Operations 25

POST /idws/vehicle/applyconfiguration Takes a collection of ConfigurationChanges and applies them to a specified vehicle configuration #
GET /idws/vehicle/bodystyles Gets a list of Body Styles #
POST /idws/vehicle/costtoown Provides 5 Year Cost To Own Vehicle Information. #
GET /idws/vehicle/cpoprograms Get CPO Program Details. #
GET /idws/vehicle/errorcodes Gets a list of error codes for IDWS Vehicle referencing from VRS #
GET /idws/vehicle/links/id/{vehicleId} Gets a link to a vehicle on kbb.com #
GET /idws/vehicle/makes/id/{makeId} Gets a single make #
GET /idws/vehicle/makes Gets a list of makes #
GET /idws/vehicle/marketingcategories Gets a list of Marketing Categories #
GET /idws/vehicle/models Gets a list of models #
GET /idws/vehicle/models/id/{modelId} Gets a model #
GET /idws/vehicle/modelyears Gets a list of model years #
GET /idws/vehicle/modelyears/id/{id} Get the Model Year based on ID #
GET /idws/vehicle/specifications #
GET /idws/vehicle/trims/id/{trimId} Gets a single trim #
GET /idws/vehicle/trims Gets a list of trims #
GET /idws/vehicle/typicals Gets Typical Mileage List of a Vehicle #
POST /idws/vehicle/validateconfiguration Examines a collection of VehicleOptions to determine if they are a valid configuration for the given vehicleId #
POST /idws/vehicle/values #
GET /idws/vehicle/vehicles Gets a list of vehicles #
GET /idws/vehicle/vehicles/id/{id} Get the vehicle based on ID #
GET /idws/vehicle/vehicleoptions Gets a list of vehicle options #
GET /idws/vehicle/vehiclespecs Gets a list of Vehicle Specifications. #
GET /idws/vehicle/vin/id/{vin} Returns a list of vehicles matching a given VIN. #
GET /idws/vehicle/years Gets a list of years #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/kbb-idws-vehicle"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

cox-automotive-kbb-idws-vehicle-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: v1
  title: IDWS Vehicle Service
schemes:
- https
host: idws-sandbox.datasolutions.coxautoinc.com
paths:
  /idws/vehicle/applyconfiguration:
    post:
      tags:
      - ApplyConfiguration
      summary: Takes a collection of ConfigurationChanges and applies them to a specified vehicle configuration
      operationId: IdwsVehicleApplyconfigurationPost
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - application/json
      parameters:
      - name: value
        in: body
        required: false
        schema:
          $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ApplyConfiguration.ApplyConfigurationRequest'
      - name: applicationFilter
        in: query
        description: Set to "Consumer" to omit option selections available to dealers or fleet purchases only
        required: false
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ApplyConfiguration.ApplyConfigurationResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/bodystyles:
    get:
      tags:
      - BodyStyles
      summary: Gets a list of Body Styles
      operationId: IdwsVehicleBodystylesGet
      consumes: []
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              type: string
        '500':
          description: Server Error
  /idws/vehicle/costtoown:
    post:
      tags:
      - CostToOwn
      summary: Provides 5 Year Cost To Own Vehicle Information.
      operationId: IdwsVehicleCosttoownPost
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - application/json
      parameters:
      - name: ctoRequest
        in: body
        description: ''
        required: false
        schema:
          $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.Cto.CtoRequest'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.Cto.CtoResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/cpoprograms:
    get:
      tags:
      - CpoPrograms
      summary: Get CPO Program Details.
      operationId: IdwsVehicleCpoprogramsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: makeId
        in: query
        description: ''
        required: false
        type: integer
        format: int32
      - name: limit
        in: query
        description: ''
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: ''
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.CpoPrograms.CpoProgramsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/errorcodes:
    get:
      tags:
      - ErrorCodes
      summary: Gets a list of error codes for IDWS Vehicle referencing from VRS
      operationId: IdwsVehicleErrorcodesGet
      consumes: []
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              type: string
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '500':
          description: Server Error
  /idws/vehicle/links/id/{vehicleId}:
    get:
      tags:
      - Links
      summary: Gets a link to a vehicle on kbb.com
      operationId: IdwsVehicleLinksIdByVehicleIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleId
        in: path
        description: The vehicleId to link to
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Domain.Common.Models.External.LinksResponseModel'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/makes/id/{makeId}:
    get:
      tags:
      - Makes
      summary: Gets a single make
      operationId: IdwsVehicleMakesIdByMakeIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: makeId
        in: path
        description: The desired make
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.MakesResponse+MakeModel'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/makes:
    get:
      tags:
      - Makes
      summary: Gets a list of makes
      operationId: IdwsVehicleMakesGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all years will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all years will be returned.
        required: false
        type: string
      - name: yearId
        in: query
        description: Limits the output to only those years available for the specified make
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only makes available for the specified body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only makes available for the specificed marketing category
        required: false
        type: string
      - name: isCPOEligible
        in: query
        description: Limits the output to only makes that are CPO eligible
        required: false
        type: boolean
      - name: limit
        in: query
        description: Maximum number of years to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the year that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.MakesResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/marketingcategories:
    get:
      tags:
      - MarketingCategories
      summary: Gets a list of Marketing Categories
      operationId: IdwsVehicleMarketingcategoriesGet
      consumes: []
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Success
          schema:
            type: array
            items:
              type: string
        '500':
          description: Server Error
  /idws/vehicle/models:
    get:
      tags:
      - Models
      summary: Gets a list of models
      operationId: IdwsVehicleModelsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all models will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all models will be returned.
        required: false
        type: string
      - name: yearId
        in: query
        description: Limits the output to only those models manufactured during the specified year
        required: false
        type: integer
        format: int32
      - name: makeId
        in: query
        description: Limits the output to only those models manufactured by the specifed make
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only those models manufactured by the specifed body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only those models manufactured by the specifed marketing category
        required: false
        type: string
      - name: isCPOEligible
        in: query
        description: Limits the output to only those models manufactured by CPO eligibility
        required: false
        type: boolean
      - name: limit
        in: query
        description: Maximum number of models to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the model that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ModelsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/models/id/{modelId}:
    get:
      tags:
      - Models
      summary: Gets a model
      operationId: IdwsVehicleModelsIdByModelIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: modelId
        in: path
        description: The model to return
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ModelsResponse+ModelContract'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/modelyears:
    get:
      tags:
      - ModelYears
      summary: Gets a list of model years
      operationId: IdwsVehicleModelyearsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all modelyears will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all modelyears will be returned.
        required: false
        type: string
      - name: yearId
        in: query
        description: Limits the output to only those modelyears available for the specified year
        required: false
        type: integer
        format: int32
      - name: makeId
        in: query
        description: Limits the output to only those modelyears available for the specified make
        required: false
        type: integer
        format: int32
      - name: modelId
        in: query
        description: Limits the output to only those modelyears available for the specified model
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only those modelyears available for the specified body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only those modelyears available for the specified marketing category
        required: false
        type: string
      - name: isCPOEligible
        in: query
        description: Limits the output to only those modelyears available for those that are CPO eligible
        required: false
        type: boolean
      - name: limit
        in: query
        description: Maximum number of modelyears to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the modelyear that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ModelYearsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/modelyears/id/{id}:
    get:
      tags:
      - ModelYears
      summary: Get the Model Year based on ID
      operationId: IdwsVehicleModelyearsIdByIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: The id representing the model year
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ModelYearsResponse+ModelYear'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/specifications:
    get:
      tags:
      - Specifications
      operationId: IdwsVehicleSpecificationsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: apiKey
        in: query
        required: false
        type: string
      - name: limit
        in: query
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.SpecificationsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/trims/id/{trimId}:
    get:
      tags:
      - Trims
      summary: Gets a single trim
      operationId: IdwsVehicleTrimsIdByTrimIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: trimId
        in: path
        description: The desired trim
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.TrimsResponse+TrimModel'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/trims:
    get:
      tags:
      - Trims
      summary: Gets a list of trims
      operationId: IdwsVehicleTrimsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all trims will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all trims will be returned.
        required: false
        type: string
      - name: yearId
        in: query
        description: Limits the output to only those trims available for the specified year
        required: false
        type: integer
        format: int32
      - name: makeId
        in: query
        description: Limits the output to only those trims available for the specified make
        required: false
        type: integer
        format: int32
      - name: modelId
        in: query
        description: Limits the output to only those trims available for the specified model
        required: false
        type: integer
        format: int32
      - name: modelYearId
        in: query
        description: Limits the output to only those trims available for the specified model year
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only those vehicle available for the specified body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only those vehicle available for the specified marketing category
        required: false
        type: string
      - name: isCPOEligible
        in: query
        description: Limits the output to only those vehicle eligible for CPO
        required: false
        type: boolean
      - name: limit
        in: query
        description: Maximum number of trims to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the trim that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.TrimsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/typicals:
    get:
      tags:
      - Typicals
      summary: Gets Typical Mileage List of a Vehicle
      operationId: IdwsVehicleTypicalsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleId
        in: query
        description: Vehicle ID match will be returned.
        required: false
        type: string
      - name: valuationDate
        in: query
        description: ValuationDate Format e.g. 05/08/2019
        required: false
        type: string
      - name: limit
        in: query
        description: Maximum number of typical mileage lists to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the typical mileage that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.Typicals.TypicalsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/validateconfiguration:
    post:
      tags:
      - ValidateConfiguration
      summary: Examines a collection of VehicleOptions to determine if they are a valid configuration for the given vehicleId
      operationId: IdwsVehicleValidateconfigurationPost
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - application/json
      parameters:
      - name: value
        in: body
        required: false
        schema:
          $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ValidateConfiguration.ValidateConfigurationRequest'
      - name: applicationFilter
        in: query
        description: Set to "Consumer" to exclude options available to dealers or fleet purchases only
        required: false
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.ValidateConfiguration.ValidateConfigurationResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/values:
    post:
      tags:
      - Values
      summary: ''
      operationId: IdwsVehicleValuesPost
      consumes:
      - application/json-patch+json
      - application/json
      - text/json
      - application/*+json
      produces:
      - application/json
      parameters:
      - name: value
        in: body
        required: false
        schema:
          $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.Values.ValuesRequest'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.Values.ValuesResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/vehicles:
    get:
      tags:
      - Vehicle
      summary: Gets a list of vehicles
      operationId: IdwsVehicleVehiclesGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all vehicle will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all vehicle will be returned.
        required: false
        type: string
      - name: yearId
        in: query
        description: Limits the output to only those vehicle available for the specified year
        required: false
        type: integer
        format: int32
      - name: makeId
        in: query
        description: Limits the output to only those vehicle available for the specified make
        required: false
        type: integer
        format: int32
      - name: modelId
        in: query
        description: Limits the output to only those vehicle available for the specified model
        required: false
        type: integer
        format: int32
      - name: modelYearId
        in: query
        description: Limits the output to only those vehicle available for the specified model year
        required: false
        type: integer
        format: int32
      - name: trimId
        in: query
        description: Limits the output to only those vehicle available for the specified trim
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only those vehicle available for the specified body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only those vehicle available for the specified marketing category
        required: false
        type: string
      - name: isCPOEligible
        in: query
        description: Limits the output to only those vehicle eligible for CPO
        required: false
        type: boolean
      - name: limit
        in: query
        description: Maximum number of vehicle to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the vehicle that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.VehicleResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/vehicles/id/{id}:
    get:
      tags:
      - Vehicle
      summary: Get the vehicle based on ID
      operationId: IdwsVehicleVehiclesIdByIdGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: The id representing the vehicle
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.VehicleResponse+Vehicle'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/vehicleoptions:
    get:
      tags:
      - VehicleOptions
      summary: Gets a list of vehicle options
      operationId: IdwsVehicleVehicleoptionsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleId
        in: query
        description: Vehicle ID match will be returned.
        required: false
        type: integer
        format: int32
      - name: optionFilter
        in: query
        description: Filter used for vehicle options
        required: false
        type: string
        enum:
        - All
        - TypicalOnly
        - EDT
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all vehicle options will be returned.
        required: false
        type: string
      - name: limit
        in: query
        description: Maximum number of vehicle options to return. Default is 25.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the vehicle options that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Domain.Common.Models.VRSRepo.VRSVehicleOptionsResponseModel'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/vehiclespecs:
    get:
      tags:
      - VehicleSpecs
      summary: Gets a list of Vehicle Specifications.
      operationId: IdwsVehicleVehiclespecsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleId
        in: query
        description: Limits the output based on vehicleId specified.
        required: false
        type: integer
        format: int32
      - name: vehicleOptionIds
        in: query
        description: Limits the output based on vehicleId and vehicleOptionIds specified.
        required: false
        type: string
      - name: vehicleSpecIds
        in: query
        description: Limits the output based on vehicleId and vehicleSpecIds specified.
        required: false
        type: string
      - name: vehicleSpecNames
        in: query
        description: Limits the output based on vehicleId and vehicleSpecNames specified.
        required: false
        type: string
      - name: limit
        in: query
        description: Maximum number of vehicle specifications to return.
        required: false
        type: integer
        format: int32
      - name: start
        in: query
        description: Index of the vehicle specs that begins the returned set.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.VehicleSpecsResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/vin/id/{vin}:
    get:
      tags:
      - Vin
      summary: Returns a list of vehicles matching a given VIN.
      operationId: IdwsVehicleVinIdByVinGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vin
        in: path
        description: The VIN to decode
        required: true
        type: string
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all matching vehicles will be returned
        required: false
        type: string
      - name: optionFilter
        in: query
        description: Indicates the scope of options returned. If not specified, all options are returned
        required: false
        type: string
        enum:
        - All
        - DecodedOnly
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IDWS.Vehicle.Contracts.Contracts.V1.VinResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/IDWS.Platform.ResponseMessage.ReturnResponse'
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /idws/vehicle/years:
    get:
      tags:
      - Years
      summary: Gets a list of years
      operationId: IdwsVehicleYearsGet
      consumes: []
      produces:
      - application/json
      parameters:
      - name: vehicleClass
        in: query
        description: NewCar or UsedCar. If not specified, all years will be returned.
        required: false
        type: string
      - name: applicationFilter
        in: query
        description: Dealer or Consumer. If not specified, all years will be returned.
        required: false
        type: string
      - name: makeId
        in: query
        description: Limits the output to only those years available for the specified make
        required: false
        type: integer
        format: int32
      - name: modelId
        in: query
        description: Limits the output to only those years available for the specified model
        required: false
        type: integer
        format: int32
      - name: bodyStyle
        in: query
        description: Limits the output to only those years available for the specified body style
        required: false
        type: string
      - name: marketingCategory
        in: query
        description: Limits the output to only those years available for the specified marketing category
        required: false
        type: 

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cox-automotive/refs/heads/main/openapi/cox-automotive-kbb-idws-vehicle-openapi.yml