Kelley Blue Book Instant Cash Offer (ICO) API

Produces a Kelley Blue Book Instant Cash Offer for a vehicle. Vehicle configuration lookups (year, make, model, trim, transmission, engine, drivetrain, colour, options), licence-plate-to-VIN lookup, prospect creation with history, condition and contact information, and offer creation and retrieval. Responses use a meta/data envelope with numeric Cox Automotive result codes.

Operations 42

GET /vehicles/vin/{vin}
GET /vehicles/years
OPTIONS /vehicles/years
GET /vehicles/makes
OPTIONS /vehicles/makes
GET /vehicles/models
OPTIONS /vehicles/models
GET /vehicles/trims
OPTIONS /vehicles/trims
GET /vehicles/colors
OPTIONS /vehicles/colors
GET /vehicles/transmissions
OPTIONS /vehicles/transmissions
GET /vehicles/engines
OPTIONS /vehicles/engines
GET /vehicles/drivetrains
OPTIONS /vehicles/drivetrains
GET /vehicles/options
OPTIONS /vehicles/options
GET /vehicles/eligibility
OPTIONS /vehicles/eligibility
GET /plate2vin/lookup
GET /plate2vin/states
POST /prospects
OPTIONS /prospects
GET /prospects/{prospectId}
OPTIONS /prospects/{prospectId}
GET /prospects/{prospectId}/history
PATCH /prospects/{prospectId}/history
OPTIONS /prospects/{prospectId}/history
PATCH /prospects/{prospectId}/options
OPTIONS /prospects/{prospectId}/options
GET /prospects/{prospectId}/conditions
PATCH /prospects/{prospectId}/conditions
OPTIONS /prospects/{prospectId}/conditions
GET /prospects/{prospectId}/contactInfo
PATCH /prospects/{prospectId}/contactInfo
OPTIONS /prospects/{prospectId}/contactInfo
POST /offers
OPTIONS /offers
GET /offers/{offerId}
OPTIONS /offers/{offerId}

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-instant-cash-offer"
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-instant-cash-offer-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: '2018-07-16'
  title: Kelley Blue Book(SM) Instant Cash Offer (ICO) API
  description: ''
host: api.kbb.com
basePath: /ico/v1
tags:
- name: Vehicle
  description: All methods related to vehicles
- name: Prospect
  description: All methods related to a prospect
- name: Offer
  description: All methods related to an offer
schemes:
- https
consumes:
- application/json
produces:
- application/json
securityDefinitions:
  keyQuery:
    type: apiKey
    name: api_key
    in: query
security:
- keyQuery: []
parameters:
  prospectId:
    name: prospectId
    description: Unique identifier to represent all aspects of a prospective vehicle offer including vehicle configuration,
      condition, and contact info.
    in: path
    type: string
    required: true
    x-valid: b0afc168-ff1d-4858-955e-4a375189ecdd
    x-invalid: afc168-ff1d-4858-955e-4a375189ecdd
  apiKey:
    name: api_key
    description: Unique identifier to authorize the request
    in: query
    type: string
    required: true
    x-valid: b0afc168-ff1d-4858-955e-4a375189ecd0
    x-invalid: afc168-ff1d-4858-955e-4a375189ecd
  yearId:
    name: yearId
    description: a numeric ID representing the year of a vehicle
    in: query
    type: integer
    minimum: 0
    required: true
    x-valid: 2015
    x-invalid: foo
  makeId:
    name: makeId
    description: a numeric ID representing the make of the vehicle
    in: query
    type: integer
    minimum: 0
    required: true
    x-valid: 5
    x-invalid: foo
  modelId:
    name: modelId
    description: a numeric ID representing the model of the vehicle
    in: query
    type: integer
    minimum: 0
    required: true
    x-valid: 951
    x-invalid: foo
  trimId:
    name: trimId
    description: a numeric ID representing the Trim of the vehicle
    in: query
    type: integer
    minimum: 0
    required: true
    x-valid: 410336
    x-invalid: foo
  offerId:
    name: offerId
    description: Unique identifier to represent an offer
    in: path
    type: string
    required: true
    x-valid: b0afc168-ff1d-4858-955e-4a375189ec00
    x-invalid: afc168-ff1d-4858-955e-4a375189ec
  count:
    name: count
    in: query
    description: The number of items returned in a collection
    type: integer
    required: false
    default: 100
    x-valid: 100
    x-invalid: -1
  include:
    name: include
    in: query
    description: The fields that should be included in the returned object.
    type: string
    required: false
    pattern: /([a-zA-Z]+),?/g
    x-valid: foo
    x-invalid: 123
  exclude:
    name: exclude
    in: query
    description: The fields that should be included in the returned object.
    type: string
    required: false
    pattern: /([a-zA-Z]+),?/g
    x-valid: foo
    x-invalid: 123
  filter:
    name: filter
    in: query
    description: A list of fields that should be filtered on
    type: string
    required: false
    pattern: /([a-zA-Z]+\:[a-zA-Z\,]+);?/g
    x-valid: foo=bar
    x-invalid: 123
