Lexio · Schema

Vehicle

Car RentalSoftware-as-a-ServiceFleet ManagementFrenchB2B

Properties

Name Type Description
id string Identifiant du véhicule.
plate stringnull Immatriculation, en majuscules ; null si le véhicule n’en a pas. Une plaque ou un numéro de série est toujours présent.
serialNumber stringnull Numéro de série (deux-roues non immatriculé, par exemple) ; null si absent.
vin object Numéro d’identification du véhicule (VIN, 17 caractères au plus) ; null si absent.
name object Nom d’usage donné par le loueur (ex. « 208 blanche ») ; null si absent.
brand string Marque (ex. Peugeot).
model string Modèle (ex. 208).
description object Description libre ; null si absente.
color object Couleur, en texte libre ; null si absente.
vehicleType string Type de véhicule : il fixe la famille et les champs applicables.
family string Famille, déduite de `vehicleType`.
energy string Énergie, déduite de `fuelType`.
fuelType string Carburant ou motorisation : il fixe l’énergie et les champs applicables.
transmission object Boîte de vitesses ; null si non applicable au profil (deux-roues électrique).
seats integer Nombre de places : 1 à 50 pour une voiture, 1 à 3 pour un deux-roues.
doors object Nombre de portes ; null pour un deux-roues.
modelYear object Année modèle ; null si inconnue.
registrationDate object Date de première immatriculation (`YYYY-MM-DD`), jamais dans le futur ; null si inconnue.
odometerKm integer Kilométrage au compteur, en km.
powerKw object Puissance en kW ; null si inconnue. Un thermique va jusqu’à 1471 kW (2000 ch), un électrique jusqu’à 2000 kW.
fuelCapacityLiters object Capacité du réservoir, en litres ; null pour un électrique ou si inconnue.
batteryCapacityKwh object Capacité de la batterie de traction, en kWh ; null si non applicable ou inconnue.
rangeKm object Autonomie électrique, en km ; null si non applicable ou inconnue.
chargePortType object Prise de recharge ; null si non applicable ou inconnue.
equipment array Équipements présents, parmi ceux de la famille et de l’énergie du véhicule.
categoryId object Catégorie tarifaire (`GET /categories/{categoryId}`) ; null : véhicule sans prix, non réservable (`NO_PRICING_CATEGORY`).
status string `BREAKDOWN` : véhicule en panne, non réservable. `OPERATIONAL` sinon, location en cours comprise.
isActive boolean false : véhicule mis hors service par le loueur, non réservable (`INACTIVE`).
isArchived boolean true : véhicule archivé, sorti de la flotte et non modifiable.
isBookable boolean true si `notBookableReasons` est vide. Ne dit rien de l’occupation sur une période : voir `GET /availability`.
notBookableReasons array Raisons durables qui empêchent toute réservation ; `MAINTENANCE_OVERDUE` : entretien ou contrôle technique en retard, quand le loueur bloque les réservations sur ce retard.
isMaintenanceTracked boolean true une fois le suivi d’entretien démarré (`maintenanceTrackingMode`) ; il ne s’arrête plus.
maintenanceTrackingMode object Mode de démarrage du suivi d’entretien, définitif une fois posé ; null : suivi non démarré. `FROM_ZERO` (véhicule neuf ou sans historique fiable) et `MANUAL_HISTORY` (historique saisi par `POST /maint
displayOrder integer Rang d’affichage choisi dans Lexio ; ordre de la liste.
imageUrls array Photos de présentation, URL publiques stables, dans l’ordre choisi dans Lexio.
createdAt string Création, heure du loueur avec décalage.
updatedAt string Dernière modification.
View JSON Schema on GitHub

JSON Schema

lexio-rent-vehicle-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/lexio-rent/json-schema/lexio-rent-vehicle-schema.json",
  "title": "Vehicle",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lexio-rent-openapi.json#/components/schemas/Vehicle",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Identifiant du véhicule."
    },
    "plate": {
      "description": "Immatriculation, en majuscules ; null si le véhicule n’en a pas. Une plaque ou un numéro de série est toujours présent.",
      "type": [
        "string",
        "null"
      ]
    },
    "serialNumber": {
      "description": "Numéro de série (deux-roues non immatriculé, par exemple) ; null si absent.",
      "type": [
        "string",
        "null"
      ]
    },
    "vin": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 17
        },
        {
          "type": "null"
        }
      ],
      "description": "Numéro d’identification du véhicule (VIN, 17 caractères au plus) ; null si absent."
    },
    "name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ],
      "description": "Nom d’usage donné par le loueur (ex. « 208 blanche ») ; null si absent."
    },
    "brand": {
      "type": "string",
      "maxLength": 50,
      "description": "Marque (ex. Peugeot)."
    },
    "model": {
      "type": "string",
      "maxLength": 50,
      "description": "Modèle (ex. 208)."
    },
    "description": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ],
      "description": "Description libre ; null si absente."
    },
    "color": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 30
        },
        {
          "type": "null"
        }
      ],
      "description": "Couleur, en texte libre ; null si absente."
    },
    "vehicleType": {
      "type": "string",
      "enum": [
        "CITY",
        "COMPACT",
        "CROSSOVER",
        "SEDAN",
        "BREAK",
        "SUV",
        "OFF_ROAD",
        "PICKUP",
        "MINIVAN",
        "VAN",
        "UTILITY",
        "COUPE",
        "CONVERTIBLE",
        "SPORT",
        "LUXURY",
        "MOTORCYCLE",
        "SCOOTER"
      ],
      "description": "Type de véhicule : il fixe la famille et les champs applicables."
    },
    "family": {
      "type": "string",
      "enum": [
        "CAR",
        "TWO_WHEELER"
      ],
      "description": "Famille, déduite de `vehicleType`."
    },
    "energy": {
      "type": "string",
      "enum": [
        "FUEL",
        "ELECTRIC"
      ],
      "description": "Énergie, déduite de `fuelType`."
    },
    "fuelType": {
      "type": "string",
      "enum": [
        "PETROL",
        "DIESEL",
        "LPG",
        "HYBRID",
        "PLUGIN_HYBRID",
        "ELECTRIC"
      ],
      "description": "Carburant ou motorisation : il fixe l’énergie et les champs applicables."
    },
    "transmission": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "MANUAL",
            "AUTOMATIC"
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "Boîte de vitesses ; null si non applicable au profil (deux-roues électrique)."
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Nombre de places : 1 à 50 pour une voiture, 1 à 3 pour un deux-roues."
    },
    "doors": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 2,
          "maximum": 10
        },
        {
          "type": "null"
        }
      ],
      "description": "Nombre de portes ; null pour un deux-roues."
    },
    "modelYear": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        },
        {
          "type": "null"
        }
      ],
      "description": "Année modèle ; null si inconnue."
    },
    "registrationDate": {
      "anyOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "null"
        }
      ],
      "description": "Date de première immatriculation (`YYYY-MM-DD`), jamais dans le futur ; null si inconnue."
    },
    "odometerKm": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000,
      "description": "Kilométrage au compteur, en km."
    },
    "powerKw": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 2000
        },
        {
          "type": "null"
        }
      ],
      "description": "Puissance en kW ; null si inconnue. Un thermique va jusqu’à 1471 kW (2000 ch), un électrique jusqu’à 2000 kW."
    },
    "fuelCapacityLiters": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 500,
          "description": "Au plus 1 décimale."
        },
        {
          "type": "null"
        }
      ],
      "description": "Capacité du réservoir, en litres ; null pour un électrique ou si inconnue."
    },
    "batteryCapacityKwh": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 300,
          "description": "Au plus 2 décimales."
        },
        {
          "type": "null"
        }
      ],
      "description": "Capacité de la batterie de traction, en kWh ; null si non applicable ou inconnue."
    },
    "rangeKm": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 2000
        },
        {
          "type": "null"
        }
      ],
      "description": "Autonomie électrique, en km ; null si non applicable ou inconnue."
    },
    "chargePortType": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "TYPE_1",
            "TYPE_2",
            "CCS",
            "CHADEMO",
            "DC",
            "DOMESTIC"
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "Prise de recharge ; null si non applicable ou inconnue."
    },
    "equipment": {
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "AIR_CONDITIONING",
          "HEATED_SEATS",
          "LEATHER_SEATS",
          "KEYLESS_START",
          "ELECTRIC_TRUNK",
          "CONVERTIBLE_ROOF",
          "SUNROOF",
          "PANORAMIC_ROOF",
          "GPS",
          "BLUETOOTH",
          "CARPLAY",
          "ANDROID_AUTO",
          "WIRELESS_CHARGING",
          "ABS",
          "ESP",
          "CRUISE_CONTROL",
          "ADAPTIVE_CRUISE_CONTROL",
          "BLIND_SPOT_MONITOR",
          "PARKING_SENSORS",
          "REAR_CAMERA",
          "PARKING_ASSIST",
          "DASHCAM",
          "TURBO",
          "POWER_STEERING",
          "START_STOP",
          "ADBLUE",
          "TOW_BAR",
          "TOP_CASE",
          "WINDSHIELD",
          "HEATED_GRIPS",
          "USB_PORT",
          "TRACTION_CONTROL",
          "ANTI_THEFT_ALARM",
          "REMOVABLE_BATTERY",
          "SPARE_BATTERY"
        ]
      },
      "description": "Équipements présents, parmi ceux de la famille et de l’énergie du véhicule."
    },
    "categoryId": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "description": "Catégorie tarifaire (`GET /categories/{categoryId}`) ; null : véhicule sans prix, non réservable (`NO_PRICING_CATEGORY`)."
    },
    "status": {
      "type": "string",
      "enum": [
        "OPERATIONAL",
        "BREAKDOWN"
      ],
      "description": "`BREAKDOWN` : véhicule en panne, non réservable. `OPERATIONAL` sinon, location en cours comprise."
    },
    "isActive": {
      "type": "boolean",
      "description": "false : véhicule mis hors service par le loueur, non réservable (`INACTIVE`)."
    },
    "isArchived": {
      "type": "boolean",
      "description": "true : véhicule archivé, sorti de la flotte et non modifiable."
    },
    "isBookable": {
      "type": "boolean",
      "description": "true si `notBookableReasons` est vide. Ne dit rien de l’occupation sur une période : voir `GET /availability`."
    },
    "notBookableReasons": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "INACTIVE",
          "ARCHIVED",
          "BREAKDOWN",
          "MAINTENANCE_OVERDUE",
          "NO_PRICING_CATEGORY"
        ]
      },
      "description": "Raisons durables qui empêchent toute réservation ; `MAINTENANCE_OVERDUE` : entretien ou contrôle technique en retard, quand le loueur bloque les réservations sur ce retard."
    },
    "isMaintenanceTracked": {
      "type": "boolean",
      "description": "true une fois le suivi d’entretien démarré (`maintenanceTrackingMode`) ; il ne s’arrête plus."
    },
    "maintenanceTrackingMode": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "FROM_ZERO",
            "ASSUME_UP_TO_DATE",
            "MANUAL_HISTORY"
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "Mode de démarrage du suivi d’entretien, définitif une fois posé ; null : suivi non démarré. `FROM_ZERO` (véhicule neuf ou sans historique fiable) et `MANUAL_HISTORY` (historique saisi par `POST /maintenance-records`) comptent les échéances depuis 0 km et la première immatriculation ; `ASSUME_UP_TO_DATE` tient le véhicule pour à jour à son entrée en flotte (kilométrage et date de ce jour)."
    },
    "displayOrder": {
      "type": "integer",
      "description": "Rang d’affichage choisi dans Lexio ; ordre de la liste."
    },
    "imageUrls": {
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Photos de présentation, URL publiques stables, dans l’ordre choisi dans Lexio."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Création, heure du loueur avec décalage."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Dernière modification."
    }
  },
  "required": [
    "id",
    "plate",
    "serialNumber",
    "vin",
    "name",
    "brand",
    "model",
    "description",
    "color",
    "vehicleType",
    "family",
    "energy",
    "fuelType",
    "transmission",
    "seats",
    "doors",
    "modelYear",
    "registrationDate",
    "odometerKm",
    "powerKw",
    "fuelCapacityLiters",
    "batteryCapacityKwh",
    "rangeKm",
    "chargePortType",
    "equipment",
    "categoryId",
    "status",
    "isActive",
    "isArchived",
    "isBookable",
    "notBookableReasons",
    "isMaintenanceTracked",
    "maintenanceTrackingMode",
    "displayOrder",
    "imageUrls",
    "createdAt",
    "updatedAt"
  ]
}

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/lexio-rent-vehicle"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.