KeySavvy · Schema

VehicleCreateRequestBody

CompanyAutomotiveMarketplaceAPIFinTech

Properties

Name Type Description
sellerNonOwner booleannull Indicates if the initial seller provided via sellerReferenceId is a non-owner, e.g. a consignment seller.
sellerReferenceId string ID that references the seller of the vehicle. This is the same as the referenceId used in /user
vehicleReferenceId stringnull A stable, unique, case-sensitive partner-supplied ID for this vehicle. If explicitly set to null, a reference ID will be automatically assigned and returned in the `referenceId` field of the response.
marketplaceReferenceId stringnull The marketplace reference ID associated with this vehicle.
displayId stringnull A user-visible ID for this vehicle. If it is not provided, no user-visible ID will be displayed. It can contain any characters, including whitespace. It is recommended but not required to be unique.
vin string Vehicle Identification Number. Input will be sanitized by: 1. Removing invalid characters (alphanumeric only) 2. Converting to uppercase The resulting VIN must be 4-25 characters after sanitization.
priceCents integernull Price of the vehicle in cents.
year integernull Year of the vehicle, from 1885 to 2 years in the future. An out-of-range year is dropped, and the vehicle is saved without it. For standard VINs the year is decoded from the VIN.
make stringnull Make of the vehicle. Only printable ASCII characters (0x20-0x7E) are accepted. Common look-alikes (smart quotes, en/em/non-breaking dashes, accented Latin letters) are mapped to their closest ASCII eq
model stringnull Model of the vehicle. Only printable ASCII characters (0x20-0x7E) are accepted. Common look-alikes (smart quotes, en/em/non-breaking dashes, accented Latin letters) are mapped to their closest ASCII e
color object
loan booleannull Indicates if the vehicle has a loan on it. A lienholderName or lienholderAccountNumber means the vehicle has a loan, whatever this is set to. When null or omitted without lienholder details, the selle
lease booleannull Indicates if the vehicle has a lease.
registrationState stringnull The current state that the vehicle is registered in. This should be the abbreviated state name (e.g. CA, TX, NY).
entityOwner object Vehicle ownership information. Indicates information about who owns the vehicle if it is not an individual.
lienholderName stringnull Name of the lienholder for the vehicle
lienholderAccountNumber stringnull Account number associated with the lienholder
standardizedVehicleType object Optional standardized vehicle type. Used only when KeySavvy cannot determine the vehicle type from the VIN, for example non-standard or collector VINs and incomplete or conversion vehicles. Otherwise
View JSON Schema on GitHub

JSON Schema