responses:
  InvalidAuth:
    description: An unauthenticated operation has been attempted
    schema:
      $ref: '#/definitions/Response'
  ServerError:
    description: An internal server error has occured
    schema:
      $ref: '#/definitions/Response'
paths:
  /vehicles/vin/{vin}:
    get:
      description: Gets a set of all possible vehicle component selections for a VIN. Using a VIN removes the need to call
        for Years, Makes, Models, etc.
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - name: vin
        in: path
        description: The VIN to be decoded into possible vehicle components
        type: string
        required: true
        minLength: 0
        maxLength: 17
        x-valid: 2T2BK1BA0AC076349
        x-invalid: 123
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: Gets a set of all possible vehicle component selections for a VIN.
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/DecodedVin'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 400021
                    description: '400021 - Invalid VIN length, or invalid characters (17 long, I, O, Q), or invalid format

                      '
        403:
          $ref: '#/responses/InvalidAuth'
        404:
          description: No vehicles found matching this VIN
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 404001
                    description: '404001 - Vehicles for this VIN not found.

                      '
        500:
          $ref: '#/responses/ServerError'
  /vehicles/years:
    get:
      description: Gets a set of years that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Years in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Years'
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              enum:
              - Content-Type
            Access-Control-Allow-Methods:
              type: string
              enum:
              - GET
            Access-Control-Allow-Origin:
              type: string
              enum:
              - '*'
  /vehicles/makes:
    get:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      description: Gets a set of makes that are included in the KBB reference data set
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/yearId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Makes'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400011 - Unavailable vehicle Year

                      '
                    enum:
                    - 400011
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/models:
    get:
      description: Gets a set of models that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/yearId'
      - $ref: '#/parameters/makeId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Models'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400011 - Unavailable vehicle Year.

                      400012 - Unavailable vehicle Make.

                      '
                    enum:
                    - 400011
                    - 400012
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/trims:
    get:
      description: Gets a set of trims that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/yearId'
      - $ref: '#/parameters/makeId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Trims'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400011 - Unavailable vehicle Year.

                      400012 - Unavailable vehicle Make.

                      400013 - Unavailable vehicle Model.

                      '
                    enum:
                    - 400011
                    - 400012
                    - 400013
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/colors:
    get:
      description: Gets a set of colors that are included in the KBB reference data set for a particular trim
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Colors'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400014 - Unavailable vehicle Trim.

                      '
                    enum:
                    - 400014
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/transmissions:
    get:
      description: Gets a set of transmissions that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Transmissions'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400014 - Unavailable vehicle Trim.

                      '
                    enum:
                    - 400014
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/engines:
    get:
      description: Gets a set of engines that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Engines'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400014 - Unavailable vehicle Trim.

                      '
                    enum:
                    - 400014
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/drivetrains:
    get:
      description: Gets a set of drivetrains that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Makes in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Drivetrains'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400014 - Unavailable vehicle Trim.

                      '
                    enum:
                    - 400014
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/options:
    get:
      description: Gets a set of options that are included in the KBB reference data set
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      - $ref: '#/parameters/count'
      responses:
        200:
          description: A list of Options in the KBB dataset
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Options'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: '400014 - Unavailable vehicle Trim.

                      '
                    enum:
                    - 400014
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /vehicles/eligibility:
    get:
      description: Gets vehicle eligibility based on trim id
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/trimId'
      responses:
        200:
          description: Returns IsEligible bool and list of excluded Engines, excluded Drivetrains, excluded Transmissions
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/VehicleEligibility'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 400014
                    description: '400014 - Unavailable vehicle Trim.

                      '
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Vehicle
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /plate2vin/lookup:
    get:
      description: Gets a vehicle VIN based on a license plate number and state
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - name: stateCode
        in: path
        description: The state abbreviated code that issued the license plate
        type: string
        required: true
        minLength: 2
        maxLength: 2
        x-valid: CA
        x-invalid: foo
      - name: plateNumber
        in: path
        description: The license plate number
        type: string
        required: true
        minLength: 7
        maxLength: 7
        x-valid: 9SCA339
        x-invalid: foo
      - $ref: '#/parameters/apiKey'
      responses:
        200:
          description: Gets a set of all possible vehicle component selections for a VIN.
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Plate2VinResponse'
        404:
          description: License plate number and state.
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 404000
                    description: '404000 - Invalid license plate number and/or state.

                      '
        500:
          $ref: '#/responses/ServerError'
  /plate2vin/states:
    get:
      description: Gets a list of valid states for plate2vin look up
      security:
      - keyQuery: []
      tags:
      - Vehicle
      parameters:
      - $ref: '#/parameters/apiKey'
      responses:
        200:
          description: Gets a set of all possible states for plate2vin lookup.
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Plate2VinStateResponse'
        404:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 404000
                    description: '404000 - states not found.

                      '
        500:
          $ref: '#/responses/ServerError'
  /prospects:
    post:
      description: Creates a new vehicle prospect.
      security:
      - keyQuery: []
      tags:
      - Prospect
      parameters:
      - $ref: '#/parameters/apiKey'
      - name: Prospect
        in: body
        required: true
        schema:
          $ref: '#/definitions/ProspectRequest'
      responses:
        201:
          description: Successful response
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                meta:
                  type: object
                  properties:
                    codes:
                      type: array
                      items:
                        type: integer
                        enum:
                        - 201000
                        - 200422
                        description: '200100 - Prospect created.

                          200422 - Mileage exceeds offer eligibility threshold.

                          '
                data:
                  $ref: '#/definitions/Prospect'
        400:
          description: Error response
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                    description: "400001 - Invalid schema.\n400010 - Invalid vehicle configuration.\n400011 - Unavailable\
                      \ vehicle Year.\n400012 - Unavailable vehicle Make.\n400013 - Unavailable vehicle Model.\n400014 - Unavailable\
                      \ vehicle Trim.\n400015 - Unavailable vehicle Transmission.\n400016 - Unavailable vehicle Engine.\n\
                      400017 - Unavailable vehicle Drivetrain.\n400018 - Unavailable vehicle Color.\n400020 - Zip code not\
                      \ servicable.\n400022 - Prospect vehicle does not match VIN decode vehicle. \n400030 - Unavailable Dealer.\n"
                    enum:
                    - 400001
                    - 400010
                    - 400011
                    - 400012
                    - 400013
                    - 400014
                    - 400015
                    - 400016
                    - 400017
                    - 400018
                    - 400020
                    - 400022
                    - 400030
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Prospect
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: POST
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /prospects/{prospectId}:
    get:
      description: Gets the state of the current prospect
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/prospectId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      security:
      - keyQuery: []
      tags:
      - Prospect
      responses:
        200:
          description: TBD
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                meta:
                  type: object
                  properties:
                    codes:
                      type: array
                      items:
                        type: integer
                        enum:
                        - 200000
                data:
                  $ref: '#/definitions/Prospect'
        404:
          description: Prospect not found
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                type: object
                properties:
                  codes:
                    type: array
                    items:
                      type: integer
                      enum:
                      - 404000
                    description: '404000 - Prospect not found.

                      '
        403:
          $ref: '#/responses/InvalidAuth'
        500:
          $ref: '#/responses/ServerError'
    options:
      security:
      - keyQuery: []
      tags:
      - Prospect
      parameters:
      - $ref: '#/parameters/prospectId'
      responses:
        default:
          description: Allowed origins, methods, and headers
          headers:
            Access-Control-Allow-Headers:
              type: string
              default: Content-Type
            Access-Control-Allow-Methods:
              type: string
              default: GET
            Access-Control-Allow-Origin:
              type: string
              default: '*'
  /prospects/{prospectId}/history:
    get:
      description: Gets the required history specific condition questions for a given vehicle prospect
      security:
      - keyQuery: []
      tags:
      - Prospect
      parameters:
      - $ref: '#/parameters/apiKey'
      - $ref: '#/parameters/prospectId'
      - $ref: '#/parameters/include'
      - $ref: '#/parameters/exclude'
      - $ref: '#/parameters/filter'
      responses:
        200:
          description: Returns a set of condition questions
          schema:
            allOf:
            - $ref: '#/definitions/Response'
            - type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/definitions/Questions'
        404

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