Properties
| Name | Type | Description |
|---|---|---|
| id | string | Identifiant du client. |
| isCompany | boolean | true : société ; false : particulier. Les champs de l’autre type valent null. |
| partnerCode | object | Code partenaire de la plateforme dont une réservation a créé ce client ; null pour un client du loueur. |
| firstName | stringnull | Prénom (particulier) ; null pour une société ou une fiche anonymisée. |
| lastName | stringnull | Nom de famille (particulier), publié en majuscules ; null pour une société ou une fiche anonymisée. |
| companyName | stringnull | Raison sociale (société) ; null pour un particulier. |
| stringnull | Email, en minuscules ; celui d’un particulier est unique pour un même `partnerCode`. null si absent. | |
| phone | stringnull | Téléphone, au format international quand le pays est connu ; null si absent. |
| birthDate | object | Date de naissance (particulier), `YYYY-MM-DD`. |
| birthCity | stringnull | Lieu de naissance (particulier). |
| nationality | stringnull | Nationalité, en texte libre (particulier). |
| licenseNumber | stringnull | Numéro du permis de conduire (particulier). |
| licenseIssueDate | object | Date de délivrance du permis de conduire (particulier), `YYYY-MM-DD`. |
| address | object | Adresse postale ; null si aucune. |
| companyRegistrationNumber | stringnull | Numéro d’immatriculation de la société. En France et dans les DROM : SIREN, 9 chiffres, requis pour une société ; ailleurs, format du pays. Pays : celui de l’adresse, sinon celui du loueur. |
| companyEstablishmentNumber | stringnull | Numéro de l’établissement (en France : SIRET, 14 chiffres). |
| vatNumber | stringnull | Numéro de TVA intracommunautaire de la société. |
| acquisitionSource | object | Canal par lequel le client est arrivé. null si inconnu. |
| isBlocked | boolean | true : client bloqué par le loueur, une nouvelle location à son nom est refusée. |
| anonymizedAt | object | Date de l’anonymisation : données personnelles effacées, fiche en lecture seule. null sinon. |
| createdAt | string | Création, heure du loueur avec décalage. |
| updatedAt | string | Dernière modification. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/lexio-rent/json-schema/lexio-rent-customer-schema.json",
"title": "Customer",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/lexio-rent-openapi.json#/components/schemas/Customer",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Identifiant du client."
},
"isCompany": {
"type": "boolean",
"description": "true : société ; false : particulier. Les champs de l’autre type valent null."
},
"partnerCode": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"description": "Code partenaire de la plateforme dont une réservation a créé ce client ; null pour un client du loueur."
},
"firstName": {
"description": "Prénom (particulier) ; null pour une société ou une fiche anonymisée.",
"type": [
"string",
"null"
]
},
"lastName": {
"description": "Nom de famille (particulier), publié en majuscules ; null pour une société ou une fiche anonymisée.",
"type": [
"string",
"null"
]
},
"companyName": {
"description": "Raison sociale (société) ; null pour un particulier.",
"type": [
"string",
"null"
]
},
"email": {
"description": "Email, en minuscules ; celui d’un particulier est unique pour un même `partnerCode`. null si absent.",
"type": [
"string",
"null"
]
},
"phone": {
"description": "Téléphone, au format international quand le pays est connu ; null si absent.",
"type": [
"string",
"null"
]
},
"birthDate": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"description": "Date de naissance (particulier), `YYYY-MM-DD`."
},
"birthCity": {
"description": "Lieu de naissance (particulier).",
"type": [
"string",
"null"
]
},
"nationality": {
"description": "Nationalité, en texte libre (particulier).",
"type": [
"string",
"null"
]
},
"licenseNumber": {
"description": "Numéro du permis de conduire (particulier).",
"type": [
"string",
"null"
]
},
"licenseIssueDate": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"description": "Date de délivrance du permis de conduire (particulier), `YYYY-MM-DD`."
},
"address": {
"anyOf": [
{
"type": "object",
"properties": {
"street": {
"description": "Numéro et voie.",
"type": [
"string",
"null"
]
},
"complement": {
"description": "Complément d’adresse (bâtiment, étage…).",
"type": [
"string",
"null"
]
},
"postalCode": {
"description": "Code postal.",
"type": [
"string",
"null"
]
},
"city": {
"description": "Ville.",
"type": [
"string",
"null"
]
},
"country": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{2}$"
},
{
"type": "null"
}
],
"description": "Pays, code ISO 3166-1 alpha-2 ; null pour une ancienne valeur illisible."
}
},
"required": [
"street",
"complement",
"postalCode",
"city",
"country"
]
},
{
"type": "null"
}
],
"description": "Adresse postale ; null si aucune."
},
"companyRegistrationNumber": {
"description": "Numéro d’immatriculation de la société. En France et dans les DROM : SIREN, 9 chiffres, requis pour une société ; ailleurs, format du pays. Pays : celui de l’adresse, sinon celui du loueur.",
"type": [
"string",
"null"
]
},
"companyEstablishmentNumber": {
"description": "Numéro de l’établissement (en France : SIRET, 14 chiffres).",
"type": [
"string",
"null"
]
},
"vatNumber": {
"description": "Numéro de TVA intracommunautaire de la société.",
"type": [
"string",
"null"
]
},
"acquisitionSource": {
"anyOf": [
{
"type": "string",
"enum": [
"ONLINE",
"PHONE",
"WALKIN",
"PARTNER",
"OTHER"
]
},
{
"type": "null"
}
],
"description": "Canal par lequel le client est arrivé. null si inconnu."
},
"isBlocked": {
"type": "boolean",
"description": "true : client bloqué par le loueur, une nouvelle location à son nom est refusée."
},
"anonymizedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "Date de l’anonymisation : données personnelles effacées, fiche en lecture seule. null sinon."
},
"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",
"isCompany",
"partnerCode",
"firstName",
"lastName",
"companyName",
"email",
"phone",
"birthDate",
"birthCity",
"nationality",
"licenseNumber",
"licenseIssueDate",
"address",
"companyRegistrationNumber",
"companyEstablishmentNumber",
"vatNumber",
"acquisitionSource",
"isBlocked",
"anonymizedAt",
"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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/lexio-rent-customer"
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.