keysavvy-vehicle-create-request-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/keysavvy/main/json-schema/keysavvy-vehicle-create-request-body-schema.json",
  "title": "VehicleCreateRequestBody",
  "x-generated": "2026-10-25",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/keysavvy-openapi.json#/components/schemas/VehicleCreateRequestBody",
  "type": "object",
  "properties": {
    "sellerNonOwner": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates if the initial seller provided via sellerReferenceId is a non-owner, e.g. a consignment seller.",
      "default": false
    },
    "sellerReferenceId": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]+$",
      "description": "ID that references the seller of the vehicle. This is the same as the referenceId used in /user"
    },
    "vehicleReferenceId": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^[a-zA-Z0-9_-]+$",
      "description": "A stable, unique, case-sensitive partner-supplied ID for this vehicle.\nIf explicitly set to null, a reference ID will be automatically assigned and returned in the `referenceId` field of the response.\n"
    },
    "marketplaceReferenceId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The marketplace reference ID associated with this vehicle."
    },
    "displayId": {
      "type": [
        "string",
        "null"
      ],
      "description": "A user-visible ID for this vehicle. If it is not provided, no user-visible ID will be displayed. It can contain any characters, including whitespace. It is recommended but not required to be unique."
    },
    "vin": {
      "type": "string",
      "description": "Vehicle Identification Number. Input will be sanitized by:\n1. Removing invalid characters (alphanumeric only)\n2. Converting to uppercase\nThe resulting VIN must be 4-25 characters after sanitization.\n",
      "minLength": 4,
      "maxLength": 25
    },
    "priceCents": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 100,
      "maximum": 99999900,
      "description": "Price of the vehicle in cents."
    },
    "year": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Year of the vehicle, from 1885 to 2 years in the future. An out-of-range year is dropped, and the vehicle is saved without it. For standard VINs the year is decoded from the VIN."
    },
    "make": {
      "type": [
        "string",
        "null"
      ],
      "description": "Make of the vehicle. Only printable ASCII characters (0x20-0x7E) are accepted. Common look-alikes (smart quotes, en/em/non-breaking dashes, accented Latin letters) are mapped to their closest ASCII equivalent; any remaining unsupported characters (emoji, control chars, zero-width chars, non-Latin scripts) are removed. If the resulting value is empty, it will be removed."
    },
    "model": {
      "type": [
        "string",
        "null"
      ],
      "description": "Model of the vehicle. Only printable ASCII characters (0x20-0x7E) are accepted. Common look-alikes (smart quotes, en/em/non-breaking dashes, accented Latin letters) are mapped to their closest ASCII equivalent; any remaining unsupported characters (emoji, control chars, zero-width chars, non-Latin scripts) are removed. If the resulting value is empty, it will be removed."
    },
    "color": {
      "oneOf": [
        {
          "$ref": "#/$defs/VehicleColorEnum"
        },
        {
          "type": "null"
        }
      ]
    },
    "loan": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates if the vehicle has a loan on it. A lienholderName or lienholderAccountNumber means the vehicle has a loan, whatever this is set to. When null or omitted without lienholder details, the seller is asked whether the vehicle has a loan."
    },
    "lease": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates if the vehicle has a lease."
    },
    "registrationState": {
      "type": [
        "string",
        "null"
      ],
      "description": "The current state that the vehicle is registered in. This should be the abbreviated state name (e.g. CA, TX, NY)."
    },
    "entityOwner": {
      "oneOf": [
        {
          "$ref": "#/$defs/EntityOwnerCreateRequest"
        },
        {
          "type": "null"
        }
      ],
      "description": "Vehicle ownership information. Indicates information about who owns the vehicle if it is not an individual."
    },
    "lienholderName": {
      "type": [
        "string",
        "null"
      ],
      "description": "Name of the lienholder for the vehicle"
    },
    "lienholderAccountNumber": {
      "type": [
        "string",
        "null"
      ],
      "description": "Account number associated with the lienholder"
    },
    "standardizedVehicleType": {
      "oneOf": [
        {
          "$ref": "#/$defs/VehicleTypeEnum"
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional standardized vehicle type. Used only when KeySavvy cannot determine the vehicle type from the VIN, for example non-standard or collector VINs and incomplete or conversion vehicles. Otherwise it is ignored. When it is used, the value is stored and returned on the vehicle response; when it is ignored, that field is null.\n"
    }
  },
  "required": [
    "sellerReferenceId",
    "vehicleReferenceId",
    "vin"
  ],
  "$defs": {
    "AddressRequest": {
      "type": "object",
      "description": "Empty strings are treated as unspecified. Addresses are standardized and validated where possible, so a later read may differ from what was sent.\n",
      "properties": {
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "Two-letter code. A full state or territory name is also accepted, and a code that disagrees with the rest of the address is corrected when the address validates.\n"
        },
        "zip": {
          "type": "string",
          "description": "For US addresses, should be 5 digits. Accepts Zip+4, but prefer zip4.\n"
        },
        "zip4": {
          "type": [
            "string",
            "null"
          ],
          "description": "Ignored for non-US addresses."
        },
        "country": {
          "type": "string",
          "description": "Only \"US\" is supported"
        }
      },
      "required": [
        "line1",
        "city",
        "state",
        "zip",
        "country"
      ]
    },
    "EntityOwnerCreateRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "address": {
          "description": "Default for physicalAddress and mailingAddress. Complete addresses supplied separately take precedence. Unusable addresses are ignored.\n",
          "oneOf": [
            {
              "$ref": "#/$defs/AddressRequest"
            },
            {
              "type": "null"
            }
          ]
        },
        "physicalAddress": {
          "oneOf": [
            {
              "$ref": "#/$defs/AddressRequest"
            },
            {
              "type": "null"
            }
          ]
        },
        "mailingAddress": {
          "oneOf": [
            {
              "$ref": "#/$defs/AddressRequest"
            },
            {
              "type": "null"
            }
          ]
        },
        "ownerType": {
          "type": "string",
          "enum": [
            "business",
            "dealer"
          ]
        },
        "dealerLicenseState": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Z]{2}$",
          "description": "Two-letter US license state or territory; ignored unless ownerType is dealer. Invalid code: 400.\n"
        }
      },
      "required": [
        "ownerType"
      ]
    },
    "VehicleColorEnum": {
      "type": "string",
      "enum": [
        "BLACK",
        "BLUE",
        "BROWN",
        "GOLD",
        "GRAY",
        "GREEN",
        "ORANGE",
        "PINK",
        "PURPLE",
        "RED",
        "SILVER",
        "WHITE",
        "YELLOW"
      ],
      "description": "The approximate color of the vehicle."
    },
    "VehicleTypeEnum": {
      "type": "string",
      "enum": [
        "CAR_SUV",
        "PICKUP",
        "VAN",
        "MOTORHOME",
        "MOTORCYCLE",
        "COMMERCIAL_TRUCK",
        "PICKUP_GT_1_TON",
        "BUS",
        "ATV",
        "TRAILER",
        "OTHER"
      ],
      "description": "The standardized KeySavvy vehicle type."
    }
  }
}

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for schemas

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

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/keysavvy-vehicle-create-request-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.