Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity.
Refus
VEHICLE_UNAVAILABLE : véhicule non réservable.
OPTION_UNAVAILABLE : stock d’option insuffisant.
BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire).
DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul.
FEATURE_NOT_AVAILABLE : options sans pricing.options.
400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire.
choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.
Clé unique de l’opération, réutilisée à chaque nouvel essai : un rejeu avec la même clé et le même corps renvoie la réponse initiale sans rien réécrire. Voir Idempotence.
Caution. Omis : caution liée à la franchise retenue si elle est active, sinon caution par défaut de la catégorie, sinon de l’organisation, y compris avec deductibleId: null ; null : sans caution.
Clé interne seulement (sinon 400 not_applicable) : autoliquidation de la TVA (taux 0), possible si isVatReverseChargeAvailable de GET /organization est vrai, sinon 422 VAT_REVERSE_CHARGE_NOT_ALLOWED.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"API Lexio","description":"Référence et guides de l’API Lexio v1 : disponibilités, devis, locations, paiements, flotte et catalogue, de serveur à serveur.","colors":{"primary":"#213051","light":"#9fb3e0","dark":"#213051"},"logo":{"light":"https://mintcdn.com/lexio/pRouqOAymioY_AdF/logo/light.svg?fit=max\u0026auto=format\u0026n=pRouqOAymioY_AdF\u0026q=85\u0026s=dfcc1b24a8c399ae35b02ed7c0b9f66d","dark":"https://mintcdn.com/lexio/pRouqOAymioY_AdF/logo/dark.svg?fit=max\u0026auto=format\u0026n=pRouqOAymioY_AdF\u0026q=85\u0026s=a80dcfd084ea4685f52fed48ba48020d","href":"https://lexio.rent"},"favicon":"https://mintcdn.com/lexio/pRouqOAymioY_AdF/favicon.svg?fit=max\u0026auto=format\u0026n=pRouqOAymioY_AdF\u0026q=85\u0026s=2d0809a446de104a057e8fcbce607b0f","api":{"playground":{"display":"simple","proxy":false},"examples":{"languages":["curl","javascript","python","php"],"prefill":true}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"mailto:contact@lexio.rent","label":"Support"}],"primary":{"type":"button","label":"openapi.json","href":"/openapi.json"}},"footer":{"socials":{"website":"https://lexio.rent"},"links":[{"header":"Lexio","items":[{"label":"Site de Lexio","href":"https://lexio.rent"},{"label":"Support : contact@lexio.rent","href":"mailto:contact@lexio.rent"},{"label":"Spécification OpenAPI","href":"/openapi.json"}]}]},"seo":{"metatags":{"canonical":"https://docs.lexio.rent"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"fr","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lexio","hasAudioNarration":false,"actualSubdomain":"lexio","customDomains":[],"gitSource":{"type":"github","owner":"lexio-rent","repo":"lexio-crm","deployBranch":"shane-dev","contentDirectory":"docs/api-externe","isPrivate":true,"mountPath":"","label":"","_id":"6ae295067db54f7e07016fb1"},"chroma":{"liveDeploymentHistoryId":"6ae29aceb8eb27ce1fc83dd9","collectionId":"106c4a45-dd90-409c-af36-3f7f1c8e220e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae29aceb8eb27ce1fc83dd9"},"entitlements":{},"buildId":"6ae29c72b56f3c7b42a2432b","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"fr","tag":"Référence de l’API","count":93},{"language":"fr","tag":"Catalogue","count":26},{"language":"fr","tag":"Tarification","count":15},{"language":"fr","tag":"Guides","count":14},{"language":"fr","tag":"Départ et retour","count":8},{"language":"fr","tag":"Flotte","count":8},{"language":"fr","tag":"Intégrer","count":7},{"language":"fr","tag":"Entretien","count":7},{"language":"fr","tag":"Locations","count":7},{"language":"fr","tag":"Modifications","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#localization-select-trigger{display:none!important}"}],"page":{"pagePath":"api-reference/offre/create-quote","slug":"/api-reference/offre/create-quote","pageMetadata":{"title":"Créer un devis","description":"**Accès** : `quotes.write`\n\nFige 24 h (`expiresAt`) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec `vehicleId`, `startAt` et `endAt` seuls, `totalTTC` est celui de `GET /availability`. Options : quantité de 1 à `choices.options[].maxBookableQuantity`.\n\n**Refus**\n- `VEHICLE_UNAVAILABLE` : véhicule non réservable.\n- `OPTION_UNAVAILABLE` : stock d’option insuffisant.\n- `BOOKING_RULE_VIOLATION` : règles de réservation (clé partenaire).\n- `DISCOUNT_CAP_EXCEEDED` : remise au-delà du plafond de la clé ou sous un total nul.\n- `FEATURE_NOT_AVAILABLE` : `options` sans `pricing.options`.\n- 400 `not_applicable` : jeune conducteur dans `options` (`driverBirthDate` en décide) ; conducteur additionnel, `charges` ou `isVatReverseCharge` avec une clé partenaire.\n\n`choices` chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en `quoteId` de `POST /rentals`, par une clé du même code partenaire.","deprecated":null,"version":null,"sidebarTitle":"Créer un devis","openapi":"/openapi.json post /quotes","href":"/api-reference/offre/create-quote","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Accès\"\n }), \" : \", _jsx(_components.code, {\n children: \"quotes.write\"\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Fige 24 h (\", _jsx(_components.code, {\n children: \"expiresAt\"\n }), \") le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec \", _jsx(_components.code, {\n children: \"vehicleId\"\n }), \", \", _jsx(_components.code, {\n children: \"startAt\"\n }), \" et \", _jsx(_components.code, {\n children: \"endAt\"\n }), \" seuls, \", _jsx(_components.code, {\n children: \"totalTTC\"\n }), \" est celui de \", _jsx(_components.code, {\n children: \"GET /availability\"\n }), \". Options : quantité de 1 à \", _jsx(_components.code, {\n children: \"choices.options[].maxBookableQuantity\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Refus\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"VEHICLE_UNAVAILABLE\"\n }), \" : véhicule non réservable.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"OPTION_UNAVAILABLE\"\n }), \" : stock d’option insuffisant.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"BOOKING_RULE_VIOLATION\"\n }), \" : règles de réservation (clé partenaire).\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DISCOUNT_CAP_EXCEEDED\"\n }), \" : remise au-delà du plafond de la clé ou sous un total nul.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"FEATURE_NOT_AVAILABLE\"\n }), \" : \", _jsx(_components.code, {\n children: \"options\"\n }), \" sans \", _jsx(_components.code, {\n children: \"pricing.options\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"400 \", _jsx(_components.code, {\n children: \"not_applicable\"\n }), \" : jeune conducteur dans \", _jsx(_components.code, {\n children: \"options\"\n }), \" (\", _jsx(_components.code, {\n children: \"driverBirthDate\"\n }), \" en décide) ; conducteur additionnel, \", _jsx(_components.code, {\n children: \"charges\"\n }), \" ou \", _jsx(_components.code, {\n children: \"isVatReverseCharge\"\n }), \" avec une clé partenaire.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"choices\"\n }), \" chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en \", _jsx(_components.code, {\n children: \"quoteId\"\n }), \" de \", _jsx(_components.code, {\n children: \"POST /rentals\"\n }), \", par une clé du même code partenaire.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Créer un devis","description":"**Accès** : `quotes.write`\n\nFige 24 h (`expiresAt`) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec `vehicleId`, `startAt` et `endAt` seuls, `totalTTC` est celui de `GET /availability`. Options : quantité de 1 à `choices.options[].maxBookableQuantity`.\n\n**Refus**\n- `VEHICLE_UNAVAILABLE` : véhicule non réservable.\n- `OPTION_UNAVAILABLE` : stock d’option insuffisant.\n- `BOOKING_RULE_VIOLATION` : règles de réservation (clé partenaire).\n- `DISCOUNT_CAP_EXCEEDED` : remise au-delà du plafond de la clé ou sous un total nul.\n- `FEATURE_NOT_AVAILABLE` : `options` sans `pricing.options`.\n- 400 `not_applicable` : jeune conducteur dans `options` (`driverBirthDate` en décide) ; conducteur additionnel, `charges` ou `isVatReverseCharge` avec une clé partenaire.\n\n`choices` chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en `quoteId` de `POST /rentals`, par une clé du même code partenaire.","deprecated":null,"version":null,"sidebarTitle":"Créer un devis","openapi":"/openapi.json post /quotes","href":"/api-reference/offre/create-quote","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createQuote","summary":"Créer un devis","description":"**Accès** : `quotes.write`\n\nFige 24 h (`expiresAt`) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec `vehicleId`, `startAt` et `endAt` seuls, `totalTTC` est celui de `GET /availability`. Options : quantité de 1 à `choices.options[].maxBookableQuantity`.\n\n**Refus**\n- `VEHICLE_UNAVAILABLE` : véhicule non réservable.\n- `OPTION_UNAVAILABLE` : stock d’option insuffisant.\n- `BOOKING_RULE_VIOLATION` : règles de réservation (clé partenaire).\n- `DISCOUNT_CAP_EXCEEDED` : remise au-delà du plafond de la clé ou sous un total nul.\n- `FEATURE_NOT_AVAILABLE` : `options` sans `pricing.options`.\n- 400 `not_applicable` : jeune conducteur dans `options` (`driverBirthDate` en décide) ; conducteur additionnel, `charges` ou `isVatReverseCharge` avec une clé partenaire.\n\n`choices` chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en `quoteId` de `POST /rentals`, par une clé du même code partenaire.","tags":["Offre"],"security":["0c7c465d-1d5a-4539-9be2-e054644ebd95"],"x-required-scopes":["quotes.write"],"parameters":["40e7272c-0f37-41aa-a954-dc251c3b609b"],"requestBody":"66e06a67-be18-4fc1-ab72-4b56bb17c268","responses":{"201":"60b5c729-e57a-42bc-a438-6d37952dae0e","400":"3f2d5ab9-54af-4401-9c1d-a9d3012e7101","401":"4ed9fc58-da53-4f22-9b9e-0c1627005a0e","403":"a245eb55-1dca-4cb5-a796-ee9c4b07e459","409":"55b59348-ba8f-43bb-92cb-f636eb8b6709","413":"8d9f39c3-ad76-4d12-ba59-b70d2696001c","415":"3f772884-9cae-46db-88b7-8b11afff1d75","422":"7c3f19be-4726-4a5c-8522-ef2f3ab0d77d","429":"2d5debd1-b498-42ca-ba4d-22f6358564c0","500":"a1f5e0c8-37aa-439d-804e-85bca0ac4eaf"},"x-mint":{"href":"/api-reference/offre/create-quote","metadata":{"title":"Créer un devis","sidebarTitle":"Créer un devis"}},"method":"post","type":"path","servers":["c3220b3b-f902-475f-902a-f94f20648ddf"],"path":"/quotes","baseUrlOptions":["https://api.lexio.rent/api/external/v1"],"title":"Créer un devis","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.vehicleId":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","body.startAt":"2026-11-10T10:00","body.endAt":"2026-11-15T10:00","body.mileagePackageId.oneOf.0":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","body.deductibleId.oneOf.0":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","body.options.items.0.optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","body.options.items.0.quantity":1}],"disableProxy":true},"dependencies":{"parameters":{"40e7272c-0f37-41aa-a954-dc251c3b609b":{"name":"Idempotency-Key","in":"header","required":false,"example":"8b3e1d2c-4a5f-4c6b-9e7d-1f2a3b4c5d6e","description":"Clé unique de l’opération, réutilisée à chaque nouvel essai : un rejeu avec la même clé et le même corps renvoie la réponse initiale sans rien réécrire. Voir [Idempotence](https://docs.lexio.rent/idempotence).","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x20-\\x7E]+$","examples":["8b3e1d2c-4a5f-4c6b-9e7d-1f2a3b4c5d6e"],"isRequired":false,"description":"Clé unique de l’opération, réutilisée à chaque nouvel essai : un rejeu avec la même clé et le même corps renvoie la réponse initiale sans rien réécrire. Voir [Idempotence](https://docs.lexio.rent/idempotence).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"example":{"vehicleId":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","startAt":"2026-11-10T10:00","endAt":"2026-11-15T10:00","mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","options":[{"optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1}]},"schema":{"type":"object","properties":{"vehicleId":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"description":"Véhicule à chiffrer (`GET /availability`).","type":"string","format":"uuid","isRequired":true,"uniqueKey":"vehicleId","typeLabel":"string\u003cuuid>"},"startAt":{"description":"Départ, heure murale de l’agence sans décalage (YYYY-MM-DDTHH:mm).","examples":["2026-11-10T10:00"],"type":"string","isRequired":true,"uniqueKey":"startAt","typeLabel":"string"},"endAt":{"description":"Retour, heure murale de l’agence sans décalage (YYYY-MM-DDTHH:mm).","examples":["2026-11-10T10:00"],"type":"string","isRequired":true,"uniqueKey":"endAt","typeLabel":"string"},"mileagePackageId":{"oneOf":[{"type":"string","description":"Forfait kilométrique. Omis : forfait par défaut de l’organisation ; null : kilométrage illimité.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","uniqueKey":"mileagePackageId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Forfait kilométrique. Omis : forfait par défaut de l’organisation ; null : kilométrage illimité.","uniqueKey":"mileagePackageId.oneOf.1","typeLabel":"null"}],"uniqueKey":"mileagePackageId","typeLabel":"string\u003cuuid> | null"},"deductibleId":{"oneOf":[{"type":"string","description":"Franchise. Omis : franchise par défaut de la catégorie du véhicule, sinon de l’organisation ; null : sans franchise.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","uniqueKey":"deductibleId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Franchise. Omis : franchise par défaut de la catégorie du véhicule, sinon de l’organisation ; null : sans franchise.","uniqueKey":"deductibleId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deductibleId","typeLabel":"string\u003cuuid> | null"},"depositId":{"oneOf":[{"type":"string","description":"Caution. Omis : caution liée à la franchise retenue si elle est active, sinon caution par défaut de la catégorie, sinon de l’organisation, y compris avec `deductibleId: null` ; null : sans caution.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","uniqueKey":"depositId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Caution. Omis : caution liée à la franchise retenue si elle est active, sinon caution par défaut de la catégorie, sinon de l’organisation, y compris avec `deductibleId: null` ; null : sans caution.","uniqueKey":"depositId.oneOf.1","typeLabel":"null"}],"uniqueKey":"depositId","typeLabel":"string\u003cuuid> | null"},"options":{"description":"Options et quantités, une fois chacune. Jeune conducteur jamais ici (400 `not_applicable`) ; conducteur additionnel réservé aux clés internes.","default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"optionId":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"description":"Option du catalogue (`GET /options`).","type":"string","format":"uuid","isRequired":true,"uniqueKey":"options.items.[INDEX].optionId","typeLabel":"string\u003cuuid>"},"quantity":{"description":"Quantité, 1 par défaut ; au plus `maxBookableQuantity` de `choices.options` (sinon 422 `OPTION_QUANTITY_EXCEEDED` ou 409 `OPTION_UNAVAILABLE`).","default":1,"type":"integer","minimum":1,"maximum":100,"uniqueKey":"options.items.[INDEX].quantity","typeLabel":"integer"}},"required":["optionId"],"additionalProperties":false,"uniqueKey":"options.items.[INDEX]","typeLabel":"object"},"uniqueKey":"options","typeLabel":"object[]"},"charges":{"description":"Frais ou remises libres, appliqués dans l’ordre (clé interne seulement, sinon 400 `not_applicable`).","maxItems":20,"type":"array","items":{"description":"Frais ou remise libre (clé interne seulement). Une remise qui ferait passer le total sous zéro ou dépasserait le plafond de remise de la clé → 422 `DISCOUNT_CAP_EXCEEDED`.","type":"object","properties":{"type":{"description":"`SURCHARGE` : frais ajouté ; `DISCOUNT` : remise, déduite du total.","type":"string","enum":["SURCHARGE","DISCOUNT"],"isRequired":true,"uniqueKey":"charges.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"description":{"description":"Libellé de la ligne `CHARGE`.","type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"charges.items.[INDEX].description","typeLabel":"string"},"amountHT":{"description":"Montant HT, positif même pour une remise. Exactement un de `amountHT` et `amountTTC` (les deux → 400 `mutually_exclusive`, aucun → 400 `required`).","type":"number","uniqueKey":"charges.items.[INDEX].amountHT","typeLabel":"number"},"amountTTC":{"description":"Montant TTC, positif même pour une remise ; fait foi, le HT en est déduit au taux de TVA du devis.","type":"number","uniqueKey":"charges.items.[INDEX].amountTTC","typeLabel":"number"}},"required":["type","description"],"additionalProperties":false,"uniqueKey":"charges.items.[INDEX]","typeLabel":"object"},"uniqueKey":"charges","typeLabel":"object[]"},"promoCode":{"oneOf":[{"type":"string","description":"Code promo, sans distinction de casse ; refusé → 422 `PROMO_CODE_REJECTED` (`reason`).","maxLength":50,"minLength":1,"uniqueKey":"promoCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Code promo, sans distinction de casse ; refusé → 422 `PROMO_CODE_REJECTED` (`reason`).","uniqueKey":"promoCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"promoCode","typeLabel":"string | null"},"isVatReverseCharge":{"description":"Clé interne seulement (sinon 400 `not_applicable`) : autoliquidation de la TVA (taux 0), possible si `isVatReverseChargeAvailable` de `GET /organization` est vrai, sinon 422 `VAT_REVERSE_CHARGE_NOT_ALLOWED`.","default":false,"type":"boolean","uniqueKey":"isVatReverseCharge","typeLabel":"boolean"},"driverBirthDate":{"oneOf":[{"type":"string","description":"Date de naissance du conducteur : fige la majoration jeune conducteur ; null ou omis : aucune majoration.","format":"date","uniqueKey":"driverBirthDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","description":"Date de naissance du conducteur : fige la majoration jeune conducteur ; null ou omis : aucune majoration.","uniqueKey":"driverBirthDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"driverBirthDate","typeLabel":"string\u003cdate> | null"}},"required":["vehicleId","startAt","endAt"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"vehicleId":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","startAt":"2026-11-10T10:00","endAt":"2026-11-15T10:00","mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","options":[{"optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"60b5c729-e57a-42bc-a438-6d37952dae0e":{"description":"Créer un devis","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}},"Location":{"description":"Chemin absolu de la ressource créée sur l’hôte de l’API, préfixe `/api/external/v1` compris.","schema":{"type":"string"}},"Idempotent-Replayed":{"description":"`true` quand la réponse est le rejeu d’une requête déjà traitée avec la même `Idempotency-Key`.","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"example":{"data":{"id":"0b8e2a6c-4d1f-4e3a-9b7c-1c2d3e4f5a6b","createdAt":"2026-11-02T09:12:44+01:00","expiresAt":"2026-11-03T09:12:44+01:00","consumedAt":null,"rentalId":null,"currency":"EUR","vehicle":{"id":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","name":"208 Allure","brand":"Peugeot","model":"208","vehicleType":"CITY","plate":"AB-123-CD","serialNumber":null},"period":{"startAt":"2026-11-10T10:00:00+01:00","endAt":"2026-11-15T10:00:00+01:00","timezone":"Europe/Paris","billedDays":5,"durationMinutes":7200},"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"promoCode":null,"isVatReverseCharge":false,"vatPercent":20,"totalHT":257,"vatAmount":51.4,"totalTTC":308.4,"lines":[{"key":"BASE","label":"Tarif de base","refId":null,"quantity":1,"unitPriceHT":210,"unitPriceTTC":252,"amountHT":210,"amountTTC":252,"ratePercent":null},{"key":"DURATION_DISCOUNT","label":"Réduction durée 5 jours","refId":null,"quantity":1,"unitPriceHT":-10.5,"unitPriceTTC":-12.6,"amountHT":-10.5,"amountTTC":-12.6,"ratePercent":5},{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null},{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null},{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"pricingBasis":{"dailyPrices":[{"date":"2026-11-10","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-11","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-12","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-13","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-14","seasonSlug":"basse","dailyPriceHT":42}],"leadTime":null},"choices":{"mileagePackages":[{"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"line":{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null}},{"mileage":{"mileagePackageId":"9d0e1f2a-3b4c-4d5e-8f60-819203142536","name":"Kilométrage illimité","isUnlimited":true,"includedKm":null,"overageRatePerKmHT":null},"line":{"key":"MILEAGE","label":"Forfait Kilométrage illimité","refId":null,"quantity":1,"unitPriceHT":75,"unitPriceTTC":90,"amountHT":75,"amountTTC":90,"ratePercent":null}}],"deductibles":[{"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"line":{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null}}],"options":[{"optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","name":"Siège enfant","maxBookableQuantity":2,"line":{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}}]}}},"schema":{"type":"object","properties":{"data":{"description":"Devis : prix garanti, frais et code promo compris, jusqu’à `expiresAt`. Il ne réserve pas le véhicule.","examples":[{"id":"0b8e2a6c-4d1f-4e3a-9b7c-1c2d3e4f5a6b","createdAt":"2026-11-02T09:12:44+01:00","expiresAt":"2026-11-03T09:12:44+01:00","consumedAt":null,"rentalId":null,"currency":"EUR","vehicle":{"id":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","name":"208 Allure","brand":"Peugeot","model":"208","vehicleType":"CITY","plate":"AB-123-CD","serialNumber":null},"period":{"startAt":"2026-11-10T10:00:00+01:00","endAt":"2026-11-15T10:00:00+01:00","timezone":"Europe/Paris","billedDays":5,"durationMinutes":7200},"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"promoCode":null,"isVatReverseCharge":false,"vatPercent":20,"totalHT":257,"vatAmount":51.4,"totalTTC":308.4,"lines":[{"key":"BASE","label":"Tarif de base","refId":null,"quantity":1,"unitPriceHT":210,"unitPriceTTC":252,"amountHT":210,"amountTTC":252,"ratePercent":null},{"key":"DURATION_DISCOUNT","label":"Réduction durée 5 jours","refId":null,"quantity":1,"unitPriceHT":-10.5,"unitPriceTTC":-12.6,"amountHT":-10.5,"amountTTC":-12.6,"ratePercent":5},{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null},{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null},{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"pricingBasis":{"dailyPrices":[{"date":"2026-11-10","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-11","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-12","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-13","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-14","seasonSlug":"basse","dailyPriceHT":42}],"leadTime":null},"choices":{"mileagePackages":[{"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"line":{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null}},{"mileage":{"mileagePackageId":"9d0e1f2a-3b4c-4d5e-8f60-819203142536","name":"Kilométrage illimité","isUnlimited":true,"includedKm":null,"overageRatePerKmHT":null},"line":{"key":"MILEAGE","label":"Forfait Kilométrage illimité","refId":null,"quantity":1,"unitPriceHT":75,"unitPriceTTC":90,"amountHT":75,"amountTTC":90,"ratePercent":null}}],"deductibles":[{"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"line":{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null}}],"options":[{"optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","name":"Siège enfant","maxBookableQuantity":2,"line":{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}}]}}],"type":"object","properties":{"id":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"description":"Identifiant du devis, à passer en `quoteId`.","type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"createdAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Instant du calcul.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"expiresAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Fin de la garantie de prix, 24 h après `createdAt` ; au-delà, `POST /rentals` répond 409 `QUOTE_EXPIRED`.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.expiresAt","typeLabel":"string\u003cdate-time>"},"consumedAt":{"oneOf":[{"type":"string","description":"Instant où une location a été créée avec ce devis ; null tant qu’il n’a pas servi.","format":"date-time","example":"2026-11-10T10:00:00+01:00","isRequired":true,"uniqueKey":"data.consumedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Instant où une location a été créée avec ce devis ; null tant qu’il n’a pas servi.","isRequired":true,"uniqueKey":"data.consumedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.consumedAt","typeLabel":"string\u003cdate-time> | null"},"rentalId":{"oneOf":[{"type":"string","description":"Location créée avec ce devis ; null tant qu’il n’a pas servi.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.rentalId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Location créée avec ce devis ; null tant qu’il n’a pas servi.","isRequired":true,"uniqueKey":"data.rentalId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.rentalId","typeLabel":"string\u003cuuid> | null"},"currency":{"description":"Devise ISO 4217 : tous les montants de la ressource sont dans cette devise.","examples":["EUR"],"type":"string","enum":["EUR","XPF","CHF","CAD","GBP","USD","XOF"],"isRequired":true,"uniqueKey":"data.currency","typeLabel":"enum\u003cstring>"},"vehicle":{"description":"Véhicule, vue réduite de `GET /vehicles/{vehicleId}`.","examples":[{"id":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","name":"208 Allure","brand":"Peugeot","model":"208","vehicleType":"CITY","plate":"AB-123-CD","serialNumber":null}],"type":"object","properties":{"id":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"description":"Identifiant du véhicule.","type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.vehicle.id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","description":"Nom d’usage donné par l’agence (ex. « 208 blanche ») ; null si absent.","maxLength":100,"isRequired":true,"uniqueKey":"data.vehicle.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom d’usage donné par l’agence (ex. « 208 blanche ») ; null si absent.","isRequired":true,"uniqueKey":"data.vehicle.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.vehicle.name","typeLabel":"string | null"},"brand":{"description":"Marque (ex. Peugeot).","type":"string","maxLength":50,"isRequired":true,"uniqueKey":"data.vehicle.brand","typeLabel":"string"},"model":{"description":"Modèle (ex. 208).","type":"string","maxLength":50,"isRequired":true,"uniqueKey":"data.vehicle.model","typeLabel":"string"},"vehicleType":{"description":"Type de véhicule : il fixe la famille et les champs applicables.","type":"string","enum":["CITY","COMPACT","CROSSOVER","SEDAN","BREAK","SUV","OFF_ROAD","PICKUP","MINIVAN","VAN","UTILITY","COUPE","CONVERTIBLE","SPORT","LUXURY","MOTORCYCLE","SCOOTER"],"isRequired":true,"uniqueKey":"data.vehicle.vehicleType","typeLabel":"enum\u003cstring>"},"plate":{"oneOf":[{"type":"string","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.","isRequired":true,"uniqueKey":"data.vehicle.plate.oneOf.0","typeLabel":"string"},{"type":"null","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.","isRequired":true,"uniqueKey":"data.vehicle.plate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.vehicle.plate","typeLabel":"string | null"},"serialNumber":{"oneOf":[{"type":"string","description":"Numéro de série (deux-roues non immatriculé, par exemple) ; null si absent.","isRequired":true,"uniqueKey":"data.vehicle.serialNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Numéro de série (deux-roues non immatriculé, par exemple) ; null si absent.","isRequired":true,"uniqueKey":"data.vehicle.serialNumber.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.vehicle.serialNumber","typeLabel":"string | null"}},"required":["id","name","brand","model","vehicleType","plate","serialNumber"],"isRequired":true,"uniqueKey":"data.vehicle","typeLabel":"object"},"period":{"description":"Période contractuelle, bornes à l’heure de l’agence.","examples":[{"startAt":"2026-11-10T10:00:00+01:00","endAt":"2026-11-15T10:00:00+01:00","timezone":"Europe/Paris","billedDays":5,"durationMinutes":7200}],"type":"object","properties":{"startAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Début contractuel, à l’heure de l’agence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.period.startAt","typeLabel":"string\u003cdate-time>"},"endAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Fin contractuelle, à l’heure de l’agence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.period.endAt","typeLabel":"string\u003cdate-time>"},"timezone":{"description":"Fuseau horaire IANA de l’agence.","examples":["Europe/Paris"],"type":"string","minLength":1,"isRequired":true,"uniqueKey":"data.period.timezone","typeLabel":"string"},"billedDays":{"description":"Jours facturés : tranches de 24 h entamées, sans compter une dernière tranche d’au plus `toleranceHours` heures (`GET /organization`) ; 1 au minimum.","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.period.billedDays","typeLabel":"integer"},"durationMinutes":{"description":"Durée exacte entre `startAt` et `endAt`, en minutes.","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.period.durationMinutes","typeLabel":"integer"}},"required":["startAt","endAt","timezone","billedDays","durationMinutes"],"isRequired":true,"uniqueKey":"data.period","typeLabel":"object"},"mileage":{"description":"Kilométrage inclus et prix du dépassement.","examples":[{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25}],"type":"object","properties":{"mileagePackageId":{"oneOf":[{"type":"string","description":"Forfait kilométrique du catalogue (`GET /mileage-packages`) ; null sans forfait.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.mileage.mileagePackageId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Forfait kilométrique du catalogue (`GET /mileage-packages`) ; null sans forfait.","isRequired":true,"uniqueKey":"data.mileage.mileagePackageId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.mileage.mileagePackageId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom du forfait ; null sans forfait.","maxLength":100,"isRequired":true,"uniqueKey":"data.mileage.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom du forfait ; null sans forfait.","isRequired":true,"uniqueKey":"data.mileage.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.mileage.name","typeLabel":"string | null"},"isUnlimited":{"description":"true : aucun plafond ; `includedKm` et `overageRatePerKmHT` valent alors null.","type":"boolean","isRequired":true,"uniqueKey":"data.mileage.isUnlimited","typeLabel":"boolean"},"includedKm":{"oneOf":[{"type":"integer","description":"Kilomètres inclus pour toute la période, pas par jour ; null si illimité.","minimum":0,"isRequired":true,"uniqueKey":"data.mileage.includedKm.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Kilomètres inclus pour toute la période, pas par jour ; null si illimité.","isRequired":true,"uniqueKey":"data.mileage.includedKm.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.mileage.includedKm","typeLabel":"integer | null"},"overageRatePerKmHT":{"oneOf":[{"type":"number","description":"Prix HT de chaque kilomètre au-delà de `includedKm`, facturé au retour ; null si illimité ou sans tarif de dépassement.","maximum":999999.9999,"minimum":0,"isRequired":true,"uniqueKey":"data.mileage.overageRatePerKmHT.oneOf.0","typeLabel":"number"},{"type":"null","description":"Prix HT de chaque kilomètre au-delà de `includedKm`, facturé au retour ; null si illimité ou sans tarif de dépassement.","isRequired":true,"uniqueKey":"data.mileage.overageRatePerKmHT.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.mileage.overageRatePerKmHT","typeLabel":"number | null"}},"required":["mileagePackageId","name","isUnlimited","includedKm","overageRatePerKmHT"],"isRequired":true,"uniqueKey":"data.mileage","typeLabel":"object"},"deductible":{"oneOf":[{"type":"object","description":"Franchise retenue ; null sans franchise.","required":["deductibleId","name","description","excessAmount"],"example":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"properties":{"deductibleId":{"oneOf":[{"type":"string","description":"Franchise du catalogue (`GET /deductibles`) ; null si elle a été supprimée depuis.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.deductible.oneOf.0.deductibleId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Franchise du catalogue (`GET /deductibles`) ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.deductible.oneOf.0.deductibleId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.deductibleId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom de la franchise ; null si elle a été supprimée depuis.","maxLength":200,"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom de la franchise ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.deductible.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Description de la franchise ; null si absente.","maxLength":2000,"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Description de la franchise ; null si absente.","isRequired":true,"uniqueKey":"data.deductible.oneOf.0.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.description","typeLabel":"string | null"},"excessAmount":{"description":"Reste à charge du client en cas de sinistre, tel que fixé par le loueur, sans TVA appliquée. Jamais facturé ni compris dans les totaux : le prix de la franchise retenue est la ligne `DEDUCTIBLE` de `lines`.","type":"number","minimum":0,"isRequired":true,"uniqueKey":"data.deductible.oneOf.0.excessAmount","typeLabel":"number"}},"isRequired":true,"uniqueKey":"data.deductible.oneOf.0","typeLabel":"object"},{"type":"null","description":"Franchise retenue ; null sans franchise.","isRequired":true,"uniqueKey":"data.deductible.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deductible","typeLabel":"object | null"},"deposit":{"oneOf":[{"type":"object","description":"Caution retenue ; null sans caution.","required":["depositId","name","depositAmount"],"example":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"properties":{"depositId":{"oneOf":[{"type":"string","description":"Caution du catalogue (`GET /deposits`) ; null si elle a été supprimée depuis.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.deposit.oneOf.0.depositId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Caution du catalogue (`GET /deposits`) ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.deposit.oneOf.0.depositId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit.oneOf.0.depositId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom de la caution ; null si elle a été supprimée depuis.","maxLength":200,"isRequired":true,"uniqueKey":"data.deposit.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom de la caution ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.deposit.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit.oneOf.0.name","typeLabel":"string | null"},"depositAmount":{"description":"Caution demandée au client, telle que fixée par le loueur, sans TVA appliquée. Hors `totalTTC` et hors `balance` : elle s’encaisse à part (paiement `DEPOSIT`).","type":"number","minimum":0,"isRequired":true,"uniqueKey":"data.deposit.oneOf.0.depositAmount","typeLabel":"number"}},"isRequired":true,"uniqueKey":"data.deposit.oneOf.0","typeLabel":"object"},{"type":"null","description":"Caution retenue ; null sans caution.","isRequired":true,"uniqueKey":"data.deposit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit","typeLabel":"object | null"},"promoCode":{"oneOf":[{"type":"string","description":"Code promo appliqué, en majuscules ; null sans code.","maxLength":50,"isRequired":true,"uniqueKey":"data.promoCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Code promo appliqué, en majuscules ; null sans code.","isRequired":true,"uniqueKey":"data.promoCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.promoCode","typeLabel":"string | null"},"isVatReverseCharge":{"description":"true : autoliquidation de la TVA, `vatPercent` vaut 0 et `totalTTC` = `totalHT`.","type":"boolean","isRequired":true,"uniqueKey":"data.isVatReverseCharge","typeLabel":"boolean"},"vatPercent":{"description":"Taux de TVA appliqué, en pourcentage (20 = 20 %) ; 0 en autoliquidation ou pour une agence exonérée. Au plus 2 décimales.","type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.vatPercent","typeLabel":"number"},"totalHT":{"description":"Total hors taxes : somme des `lines[].amountHT`.","type":"number","isRequired":true,"uniqueKey":"data.totalHT","typeLabel":"number"},"vatAmount":{"description":"Montant de la TVA : `totalTTC − totalHT`.","type":"number","isRequired":true,"uniqueKey":"data.vatAmount","typeLabel":"number"},"totalTTC":{"description":"Total toutes taxes comprises : somme des `lines[].amountTTC`. Caution et franchise n’y sont jamais comptées.","type":"number","isRequired":true,"uniqueKey":"data.totalTTC","typeLabel":"number"},"lines":{"description":"Détail du prix, une ligne par règle appliquée.","maxItems":100,"type":"array","items":{"description":"Ligne de prix d’une offre, d’un devis ou d’une location.","examples":[{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"type":"object","properties":{"key":{"description":"Règle qui a produit la ligne : `BASE` (prix de location), `LEAD_TIME_ADJUSTMENT` (délai de réservation), `DURATION_DISCOUNT` (remise de durée), `COMMERCIAL_DISCOUNT` (remise commerciale), `WEEKEND_SURCHARGE` et `SHORT_DURATION_SURCHARGE` (majorations), `MILEAGE` (forfait kilométrique), `DEDUCTIBLE` (prix de la franchise retenue), `OPTION`, `CHARGE` (frais ou remise saisis), `PROMO` (code promo), `MILEAGE_OVERAGE` (dépassement kilométrique au retour), `MODIFICATION` (écart de prix d’une modification de la location).","type":"string","enum":["BASE","LEAD_TIME_ADJUSTMENT","DURATION_DISCOUNT","COMMERCIAL_DISCOUNT","WEEKEND_SURCHARGE","SHORT_DURATION_SURCHARGE","MILEAGE","DEDUCTIBLE","OPTION","CHARGE","PROMO","MILEAGE_OVERAGE","MODIFICATION"],"isRequired":true,"uniqueKey":"data.lines.items.[INDEX].key","typeLabel":"enum\u003cstring>"},"label":{"description":"Libellé affichable ; ne pas l’analyser, lire `key`.","type":"string","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].label","typeLabel":"string"},"refId":{"oneOf":[{"type":"string","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","format":"uuid","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].refId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].refId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.lines.items.[INDEX].refId","typeLabel":"string\u003cuuid> | null"},"quantity":{"description":"Nombre d’exemplaires (option) ; 1 pour les autres lignes.","type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.lines.items.[INDEX].quantity","typeLabel":"integer"},"unitPriceHT":{"description":"Prix HT d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountHT` sinon.","type":"number","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].unitPriceHT","typeLabel":"number"},"unitPriceTTC":{"description":"Prix TTC d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountTTC` sinon.","type":"number","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].unitPriceTTC","typeLabel":"number"},"amountHT":{"description":"Montant HT de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].amountHT","typeLabel":"number"},"amountTTC":{"description":"Montant TTC de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].amountTTC","typeLabel":"number"},"ratePercent":{"oneOf":[{"type":"number","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"data.lines.items.[INDEX].ratePercent.oneOf.0","typeLabel":"number"},{"type":"null","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","isRequired":true,"uniqueKey":"data.lines.items.[INDEX].ratePercent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.lines.items.[INDEX].ratePercent","typeLabel":"number | null"}},"required":["key","label","refId","quantity","unitPriceHT","unitPriceTTC","amountHT","amountTTC","ratePercent"],"uniqueKey":"data.lines.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.lines","typeLabel":"object[]"},"pricingBasis":{"description":"Explication du prix : base journalière et délai de réservation. Elle explique les lignes sans permettre de recalculer le total, qui se lit dans `lines`.","examples":[{"dailyPrices":[{"date":"2026-11-10","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-11","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-12","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-13","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-14","seasonSlug":"basse","dailyPriceHT":42}],"leadTime":null}],"type":"object","properties":{"dailyPrices":{"description":"Un élément par jour facturé.","maxItems":1095,"type":"array","items":{"type":"object","properties":{"date":{"description":"Jour facturé, à l’heure de l’agence.","type":"string","format":"date","isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX].date","typeLabel":"string\u003cdate>"},"seasonSlug":{"oneOf":[{"type":"string","description":"Saison du jour (`GET /seasons`) ; null sans saison.","isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX].seasonSlug.oneOf.0","typeLabel":"string"},{"type":"null","description":"Saison du jour (`GET /seasons`) ; null sans saison.","isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX].seasonSlug.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX].seasonSlug","typeLabel":"string | null"},"dailyPriceHT":{"description":"Prix HT du jour au catalogue, avant facteur de délai.","type":"number","minimum":0,"isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX].dailyPriceHT","typeLabel":"number"}},"required":["date","seasonSlug","dailyPriceHT"],"uniqueKey":"data.pricingBasis.dailyPrices.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.pricingBasis.dailyPrices","typeLabel":"object[]"},"leadTime":{"oneOf":[{"type":"object","description":"Palier de délai de réservation appliqué ; null sans palier.","required":["leadTimeTierId","leadDays","priceFactors"],"properties":{"leadTimeTierId":{"description":"Palier de délai (`GET /lead-time-tiers`).","type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.leadTimeTierId","typeLabel":"string\u003cuuid>"},"leadDays":{"description":"Jours calendaires entre le calcul du prix et le départ.","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.leadDays","typeLabel":"integer"},"priceFactors":{"description":"Facteur appliqué au prix journalier de chaque saison.","maxItems":10,"type":"array","items":{"type":"object","properties":{"seasonSlug":{"type":"string","isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.priceFactors.items.[INDEX].seasonSlug","typeLabel":"string"},"priceFactor":{"description":"Facteur du prix journalier (1 = inchangé). Au plus 4 décimales.","type":"number","minimum":0.1,"maximum":10,"isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.priceFactors.items.[INDEX].priceFactor","typeLabel":"number"}},"required":["seasonSlug","priceFactor"],"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.priceFactors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0.priceFactors","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.0","typeLabel":"object"},{"type":"null","description":"Palier de délai de réservation appliqué ; null sans palier.","isRequired":true,"uniqueKey":"data.pricingBasis.leadTime.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.pricingBasis.leadTime","typeLabel":"object | null"}},"required":["dailyPrices","leadTime"],"isRequired":true,"uniqueKey":"data.pricingBasis","typeLabel":"object"},"choices":{"description":"Prix de chaque forfait, franchise et option possible pour ce véhicule et cette période ; pour en retenir un autre, créez un nouveau devis. Le stock n’est pas réservé.","type":"object","properties":{"mileagePackages":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"mileage":{"description":"Kilométrage inclus et prix du dépassement.","examples":[{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25}],"type":"object","properties":{"mileagePackageId":{"oneOf":[{"type":"string","description":"Forfait kilométrique du catalogue (`GET /mileage-packages`) ; null sans forfait.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.mileagePackageId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Forfait kilométrique du catalogue (`GET /mileage-packages`) ; null sans forfait.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.mileagePackageId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.mileagePackageId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom du forfait ; null sans forfait.","maxLength":100,"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom du forfait ; null sans forfait.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.name","typeLabel":"string | null"},"isUnlimited":{"description":"true : aucun plafond ; `includedKm` et `overageRatePerKmHT` valent alors null.","type":"boolean","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.isUnlimited","typeLabel":"boolean"},"includedKm":{"oneOf":[{"type":"integer","description":"Kilomètres inclus pour toute la période, pas par jour ; null si illimité.","minimum":0,"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.includedKm.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Kilomètres inclus pour toute la période, pas par jour ; null si illimité.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.includedKm.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.includedKm","typeLabel":"integer | null"},"overageRatePerKmHT":{"oneOf":[{"type":"number","description":"Prix HT de chaque kilomètre au-delà de `includedKm`, facturé au retour ; null si illimité ou sans tarif de dépassement.","maximum":999999.9999,"minimum":0,"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.overageRatePerKmHT.oneOf.0","typeLabel":"number"},{"type":"null","description":"Prix HT de chaque kilomètre au-delà de `includedKm`, facturé au retour ; null si illimité ou sans tarif de dépassement.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.overageRatePerKmHT.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage.overageRatePerKmHT","typeLabel":"number | null"}},"required":["mileagePackageId","name","isUnlimited","includedKm","overageRatePerKmHT"],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].mileage","typeLabel":"object"},"line":{"description":"Ligne `MILEAGE` que ce forfait produirait.","examples":[{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"type":"object","properties":{"key":{"description":"Règle qui a produit la ligne : `BASE` (prix de location), `LEAD_TIME_ADJUSTMENT` (délai de réservation), `DURATION_DISCOUNT` (remise de durée), `COMMERCIAL_DISCOUNT` (remise commerciale), `WEEKEND_SURCHARGE` et `SHORT_DURATION_SURCHARGE` (majorations), `MILEAGE` (forfait kilométrique), `DEDUCTIBLE` (prix de la franchise retenue), `OPTION`, `CHARGE` (frais ou remise saisis), `PROMO` (code promo), `MILEAGE_OVERAGE` (dépassement kilométrique au retour), `MODIFICATION` (écart de prix d’une modification de la location).","type":"string","enum":["BASE","LEAD_TIME_ADJUSTMENT","DURATION_DISCOUNT","COMMERCIAL_DISCOUNT","WEEKEND_SURCHARGE","SHORT_DURATION_SURCHARGE","MILEAGE","DEDUCTIBLE","OPTION","CHARGE","PROMO","MILEAGE_OVERAGE","MODIFICATION"],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.key","typeLabel":"enum\u003cstring>"},"label":{"description":"Libellé affichable ; ne pas l’analyser, lire `key`.","type":"string","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.label","typeLabel":"string"},"refId":{"oneOf":[{"type":"string","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","format":"uuid","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.refId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.refId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.refId","typeLabel":"string\u003cuuid> | null"},"quantity":{"description":"Nombre d’exemplaires (option) ; 1 pour les autres lignes.","type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.quantity","typeLabel":"integer"},"unitPriceHT":{"description":"Prix HT d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountHT` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.unitPriceHT","typeLabel":"number"},"unitPriceTTC":{"description":"Prix TTC d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountTTC` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.unitPriceTTC","typeLabel":"number"},"amountHT":{"description":"Montant HT de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.amountHT","typeLabel":"number"},"amountTTC":{"description":"Montant TTC de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.amountTTC","typeLabel":"number"},"ratePercent":{"oneOf":[{"type":"number","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.ratePercent.oneOf.0","typeLabel":"number"},{"type":"null","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.ratePercent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line.ratePercent","typeLabel":"number | null"}},"required":["key","label","refId","quantity","unitPriceHT","unitPriceTTC","amountHT","amountTTC","ratePercent"],"isRequired":true,"uniqueKey":"data.choices.mileagePackages.items.[INDEX].line","typeLabel":"object"}},"required":["mileage","line"],"uniqueKey":"data.choices.mileagePackages.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.choices.mileagePackages","typeLabel":"object[]"},"deductibles":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"deductible":{"description":"Franchise retenue, figée au moment du calcul.","examples":[{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500}],"type":"object","properties":{"deductibleId":{"oneOf":[{"type":"string","description":"Franchise du catalogue (`GET /deductibles`) ; null si elle a été supprimée depuis.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.deductibleId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Franchise du catalogue (`GET /deductibles`) ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.deductibleId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.deductibleId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom de la franchise ; null si elle a été supprimée depuis.","maxLength":200,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom de la franchise ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Description de la franchise ; null si absente.","maxLength":2000,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Description de la franchise ; null si absente.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.description","typeLabel":"string | null"},"excessAmount":{"description":"Reste à charge du client en cas de sinistre, tel que fixé par le loueur, sans TVA appliquée. Jamais facturé ni compris dans les totaux : le prix de la franchise retenue est la ligne `DEDUCTIBLE` de `lines`.","type":"number","minimum":0,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible.excessAmount","typeLabel":"number"}},"required":["deductibleId","name","description","excessAmount"],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deductible","typeLabel":"object"},"deposit":{"oneOf":[{"type":"object","description":"Caution qui serait retenue avec cette franchise ; null sans caution.","required":["depositId","name","depositAmount"],"example":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"properties":{"depositId":{"oneOf":[{"type":"string","description":"Caution du catalogue (`GET /deposits`) ; null si elle a été supprimée depuis.","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.depositId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Caution du catalogue (`GET /deposits`) ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.depositId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.depositId","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","description":"Nom de la caution ; null si elle a été supprimée depuis.","maxLength":200,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nom de la caution ; null si elle a été supprimée depuis.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.name","typeLabel":"string | null"},"depositAmount":{"description":"Caution demandée au client, telle que fixée par le loueur, sans TVA appliquée. Hors `totalTTC` et hors `balance` : elle s’encaisse à part (paiement `DEPOSIT`).","type":"number","minimum":0,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0.depositAmount","typeLabel":"number"}},"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.0","typeLabel":"object"},{"type":"null","description":"Caution qui serait retenue avec cette franchise ; null sans caution.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].deposit","typeLabel":"object | null"},"line":{"description":"Ligne `DEDUCTIBLE` que cette franchise produirait.","examples":[{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"type":"object","properties":{"key":{"description":"Règle qui a produit la ligne : `BASE` (prix de location), `LEAD_TIME_ADJUSTMENT` (délai de réservation), `DURATION_DISCOUNT` (remise de durée), `COMMERCIAL_DISCOUNT` (remise commerciale), `WEEKEND_SURCHARGE` et `SHORT_DURATION_SURCHARGE` (majorations), `MILEAGE` (forfait kilométrique), `DEDUCTIBLE` (prix de la franchise retenue), `OPTION`, `CHARGE` (frais ou remise saisis), `PROMO` (code promo), `MILEAGE_OVERAGE` (dépassement kilométrique au retour), `MODIFICATION` (écart de prix d’une modification de la location).","type":"string","enum":["BASE","LEAD_TIME_ADJUSTMENT","DURATION_DISCOUNT","COMMERCIAL_DISCOUNT","WEEKEND_SURCHARGE","SHORT_DURATION_SURCHARGE","MILEAGE","DEDUCTIBLE","OPTION","CHARGE","PROMO","MILEAGE_OVERAGE","MODIFICATION"],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.key","typeLabel":"enum\u003cstring>"},"label":{"description":"Libellé affichable ; ne pas l’analyser, lire `key`.","type":"string","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.label","typeLabel":"string"},"refId":{"oneOf":[{"type":"string","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","format":"uuid","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.refId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.refId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.refId","typeLabel":"string\u003cuuid> | null"},"quantity":{"description":"Nombre d’exemplaires (option) ; 1 pour les autres lignes.","type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.quantity","typeLabel":"integer"},"unitPriceHT":{"description":"Prix HT d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountHT` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.unitPriceHT","typeLabel":"number"},"unitPriceTTC":{"description":"Prix TTC d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountTTC` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.unitPriceTTC","typeLabel":"number"},"amountHT":{"description":"Montant HT de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.amountHT","typeLabel":"number"},"amountTTC":{"description":"Montant TTC de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.amountTTC","typeLabel":"number"},"ratePercent":{"oneOf":[{"type":"number","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.ratePercent.oneOf.0","typeLabel":"number"},{"type":"null","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.ratePercent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line.ratePercent","typeLabel":"number | null"}},"required":["key","label","refId","quantity","unitPriceHT","unitPriceTTC","amountHT","amountTTC","ratePercent"],"isRequired":true,"uniqueKey":"data.choices.deductibles.items.[INDEX].line","typeLabel":"object"}},"required":["deductible","deposit","line"],"uniqueKey":"data.choices.deductibles.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.choices.deductibles","typeLabel":"object[]"},"options":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"optionId":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].optionId","typeLabel":"string\u003cuuid>"},"name":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].name","typeLabel":"string"},"maxBookableQuantity":{"description":"Quantité réservable sur la période : stock restant, borné par la quantité maximale de l’option.","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].maxBookableQuantity","typeLabel":"integer"},"line":{"description":"Ligne `OPTION` pour une unité.","examples":[{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"type":"object","properties":{"key":{"description":"Règle qui a produit la ligne : `BASE` (prix de location), `LEAD_TIME_ADJUSTMENT` (délai de réservation), `DURATION_DISCOUNT` (remise de durée), `COMMERCIAL_DISCOUNT` (remise commerciale), `WEEKEND_SURCHARGE` et `SHORT_DURATION_SURCHARGE` (majorations), `MILEAGE` (forfait kilométrique), `DEDUCTIBLE` (prix de la franchise retenue), `OPTION`, `CHARGE` (frais ou remise saisis), `PROMO` (code promo), `MILEAGE_OVERAGE` (dépassement kilométrique au retour), `MODIFICATION` (écart de prix d’une modification de la location).","type":"string","enum":["BASE","LEAD_TIME_ADJUSTMENT","DURATION_DISCOUNT","COMMERCIAL_DISCOUNT","WEEKEND_SURCHARGE","SHORT_DURATION_SURCHARGE","MILEAGE","DEDUCTIBLE","OPTION","CHARGE","PROMO","MILEAGE_OVERAGE","MODIFICATION"],"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.key","typeLabel":"enum\u003cstring>"},"label":{"description":"Libellé affichable ; ne pas l’analyser, lire `key`.","type":"string","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.label","typeLabel":"string"},"refId":{"oneOf":[{"type":"string","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","format":"uuid","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.refId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Élément à l’origine de la ligne : `optionId` pour `OPTION`, identifiant du frais pour `CHARGE` et `MILEAGE_OVERAGE` d’une location ; null sinon.","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.refId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.refId","typeLabel":"string\u003cuuid> | null"},"quantity":{"description":"Nombre d’exemplaires (option) ; 1 pour les autres lignes.","type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.quantity","typeLabel":"integer"},"unitPriceHT":{"description":"Prix HT d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountHT` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.unitPriceHT","typeLabel":"number"},"unitPriceTTC":{"description":"Prix TTC d’un exemplaire pour toute la période (`OPTION`) ; égal à `amountTTC` sinon.","type":"number","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.unitPriceTTC","typeLabel":"number"},"amountHT":{"description":"Montant HT de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.amountHT","typeLabel":"number"},"amountTTC":{"description":"Montant TTC de la ligne, signé : négatif pour une remise.","type":"number","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.amountTTC","typeLabel":"number"},"ratePercent":{"oneOf":[{"type":"number","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.ratePercent.oneOf.0","typeLabel":"number"},{"type":"null","description":"Pourcentage appliqué (20 = 20 %) pour une remise de durée, une majoration, une franchise ou un forfait tarifés en pourcentage ; null pour les autres lignes et pour un montant saisi ou offert.","isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.ratePercent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line.ratePercent","typeLabel":"number | null"}},"required":["key","label","refId","quantity","unitPriceHT","unitPriceTTC","amountHT","amountTTC","ratePercent"],"isRequired":true,"uniqueKey":"data.choices.options.items.[INDEX].line","typeLabel":"object"}},"required":["optionId","name","maxBookableQuantity","line"],"uniqueKey":"data.choices.options.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.choices.options","typeLabel":"object[]"}},"required":["mileagePackages","deductibles","options"],"isRequired":true,"uniqueKey":"data.choices","typeLabel":"object"}},"required":["id","createdAt","expiresAt","consumedAt","rentalId","currency","vehicle","period","mileage","deductible","deposit","promoCode","isVatReverseCharge","vatPercent","totalHT","vatAmount","totalTTC","lines","pricingBasis","choices"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"0b8e2a6c-4d1f-4e3a-9b7c-1c2d3e4f5a6b","createdAt":"2026-11-02T09:12:44+01:00","expiresAt":"2026-11-03T09:12:44+01:00","consumedAt":null,"rentalId":null,"currency":"EUR","vehicle":{"id":"3b1f5c2a-8d4e-4f6a-9b7c-2e5d8a1f4c63","name":"208 Allure","brand":"Peugeot","model":"208","vehicleType":"CITY","plate":"AB-123-CD","serialNumber":null},"period":{"startAt":"2026-11-10T10:00:00+01:00","endAt":"2026-11-15T10:00:00+01:00","timezone":"Europe/Paris","billedDays":5,"durationMinutes":7200},"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"promoCode":null,"isVatReverseCharge":false,"vatPercent":20,"totalHT":257,"vatAmount":51.4,"totalTTC":308.4,"lines":[{"key":"BASE","label":"Tarif de base","refId":null,"quantity":1,"unitPriceHT":210,"unitPriceTTC":252,"amountHT":210,"amountTTC":252,"ratePercent":null},{"key":"DURATION_DISCOUNT","label":"Réduction durée 5 jours","refId":null,"quantity":1,"unitPriceHT":-10.5,"unitPriceTTC":-12.6,"amountHT":-10.5,"amountTTC":-12.6,"ratePercent":5},{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null},{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null},{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}],"pricingBasis":{"dailyPrices":[{"date":"2026-11-10","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-11","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-12","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-13","seasonSlug":"basse","dailyPriceHT":42},{"date":"2026-11-14","seasonSlug":"basse","dailyPriceHT":42}],"leadTime":null},"choices":{"mileagePackages":[{"mileage":{"mileagePackageId":"5b7c9d1e-2f3a-4b5c-8d6e-7f8091a2b3c4","name":"200 km/jour","isUnlimited":false,"includedKm":1000,"overageRatePerKmHT":0.25},"line":{"key":"MILEAGE","label":"Forfait 200 km/jour","refId":null,"quantity":1,"unitPriceHT":0,"unitPriceTTC":0,"amountHT":0,"amountTTC":0,"ratePercent":null}},{"mileage":{"mileagePackageId":"9d0e1f2a-3b4c-4d5e-8f60-819203142536","name":"Kilométrage illimité","isUnlimited":true,"includedKm":null,"overageRatePerKmHT":null},"line":{"key":"MILEAGE","label":"Forfait Kilométrage illimité","refId":null,"quantity":1,"unitPriceHT":75,"unitPriceTTC":90,"amountHT":75,"amountTTC":90,"ratePercent":null}}],"deductibles":[{"deductible":{"deductibleId":"2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f","name":"Franchise réduite","description":"Reste à charge réduit en cas de sinistre.","excessAmount":500},"deposit":{"depositId":"4e5f6a7b-8c9d-4e0f-9a1b-3c4d5e6f7081","name":"Caution citadine","depositAmount":800},"line":{"key":"DEDUCTIBLE","label":"Franchise réduite","refId":null,"quantity":1,"unitPriceHT":37.5,"unitPriceTTC":45,"amountHT":37.5,"amountTTC":45,"ratePercent":null}}],"options":[{"optionId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","name":"Siège enfant","maxBookableQuantity":2,"line":{"key":"OPTION","label":"Siège enfant","refId":"6a7b8c9d-0e1f-4a2b-9c3d-5e6f70819203","quantity":1,"unitPriceHT":20,"unitPriceTTC":24,"amountHT":20,"amountTTC":24,"ratePercent":null}}]}}}}},"exampleType":"examples"}},"exampleType":"examples"},"3f2d5ab9-54af-4401-9c1d-a9d3012e7101":{"description":"`MALFORMED_REQUEST`, `VALIDATION_FAILED`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/malformed-request","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Corps de requête illisible","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"number","const":400,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"number"},"code":{"type":"string","const":"MALFORMED_REQUEST","isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","errors"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/validation-failed","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Requête invalide","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"number","const":400,"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"number"},"code":{"type":"string","const":"VALIDATION_FAILED","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.requestId","typeLabel":"string"},"errors":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.1.errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/malformed-request","title":"Corps de requête illisible","status":400,"code":"MALFORMED_REQUEST","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4ed9fc58-da53-4f22-9b9e-0c1627005a0e":{"description":"`API_KEY_DISABLED`, `API_KEY_EXPIRED`, `API_KEY_INVALID`, `API_KEY_MISSING`, `API_KEY_REVOKED`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}},"WWW-Authenticate":{"description":"Schéma d’authentification attendu (`Bearer`), avec `error=\"invalid_token\"` pour une clé refusée.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/api-key-disabled","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Clé API désactivée","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"number","const":401,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"number"},"code":{"type":"string","const":"API_KEY_DISABLED","isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/api-key-expired","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Clé API expirée","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"number","const":401,"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"number"},"code":{"type":"string","const":"API_KEY_EXPIRED","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/api-key-invalid","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"string"},"title":{"type":"string","const":"Clé API invalide","isRequired":true,"uniqueKey":"oneOf.2.title","typeLabel":"string"},"status":{"type":"number","const":401,"isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"number"},"code":{"type":"string","const":"API_KEY_INVALID","isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/api-key-missing","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"string"},"title":{"type":"string","const":"Clé API absente","isRequired":true,"uniqueKey":"oneOf.3.title","typeLabel":"string"},"status":{"type":"number","const":401,"isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"number"},"code":{"type":"string","const":"API_KEY_MISSING","isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/api-key-revoked","isRequired":true,"uniqueKey":"oneOf.4.type","typeLabel":"string"},"title":{"type":"string","const":"Clé API révoquée","isRequired":true,"uniqueKey":"oneOf.4.title","typeLabel":"string"},"status":{"type":"number","const":401,"isRequired":true,"uniqueKey":"oneOf.4.status","typeLabel":"number"},"code":{"type":"string","const":"API_KEY_REVOKED","isRequired":true,"uniqueKey":"oneOf.4.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.4","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/api-key-disabled","title":"Clé API désactivée","status":401,"code":"API_KEY_DISABLED","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a245eb55-1dca-4cb5-a796-ee9c4b07e459":{"description":"`FEATURE_NOT_AVAILABLE`, `INSUFFICIENT_SCOPE`, `ORGANIZATION_SUSPENDED`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","required":["type","title","status","code","detail","instance","requestId","feature"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/feature-not-available","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Fonctionnalité non incluse","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"number","const":403,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"number"},"code":{"type":"string","const":"FEATURE_NOT_AVAILABLE","isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.requestId","typeLabel":"string"},"feature":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.feature","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","requiredScopes"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/insufficient-scope","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Scope insuffisant","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"number","const":403,"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"number"},"code":{"type":"string","const":"INSUFFICIENT_SCOPE","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.requestId","typeLabel":"string"},"requiredScopes":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["offers.read","quotes.write","rentals.read","rentals.write","rentals.operate","rentals.delete","payments.write","payments.refund","customers.read","customers.write","customers.delete","vehicles.read","vehicles.write","vehicles.delete","catalog.read","catalog.write","pricing.read","pricing.write","maintenance.read","maintenance.write"],"uniqueKey":"oneOf.1.requiredScopes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"oneOf.1.requiredScopes","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/organization-suspended","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"string"},"title":{"type":"string","const":"Organisation suspendue","isRequired":true,"uniqueKey":"oneOf.2.title","typeLabel":"string"},"status":{"type":"number","const":403,"isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"number"},"code":{"type":"string","const":"ORGANIZATION_SUSPENDED","isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/feature-not-available","title":"Fonctionnalité non incluse","status":403,"code":"FEATURE_NOT_AVAILABLE","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","feature":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"55b59348-ba8f-43bb-92cb-f636eb8b6709":{"description":"`IDEMPOTENCY_ALREADY_APPLIED`, `IDEMPOTENCY_IN_FLIGHT`, `OPTION_UNAVAILABLE`, `VEHICLE_UNAVAILABLE`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Secondes à attendre avant de rejouer la requête.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","required":["type","title","status","code","detail","instance","requestId","resourceId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/idempotency-already-applied","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Écriture déjà appliquée","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"number","const":409,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"number"},"code":{"type":"string","const":"IDEMPOTENCY_ALREADY_APPLIED","isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.requestId","typeLabel":"string"},"resourceId":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"oneOf.0.resourceId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.0.resourceId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.resourceId","typeLabel":"string\u003cuuid> | null"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/idempotency-in-flight","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Requête identique en cours","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"number","const":409,"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"number"},"code":{"type":"string","const":"IDEMPOTENCY_IN_FLIGHT","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","optionId","availableQuantity"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/option-unavailable","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"string"},"title":{"type":"string","const":"Option en rupture","isRequired":true,"uniqueKey":"oneOf.2.title","typeLabel":"string"},"status":{"type":"number","const":409,"isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"number"},"code":{"type":"string","const":"OPTION_UNAVAILABLE","isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.requestId","typeLabel":"string"},"optionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"oneOf.2.optionId","typeLabel":"string\u003cuuid>"},"availableQuantity":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"oneOf.2.availableQuantity","typeLabel":"integer"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","reasons","conflicts","overdueOperations"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/vehicle-unavailable","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"string"},"title":{"type":"string","const":"Véhicule indisponible","isRequired":true,"uniqueKey":"oneOf.3.title","typeLabel":"string"},"status":{"type":"number","const":409,"isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"number"},"code":{"type":"string","const":"VEHICLE_UNAVAILABLE","isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.requestId","typeLabel":"string"},"reasons":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["BOOKED","BLOCKED","BUFFER","INACTIVE","ARCHIVED","BREAKDOWN","MAINTENANCE_OVERDUE","NO_PRICING_CATEGORY"],"uniqueKey":"oneOf.3.reasons.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"oneOf.3.reasons","typeLabel":"enum\u003cstring>[]"},"conflicts":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["RENTAL","VEHICLE_BLOCK"],"isRequired":true,"uniqueKey":"oneOf.3.conflicts.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"startAt":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.conflicts.items.[INDEX].startAt","typeLabel":"string"},"endAt":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.conflicts.items.[INDEX].endAt","typeLabel":"string"}},"required":["kind","startAt","endAt"],"uniqueKey":"oneOf.3.conflicts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.3.conflicts","typeLabel":"object[]"},"overdueOperations":{"maxItems":50,"type":"array","items":{"type":"string","uniqueKey":"oneOf.3.overdueOperations.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.3.overdueOperations","typeLabel":"string[]"}},"uniqueKey":"oneOf.3","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/idempotency-already-applied","title":"Écriture déjà appliquée","status":409,"code":"IDEMPOTENCY_ALREADY_APPLIED","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","resourceId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"exampleType":"generated"},"8d9f39c3-ad76-4d12-ba59-b70d2696001c":{"description":"`PAYLOAD_TOO_LARGE`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/payload-too-large","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Corps trop volumineux","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":413,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"PAYLOAD_TOO_LARGE","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"maxBytes":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"maxBytes","typeLabel":"integer"}},"required":["type","title","status","code","detail","instance","requestId","maxBytes"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/payload-too-large","title":"Corps trop volumineux","status":413,"code":"PAYLOAD_TOO_LARGE","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","maxBytes":2}}},"exampleType":"generated"}},"exampleType":"generated"},"3f772884-9cae-46db-88b7-8b11afff1d75":{"description":"`UNSUPPORTED_MEDIA_TYPE`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/unsupported-media-type","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Type de contenu non pris en charge","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":415,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"UNSUPPORTED_MEDIA_TYPE","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"accepted":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"accepted.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"accepted","typeLabel":"string[]"}},"required":["type","title","status","code","detail","instance","requestId","accepted"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/unsupported-media-type","title":"Type de contenu non pris en charge","status":415,"code":"UNSUPPORTED_MEDIA_TYPE","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","accepted":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"7c3f19be-4726-4a5c-8522-ef2f3ab0d77d":{"description":"`BOOKING_RULE_VIOLATION`, `DISCOUNT_CAP_EXCEEDED`, `IDEMPOTENCY_KEY_REUSED`, `OPTION_OUT_OF_SEASON`, `OPTION_QUANTITY_EXCEEDED`, `PROMO_CODE_REJECTED`, `REFERENCE_INACTIVE`, `REFERENCE_NOT_FOUND`, `VAT_REVERSE_CHARGE_NOT_ALLOWED`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","required":["type","title","status","code","detail","instance","requestId","errors","rule"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/booking-rule-violation","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Règle de réservation non respectée","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"number"},"code":{"type":"string","const":"BOOKING_RULE_VIOLATION","isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.requestId","typeLabel":"string"},"errors":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.0.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.0.errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.errors","typeLabel":"object[]"},"rule":{"type":"string","enum":["LEAD_TIME","HORIZON","MIN_DURATION","CLOSED_DAY","OUTSIDE_HOURS"],"isRequired":true,"uniqueKey":"oneOf.0.rule","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","maxDiscountPercent"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/discount-cap-exceeded","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Plafond de remise dépassé","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"number"},"code":{"type":"string","const":"DISCOUNT_CAP_EXCEEDED","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.requestId","typeLabel":"string"},"maxDiscountPercent":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"oneOf.1.maxDiscountPercent","typeLabel":"number"},"errors":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.1.errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/idempotency-key-reused","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"string"},"title":{"type":"string","const":"Clé d’idempotence réutilisée","isRequired":true,"uniqueKey":"oneOf.2.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"number"},"code":{"type":"string","const":"IDEMPOTENCY_KEY_REUSED","isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.requestId","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/option-out-of-season","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"string"},"title":{"type":"string","const":"Option hors saison","isRequired":true,"uniqueKey":"oneOf.3.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"number"},"code":{"type":"string","const":"OPTION_OUT_OF_SEASON","isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.requestId","typeLabel":"string"},"errors":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.3.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.3.errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.3.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","maxQuantity"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/option-quantity-exceeded","isRequired":true,"uniqueKey":"oneOf.4.type","typeLabel":"string"},"title":{"type":"string","const":"Quantité d’option dépassée","isRequired":true,"uniqueKey":"oneOf.4.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.4.status","typeLabel":"number"},"code":{"type":"string","const":"OPTION_QUANTITY_EXCEEDED","isRequired":true,"uniqueKey":"oneOf.4.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.requestId","typeLabel":"string"},"maxQuantity":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"oneOf.4.maxQuantity","typeLabel":"integer"},"errors":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.4.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.4.errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.4.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","reason"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/promo-code-rejected","isRequired":true,"uniqueKey":"oneOf.5.type","typeLabel":"string"},"title":{"type":"string","const":"Code promo refusé","isRequired":true,"uniqueKey":"oneOf.5.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.5.status","typeLabel":"number"},"code":{"type":"string","const":"PROMO_CODE_REJECTED","isRequired":true,"uniqueKey":"oneOf.5.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.5.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.5.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.5.requestId","typeLabel":"string"},"reason":{"type":"string","enum":["NOT_FOUND","NOT_STARTED","EXPIRED","EXHAUSTED","BELOW_MIN_DURATION","CATEGORY_NOT_ELIGIBLE","NO_DISCOUNT"],"isRequired":true,"uniqueKey":"oneOf.5.reason","typeLabel":"enum\u003cstring>"},"errors":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.5.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.5.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.5.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.5.errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.5.errors","typeLabel":"object[]"},"minRentalDays":{"description":"Jours facturés minimum du code, avec `reason: BELOW_MIN_DURATION` seulement.","type":"integer","minimum":1,"uniqueKey":"oneOf.5.minRentalDays","typeLabel":"integer"}},"uniqueKey":"oneOf.5","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","errors"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/reference-inactive","isRequired":true,"uniqueKey":"oneOf.6.type","typeLabel":"string"},"title":{"type":"string","const":"Référence inactive","isRequired":true,"uniqueKey":"oneOf.6.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.6.status","typeLabel":"number"},"code":{"type":"string","const":"REFERENCE_INACTIVE","isRequired":true,"uniqueKey":"oneOf.6.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.requestId","typeLabel":"string"},"errors":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.6.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.6.errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.6.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.6","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","errors"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/reference-not-found","isRequired":true,"uniqueKey":"oneOf.7.type","typeLabel":"string"},"title":{"type":"string","const":"Référence introuvable","isRequired":true,"uniqueKey":"oneOf.7.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.7.status","typeLabel":"number"},"code":{"type":"string","const":"REFERENCE_NOT_FOUND","isRequired":true,"uniqueKey":"oneOf.7.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.requestId","typeLabel":"string"},"errors":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"pointer":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","invalid_value","too_small","too_big","too_many_decimals","out_of_range","unknown_field","null_not_allowed","empty_string","empty_patch","mutually_exclusive","not_applicable","duplicate","end_before_start","date_in_past","nonexistent_local_time","offset_not_allowed","offset_required","upload_expired","upload_incomplete","upload_conflict"],"isRequired":true,"uniqueKey":"oneOf.7.errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.errors.items.[INDEX].detail","typeLabel":"string"}},"required":["pointer","code","detail"],"uniqueKey":"oneOf.7.errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.7.errors","typeLabel":"object[]"}},"uniqueKey":"oneOf.7","typeLabel":"object"},{"type":"object","required":["type","title","status","code","detail","instance","requestId","reason"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/vat-reverse-charge-not-allowed","isRequired":true,"uniqueKey":"oneOf.8.type","typeLabel":"string"},"title":{"type":"string","const":"Autoliquidation impossible","isRequired":true,"uniqueKey":"oneOf.8.title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"oneOf.8.status","typeLabel":"number"},"code":{"type":"string","const":"VAT_REVERSE_CHARGE_NOT_ALLOWED","isRequired":true,"uniqueKey":"oneOf.8.code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.requestId","typeLabel":"string"},"reason":{"type":"string","enum":["NOT_ENABLED","ORGANIZATION_VAT_NUMBER_MISSING","CUSTOMER_VAT_NUMBER_MISSING"],"isRequired":true,"uniqueKey":"oneOf.8.reason","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.8","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/booking-rule-violation","title":"Règle de réservation non respectée","status":422,"code":"BOOKING_RULE_VIOLATION","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","errors":[{"pointer":"\u003cstring>","code":"required","detail":"\u003cstring>"}],"rule":"LEAD_TIME"}}},"exampleType":"generated"}},"exampleType":"generated"},"2d5debd1-b498-42ca-ba4d-22f6358564c0":{"description":"`RATE_LIMITED`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Secondes à attendre avant de rejouer la requête.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/rate-limited","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Trop de requêtes","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":429,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"RATE_LIMITED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"},"limit":{"type":"string","enum":["PRE_AUTH","PER_KEY","WRITE","QUOTE"],"isRequired":true,"uniqueKey":"limit","typeLabel":"enum\u003cstring>"},"windowSeconds":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"windowSeconds","typeLabel":"integer"},"retryAfter":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"retryAfter","typeLabel":"integer"}},"required":["type","title","status","code","detail","instance","requestId","limit","windowSeconds","retryAfter"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/rate-limited","title":"Trop de requêtes","status":429,"code":"RATE_LIMITED","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","limit":"PRE_AUTH","windowSeconds":2,"retryAfter":1}}},"exampleType":"generated"}},"exampleType":"generated"},"a1f5e0c8-37aa-439d-804e-85bca0ac4eaf":{"description":"`INTERNAL_ERROR`","headers":{"X-Request-Id":{"description":"Identifiant de la requête, à communiquer au support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Plafond du seau de débit qui s’applique à la requête.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requêtes encore permises dans la fenêtre en cours.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Secondes avant la remise à zéro de la fenêtre.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/internal-error","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Erreur interne","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":500,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"INTERNAL_ERROR","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"requestId":{"type":"string","isRequired":true,"uniqueKey":"requestId","typeLabel":"string"}},"required":["type","title","status","code","detail","instance","requestId"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/internal-error","title":"Erreur interne","status":500,"code":"INTERNAL_ERROR","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0c7c465d-1d5a-4539-9be2-e054644ebd95":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"lck_…","description":"Clé API `lck_…` créée dans Lexio (Paramètres → Développeur), envoyée en `Authorization: Bearer`. Voir [Authentification](https://docs.lexio.rent/authentification).","scopes":[],"schemeName":"ApiKey"}}},"servers":{"c3220b3b-f902-475f-902a-f94f20648ddf":{"url":"https://api.lexio.rent/api/external/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"lck_…","description":"Clé API `lck_…` créée dans Lexio (Paramètres → Développeur), envoyée en `Authorization: Bearer`. Voir [Authentification](https://docs.lexio.rent/authentification).","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Clé API `lck_…` créée dans Lexio (Paramètres → Développeur), envoyée en `Authorization: Bearer`. Voir [Authentification](https://docs.lexio.rent/authentification).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"lexio","siteName":"API Lexio","title":"Créer un devis - API Lexio","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"fr":{"href":"/api-reference/offre/create-quote","matchLevel":0}}},"lastModified":"2026-10-29T01:01:12.043Z","originalFileLocation":"api-reference/offre/create-quote.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Accès : quotes.write Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity. Refus - VEHICLE_UNAVAILABLE : véhicule non réservable. - OPTION_UNAVAILABLE : stock d’option insuffisant. - BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire). - DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul. - FEATURE_NOT_AVAILABLE : options sans pricing.options. - 400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire. choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.\">\u003cmeta data-mint-head name=\"application-name\" content=\"API Lexio\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Créer un devis - API Lexio\">\u003cmeta data-mint-head property=\"og:description\" content=\"Accès : quotes.write Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity. Refus - VEHICLE_UNAVAILABLE : véhicule non réservable. - OPTION_UNAVAILABLE : stock d’option insuffisant. - BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire). - DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul. - FEATURE_NOT_AVAILABLE : options sans pricing.options. - 400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire. choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"API Lexio\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lexio.rent/api-reference/offre/create-quote\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lexio.mintlify.app/_mintlify/api/og/v2?division=Offre\u0026amp;title=Cr%C3%A9er+un+devis\u0026amp;description=**Acc%C3%A8s**+%3A+%60quotes.write%60%0A%0AFige+24+h+%28%60expiresAt%60%29+le+prix+d%E2%80%99un+v%C3%A9hicule+sur+une+p%C3%A9riode%2C+sans+le+r%C3%A9server+%3A+la+disponibilit%C3%A9+est+rev%C3%A9rifi%C3%A9e+%C3%A0+la+cr%C3%A9ation+de+l\u0026amp;theme=7021b09e080d2874048b5ff2\u0026amp;signature=83e9fedc44f458089d1df70ca51973eaca36237698a5bfefe1c0f31fb0295321\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Créer un devis - API Lexio\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Accès : quotes.write Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity. Refus - VEHICLE_UNAVAILABLE : véhicule non réservable. - OPTION_UNAVAILABLE : stock d’option insuffisant. - BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire). - DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul. - FEATURE_NOT_AVAILABLE : options sans pricing.options. - 400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire. choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lexio.mintlify.app/_mintlify/api/og/v2?division=Offre\u0026amp;title=Cr%C3%A9er+un+devis\u0026amp;description=**Acc%C3%A8s**+%3A+%60quotes.write%60%0A%0AFige+24+h+%28%60expiresAt%60%29+le+prix+d%E2%80%99un+v%C3%A9hicule+sur+une+p%C3%A9riode%2C+sans+le+r%C3%A9server+%3A+la+disponibilit%C3%A9+est+rev%C3%A9rifi%C3%A9e+%C3%A0+la+cr%C3%A9ation+de+l\u0026amp;theme=7021b09e080d2874048b5ff2\u0026amp;signature=83e9fedc44f458089d1df70ca51973eaca36237698a5bfefe1c0f31fb0295321\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lexio/Fn3qCdBL0Ek5USre/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"API Lexio\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#213051\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lexio.rent/api-reference/offre/create-quote\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/offre/create-quote.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lexio.rent/#organization\",\"name\":\"API Lexio\",\"url\":\"https://docs.lexio.rent\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lexio/pRouqOAymioY_AdF/logo/light.svg?fit=max\u0026auto=format\u0026n=pRouqOAymioY_AdF\u0026q=85\u0026s=dfcc1b24a8c399ae35b02ed7c0b9f66d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lexio.rent#website\",\"name\":\"API Lexio\",\"url\":\"https://docs.lexio.rent\",\"publisher\":{\"@id\":\"https://docs.lexio.rent/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lexio.rent/api-reference/offre/create-quote#webpage\",\"url\":\"https://docs.lexio.rent/api-reference/offre/create-quote\",\"name\":\"Créer un devis\",\"description\":\"Accès : quotes.write Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity. Refus - VEHICLE_UNAVAILABLE : véhicule non réservable. - OPTION_UNAVAILABLE : stock d’option insuffisant. - BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire). - DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul. - FEATURE_NOT_AVAILABLE : options sans pricing.options. - 400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire. choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.\",\"dateModified\":\"2026-10-29T01:01:12.043Z\",\"isPartOf\":{\"@id\":\"https://docs.lexio.rent#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lexio.rent/api-reference/offre/create-quote#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lexio.rent/api-reference/offre/create-quote#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Offre\",\"item\":\"https://docs.lexio.rent/api-reference/offre/list-availability\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Créer un devis\",\"item\":\"https://docs.lexio.rent/api-reference/offre/create-quote\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lexio.rent/api-reference/offre/create-quote#apireference\",\"headline\":\"Créer un devis\",\"name\":\"Créer un devis\",\"description\":\"Accès : quotes.write Fige 24 h (expiresAt) le prix d’un véhicule sur une période, sans le réserver : la disponibilité est revérifiée à la création de la location. Avec vehicleId, startAt et endAt seuls, totalTTC est celui de GET /availability. Options : quantité de 1 à choices.options[].maxBookableQuantity. Refus - VEHICLE_UNAVAILABLE : véhicule non réservable. - OPTION_UNAVAILABLE : stock d’option insuffisant. - BOOKING_RULE_VIOLATION : règles de réservation (clé partenaire). - DISCOUNT_CAP_EXCEEDED : remise au-delà du plafond de la clé ou sous un total nul. - FEATURE_NOT_AVAILABLE : options sans pricing.options. - 400 not_applicable : jeune conducteur dans options (driverBirthDate en décide) ; conducteur additionnel, charges ou isVatReverseCharge avec une clé partenaire. choices chiffre chaque alternative ; pour en retenir une, créez un autre devis. Le devis sert une fois, en quoteId de POST /rentals, par une clé du même code partenaire.\",\"url\":\"https://docs.lexio.rent/api-reference/offre/create-quote\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lexio.rent/api-reference/offre/create-quote#webpage\"},\"dateModified\":\"2026-10-29T01:01:12.043Z\",\"publisher\":{\"@id\":\"https://docs.lexio.rent/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lexio.rent#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"API Lexio\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"API Lexio","nav":{"global":null,"languages":[{"language":"fr","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Référence de l’API","groups":[{"group":"Organisation","pages":[{"title":"Lire l’organisation et la clé","deprecated":null,"version":null,"sidebarTitle":"Lire l’organisation et la clé","openapi":"/openapi.json get /organization","href":"/api-reference/organisation/get-organization"}]},{"group":"Offre","pages":[{"title":"Lister les disponibilités et les prix","description":"**Accès** : `offers.read`\n\nPrix réservable de chaque véhicule sur la période, avec forfait, franchise et caution par défaut (ceux de `POST /quotes`) : un devis sur les mêmes `vehicleId`, `startAt` et `endAt`, sans autre champ, donne le même `totalTTC`. Seul un devis fige le prix.\n\n**Périmètre** : véhicules actifs, non archivés, dont la catégorie tarifaire a un prix (sans catégorie : `NO_PRICING_CATEGORY` dans `notBookableReasons` de `GET /vehicles`).\n\n**Filtres** : `startAt` et `endAt` obligatoires. `isAvailable=true` : réservables ; `false` : les autres, avec `unavailableReasons`. Identifiant inconnu : aucun élément.\n\n**Pagination** : par `displayOrder` puis `id`, au plus 3 100 jours-véhicule par page (`limit` × jours facturés) : une page peut être incomplète, voire vide ; suivez `nextCursor` jusqu’à null.\n\n**Refus** : `BOOKING_RULE_VIOLATION`, période hors des règles de réservation (clé partenaire).","deprecated":null,"version":null,"sidebarTitle":"Lister les disponibilités et les prix","openapi":"/openapi.json get /availability","href":"/api-reference/offre/list-availability"},{"title":"Créer un devis","deprecated":null,"version":null,"sidebarTitle":"Créer un devis","openapi":"/openapi.json post /quotes","href":"/api-reference/offre/create-quote"},{"title":"Lire un devis","description":"**Accès** : `offers.read`\n\nLe devis tel que créé, expiré compris : lisez `expiresAt`, `consumedAt` et `rentalId` (location créée avec lui). `choices` reste celui du calcul. Devis inconnu, d’une autre organisation ou d’un autre identifiant partenaire, ou effacé (24 h après `expiresAt`) : `404`. La lecture ne renvoie jamais `QUOTE_EXPIRED`.","deprecated":null,"version":null,"sidebarTitle":"Lire un devis","openapi":"/openapi.json get /quotes/{quoteId}","href":"/api-reference/offre/get-quote"}]},{"group":"Locations","pages":[{"title":"Lister les locations","deprecated":null,"version":null,"sidebarTitle":"Lister les locations","openapi":"/openapi.json get /rentals","href":"/api-reference/locations/list-rentals"},{"title":"Créer une location","deprecated":null,"version":null,"sidebarTitle":"Créer une location","openapi":"/openapi.json post /rentals","href":"/api-reference/locations/create-rental"},{"title":"Lire une location","deprecated":null,"version":null,"sidebarTitle":"Lire une location","openapi":"/openapi.json get /rentals/{rentalId}","href":"/api-reference/locations/get-rental"},{"title":"Modifier les notes et les lieux","deprecated":null,"version":null,"sidebarTitle":"Modifier les notes et les lieux","openapi":"/openapi.json patch /rentals/{rentalId}","href":"/api-reference/locations/update-rental"},{"title":"Supprimer une location","deprecated":null,"version":null,"sidebarTitle":"Supprimer une location","openapi":"/openapi.json delete /rentals/{rentalId}","href":"/api-reference/locations/delete-rental"},{"title":"Annuler une location ou refuser une demande","deprecated":null,"version":null,"sidebarTitle":"Annuler une location ou refuser une demande","openapi":"/openapi.json post /rentals/{rentalId}/cancel","href":"/api-reference/locations/cancel-rental"},{"title":"Lire le contrat d’une location","deprecated":null,"version":null,"sidebarTitle":"Lire le contrat d’une location","openapi":"/openapi.json get /rentals/{rentalId}/contract","href":"/api-reference/locations/get-rental-contract"}]},{"group":"Modifications","pages":[{"title":"Changer les dates d’une location","deprecated":null,"version":null,"sidebarTitle":"Changer les dates d’une location","openapi":"/openapi.json post /rentals/{rentalId}/reschedule","href":"/api-reference/modifications/reschedule-rental"},{"title":"Changer le véhicule d’une location","deprecated":null,"version":null,"sidebarTitle":"Changer le véhicule d’une location","openapi":"/openapi.json post /rentals/{rentalId}/change-vehicle","href":"/api-reference/modifications/change-rental-vehicle"},{"title":"Changer la couverture d’une location","deprecated":null,"version":null,"sidebarTitle":"Changer la couverture d’une location","openapi":"/openapi.json post /rentals/{rentalId}/change-coverage","href":"/api-reference/modifications/change-rental-coverage"},{"title":"Changer le titulaire d’une location","deprecated":null,"version":null,"sidebarTitle":"Changer le titulaire d’une location","openapi":"/openapi.json post /rentals/{rentalId}/change-customer","href":"/api-reference/modifications/change-rental-customer"},{"title":"Fixer la quantité d’une option","deprecated":null,"version":null,"sidebarTitle":"Fixer la quantité d’une option","openapi":"/openapi.json put /rentals/{rentalId}/options/{optionId}","href":"/api-reference/modifications/set-rental-option-quantity"},{"title":"Retirer une option d’une location","deprecated":null,"version":null,"sidebarTitle":"Retirer une option d’une location","openapi":"/openapi.json delete /rentals/{rentalId}/options/{optionId}","href":"/api-reference/modifications/remove-rental-option"},{"title":"Lister les avenants d’une location","deprecated":null,"version":null,"sidebarTitle":"Lister les avenants d’une location","openapi":"/openapi.json get /rentals/{rentalId}/amendments","href":"/api-reference/modifications/list-rental-amendments"}]},{"group":"Départ et retour","pages":[{"title":"Départ du véhicule","deprecated":null,"version":null,"sidebarTitle":"Départ du véhicule","openapi":"/openapi.json post /rentals/{rentalId}/pickup","href":"/api-reference/depart-et-retour/pick-up-rental"},{"title":"Retour du véhicule","deprecated":null,"version":null,"sidebarTitle":"Retour du véhicule","openapi":"/openapi.json post /rentals/{rentalId}/return","href":"/api-reference/depart-et-retour/return-rental"},{"title":"Préparer le téléversement de photos d’état des lieux","deprecated":null,"version":null,"sidebarTitle":"Préparer le téléversement de photos d’état des lieux","openapi":"/openapi.json post /rentals/{rentalId}/photo-uploads","href":"/api-reference/depart-et-retour/create-rental-photo-uploads"},{"title":"Enregistrer des photos d’état des lieux téléversées","deprecated":null,"version":null,"sidebarTitle":"Enregistrer des photos d’état des lieux téléversées","openapi":"/openapi.json post /rentals/{rentalId}/photos","href":"/api-reference/depart-et-retour/register-rental-photos"},{"title":"Lister les photos d’état des lieux d’une location","deprecated":null,"version":null,"sidebarTitle":"Lister les photos d’état des lieux d’une location","openapi":"/openapi.json get /rentals/{rentalId}/photos","href":"/api-reference/depart-et-retour/list-rental-photos"},{"title":"Lire une photo d’état des lieux","deprecated":null,"version":null,"sidebarTitle":"Lire une photo d’état des lieux","openapi":"/openapi.json get /rentals/{rentalId}/photos/{photoId}","href":"/api-reference/depart-et-retour/get-rental-photo"},{"title":"Supprimer une photo d’état des lieux","deprecated":null,"version":null,"sidebarTitle":"Supprimer une photo d’état des lieux","openapi":"/openapi.json delete /rentals/{rentalId}/photos/{photoId}","href":"/api-reference/depart-et-retour/delete-rental-photo"},{"title":"Lire les états des lieux d’une location","deprecated":null,"version":null,"sidebarTitle":"Lire les états des lieux d’une location","openapi":"/openapi.json get /rentals/{rentalId}/inspections","href":"/api-reference/depart-et-retour/list-rental-inspections"}]},{"group":"Paiements","pages":[{"title":"Lister les paiements d’une location","deprecated":null,"version":null,"sidebarTitle":"Lister les paiements d’une location","openapi":"/openapi.json get /rentals/{rentalId}/payments","href":"/api-reference/paiements/list-rental-payments"},{"title":"Lire un paiement","deprecated":null,"version":null,"sidebarTitle":"Lire un paiement","openapi":"/openapi.json get /rentals/{rentalId}/payments/{paymentId}","href":"/api-reference/paiements/get-rental-payment"},{"title":"Enregistrer un paiement","deprecated":null,"version":null,"sidebarTitle":"Enregistrer un paiement","openapi":"/openapi.json post /rentals/{rentalId}/payments","href":"/api-reference/paiements/create-rental-payment"},{"title":"Supprimer un paiement saisi par erreur","deprecated":null,"version":null,"sidebarTitle":"Supprimer un paiement saisi par erreur","openapi":"/openapi.json delete /rentals/{rentalId}/payments/{paymentId}","href":"/api-reference/paiements/delete-rental-payment"},{"title":"Lister les factures et avoirs d’une location","deprecated":null,"version":null,"sidebarTitle":"Lister les factures et avoirs d’une location","openapi":"/openapi.json get /rentals/{rentalId}/invoices","href":"/api-reference/paiements/list-rental-invoices"}]},{"group":"Événements","pages":[{"title":"Suivre les changements des locations","deprecated":null,"version":null,"sidebarTitle":"Suivre les changements des locations","openapi":"/openapi.json get /events","href":"/api-reference/evenements/list-events"}]},{"group":"Clients","pages":[{"title":"Lister les clients","deprecated":null,"version":null,"sidebarTitle":"Lister les clients","openapi":"/openapi.json get /customers","href":"/api-reference/clients/list-customers"},{"title":"Lire un client","deprecated":null,"version":null,"sidebarTitle":"Lire un client","openapi":"/openapi.json get /customers/{customerId}","href":"/api-reference/clients/get-customer"},{"title":"Créer un client","deprecated":null,"version":null,"sidebarTitle":"Créer un client","openapi":"/openapi.json post /customers","href":"/api-reference/clients/create-customer"},{"title":"Modifier un client","deprecated":null,"version":null,"sidebarTitle":"Modifier un client","openapi":"/openapi.json patch /customers/{customerId}","href":"/api-reference/clients/update-customer"},{"title":"Supprimer un client","deprecated":null,"version":null,"sidebarTitle":"Supprimer un client","openapi":"/openapi.json delete /customers/{customerId}","href":"/api-reference/clients/delete-customer"}]},{"group":"Flotte","pages":[{"title":"Lister les véhicules","deprecated":null,"version":null,"sidebarTitle":"Lister les véhicules","openapi":"/openapi.json get /vehicles","href":"/api-reference/flotte/list-vehicles"},{"title":"Lire un véhicule","deprecated":null,"version":null,"sidebarTitle":"Lire un véhicule","openapi":"/openapi.json get /vehicles/{vehicleId}","href":"/api-reference/flotte/get-vehicle"},{"title":"Créer un véhicule","deprecated":null,"version":null,"sidebarTitle":"Créer un véhicule","openapi":"/openapi.json post /vehicles","href":"/api-reference/flotte/create-vehicle"},{"title":"Modifier un véhicule","deprecated":null,"version":null,"sidebarTitle":"Modifier un véhicule","openapi":"/openapi.json patch /vehicles/{vehicleId}","href":"/api-reference/flotte/update-vehicle"},{"title":"Supprimer un véhicule","deprecated":null,"version":null,"sidebarTitle":"Supprimer un véhicule","openapi":"/openapi.json delete /vehicles/{vehicleId}","href":"/api-reference/flotte/delete-vehicle"},{"title":"Archiver un véhicule","deprecated":null,"version":null,"sidebarTitle":"Archiver un véhicule","openapi":"/openapi.json post /vehicles/{vehicleId}/archive","href":"/api-reference/flotte/archive-vehicle"},{"title":"Désarchiver un véhicule","deprecated":null,"version":null,"sidebarTitle":"Désarchiver un véhicule","openapi":"/openapi.json post /vehicles/{vehicleId}/unarchive","href":"/api-reference/flotte/unarchive-vehicle"},{"title":"Lister les blocages de planning","deprecated":null,"version":null,"sidebarTitle":"Lister les blocages de planning","openapi":"/openapi.json get /vehicle-blocks","href":"/api-reference/flotte/list-vehicle-blocks"}]},{"group":"Catalogue","pages":[{"title":"Lister les franchises","deprecated":null,"version":null,"sidebarTitle":"Lister les franchises","openapi":"/openapi.json get /deductibles","href":"/api-reference/catalogue/list-deductibles"},{"title":"Lire une franchise","deprecated":null,"version":null,"sidebarTitle":"Lire une franchise","openapi":"/openapi.json get /deductibles/{deductibleId}","href":"/api-reference/catalogue/get-deductible"},{"title":"Créer une franchise","deprecated":null,"version":null,"sidebarTitle":"Créer une franchise","openapi":"/openapi.json post /deductibles","href":"/api-reference/catalogue/create-deductible"},{"title":"Modifier une franchise","deprecated":null,"version":null,"sidebarTitle":"Modifier une franchise","openapi":"/openapi.json patch /deductibles/{deductibleId}","href":"/api-reference/catalogue/update-deductible"},{"title":"Supprimer une franchise","deprecated":null,"version":null,"sidebarTitle":"Supprimer une franchise","openapi":"/openapi.json delete /deductibles/{deductibleId}","href":"/api-reference/catalogue/delete-deductible"},{"title":"Lister les cautions","deprecated":null,"version":null,"sidebarTitle":"Lister les cautions","openapi":"/openapi.json get /deposits","href":"/api-reference/catalogue/list-deposits"},{"title":"Lire une caution","deprecated":null,"version":null,"sidebarTitle":"Lire une caution","openapi":"/openapi.json get /deposits/{depositId}","href":"/api-reference/catalogue/get-deposit"},{"title":"Créer une caution","deprecated":null,"version":null,"sidebarTitle":"Créer une caution","openapi":"/openapi.json post /deposits","href":"/api-reference/catalogue/create-deposit"},{"title":"Modifier une caution","deprecated":null,"version":null,"sidebarTitle":"Modifier une caution","openapi":"/openapi.json patch /deposits/{depositId}","href":"/api-reference/catalogue/update-deposit"},{"title":"Supprimer une caution","deprecated":null,"version":null,"sidebarTitle":"Supprimer une caution","openapi":"/openapi.json delete /deposits/{depositId}","href":"/api-reference/catalogue/delete-deposit"},{"title":"Lister les forfaits kilométriques","deprecated":null,"version":null,"sidebarTitle":"Lister les forfaits kilométriques","openapi":"/openapi.json get /mileage-packages","href":"/api-reference/catalogue/list-mileage-packages"},{"title":"Lire un forfait kilométrique","deprecated":null,"version":null,"sidebarTitle":"Lire un forfait kilométrique","openapi":"/openapi.json get /mileage-packages/{mileagePackageId}","href":"/api-reference/catalogue/get-mileage-package"},{"title":"Créer un forfait kilométrique","deprecated":null,"version":null,"sidebarTitle":"Créer un forfait kilométrique","openapi":"/openapi.json post /mileage-packages","href":"/api-reference/catalogue/create-mileage-package"},{"title":"Modifier un forfait kilométrique","deprecated":null,"version":null,"sidebarTitle":"Modifier un forfait kilométrique","openapi":"/openapi.json patch /mileage-packages/{mileagePackageId}","href":"/api-reference/catalogue/update-mileage-package"},{"title":"Supprimer un forfait kilométrique","deprecated":null,"version":null,"sidebarTitle":"Supprimer un forfait kilométrique","openapi":"/openapi.json delete /mileage-packages/{mileagePackageId}","href":"/api-reference/catalogue/delete-mileage-package"},{"title":"Lister les options","deprecated":null,"version":null,"sidebarTitle":"Lister les options","openapi":"/openapi.json get /options","href":"/api-reference/catalogue/list-options"},{"title":"Lire une option","deprecated":null,"version":null,"sidebarTitle":"Lire une option","openapi":"/openapi.json get /options/{optionId}","href":"/api-reference/catalogue/get-option"},{"title":"Créer une option","deprecated":null,"version":null,"sidebarTitle":"Créer une option","openapi":"/openapi.json post /options","href":"/api-reference/catalogue/create-option"},{"title":"Modifier une option","deprecated":null,"version":null,"sidebarTitle":"Modifier une option","openapi":"/openapi.json patch /options/{optionId}","href":"/api-reference/catalogue/update-option"},{"title":"Supprimer une option","deprecated":null,"version":null,"sidebarTitle":"Supprimer une option","openapi":"/openapi.json delete /options/{optionId}","href":"/api-reference/catalogue/delete-option"},{"title":"Lister les lieux","deprecated":null,"version":null,"sidebarTitle":"Lister les lieux","openapi":"/openapi.json get /locations","href":"/api-reference/catalogue/list-locations"},{"title":"Lister les catégories tarifaires","deprecated":null,"version":null,"sidebarTitle":"Lister les catégories tarifaires","openapi":"/openapi.json get /categories","href":"/api-reference/catalogue/list-categories"},{"title":"Lire une catégorie tarifaire","deprecated":null,"version":null,"sidebarTitle":"Lire une catégorie tarifaire","openapi":"/openapi.json get /categories/{categoryId}","href":"/api-reference/catalogue/get-category"},{"title":"Créer une catégorie tarifaire","deprecated":null,"version":null,"sidebarTitle":"Créer une catégorie tarifaire","openapi":"/openapi.json post /categories","href":"/api-reference/catalogue/create-category"},{"title":"Modifier une catégorie tarifaire","deprecated":null,"version":null,"sidebarTitle":"Modifier une catégorie tarifaire","openapi":"/openapi.json patch /categories/{categoryId}","href":"/api-reference/catalogue/update-category"},{"title":"Supprimer une catégorie tarifaire","deprecated":null,"version":null,"sidebarTitle":"Supprimer une catégorie tarifaire","openapi":"/openapi.json delete /categories/{categoryId}","href":"/api-reference/catalogue/delete-category"}]},{"group":"Tarification","pages":[{"title":"Lister les saisons","deprecated":null,"version":null,"sidebarTitle":"Lister les saisons","openapi":"/openapi.json get /seasons","href":"/api-reference/tarification/list-seasons"},{"title":"Lire une saison","deprecated":null,"version":null,"sidebarTitle":"Lire une saison","openapi":"/openapi.json get /seasons/{slug}","href":"/api-reference/tarification/get-season"},{"title":"Modifier une saison","deprecated":null,"version":null,"sidebarTitle":"Modifier une saison","openapi":"/openapi.json patch /seasons/{slug}","href":"/api-reference/tarification/update-season"},{"title":"Lire le calendrier des saisons","deprecated":null,"version":null,"sidebarTitle":"Lire le calendrier des saisons","openapi":"/openapi.json get /season-calendar","href":"/api-reference/tarification/list-season-calendar-months"},{"title":"Lire un mois du calendrier des saisons","deprecated":null,"version":null,"sidebarTitle":"Lire un mois du calendrier des saisons","openapi":"/openapi.json get /season-calendar/{month}","href":"/api-reference/tarification/get-season-calendar-month"},{"title":"Remplacer un mois du calendrier des saisons","deprecated":null,"version":null,"sidebarTitle":"Remplacer un mois du calendrier des saisons","openapi":"/openapi.json put /season-calendar/{month}","href":"/api-reference/tarification/replace-season-calendar-month"},{"title":"Lister les remises de durée","deprecated":null,"version":null,"sidebarTitle":"Lister les remises de durée","openapi":"/openapi.json get /duration-discounts","href":"/api-reference/tarification/list-duration-discounts"},{"title":"Lire une remise de durée","deprecated":null,"version":null,"sidebarTitle":"Lire une remise de durée","openapi":"/openapi.json get /duration-discounts/{durationDiscountId}","href":"/api-reference/tarification/get-duration-discount"},{"title":"Créer une remise de durée","deprecated":null,"version":null,"sidebarTitle":"Créer une remise de durée","openapi":"/openapi.json post /duration-discounts","href":"/api-reference/tarification/create-duration-discount"},{"title":"Modifier une remise de durée","deprecated":null,"version":null,"sidebarTitle":"Modifier une remise de durée","openapi":"/openapi.json patch /duration-discounts/{durationDiscountId}","href":"/api-reference/tarification/update-duration-discount"},{"title":"Supprimer une remise de durée","deprecated":null,"version":null,"sidebarTitle":"Supprimer une remise de durée","openapi":"/openapi.json delete /duration-discounts/{durationDiscountId}","href":"/api-reference/tarification/delete-duration-discount"},{"title":"Lister les paliers de délai de réservation","deprecated":null,"version":null,"sidebarTitle":"Lister les paliers de délai de réservation","openapi":"/openapi.json get /lead-time-tiers","href":"/api-reference/tarification/list-lead-time-tiers"},{"title":"Lire un palier de délai de réservation","deprecated":null,"version":null,"sidebarTitle":"Lire un palier de délai de réservation","openapi":"/openapi.json get /lead-time-tiers/{leadTimeTierId}","href":"/api-reference/tarification/get-lead-time-tier"},{"title":"Modifier un palier de délai de réservation","deprecated":null,"version":null,"sidebarTitle":"Modifier un palier de délai de réservation","openapi":"/openapi.json patch /lead-time-tiers/{leadTimeTierId}","href":"/api-reference/tarification/update-lead-time-tier"},{"title":"Lire les réglages tarifaires","deprecated":null,"version":null,"sidebarTitle":"Lire les réglages tarifaires","openapi":"/openapi.json get /pricing-settings","href":"/api-reference/tarification/get-pricing-settings"}]},{"group":"Entretien","pages":[{"title":"Lister les échéances d’entretien d’un véhicule","deprecated":null,"version":null,"sidebarTitle":"Lister les échéances d’entretien d’un véhicule","openapi":"/openapi.json get /vehicles/{vehicleId}/maintenance-alerts","href":"/api-reference/entretien/list-vehicle-maintenance-alerts"},{"title":"Lister les entretiens","deprecated":null,"version":null,"sidebarTitle":"Lister les entretiens","openapi":"/openapi.json get /maintenance-records","href":"/api-reference/entretien/list-maintenance-records"},{"title":"Enregistrer un entretien","deprecated":null,"version":null,"sidebarTitle":"Enregistrer un entretien","openapi":"/openapi.json post /maintenance-records","href":"/api-reference/entretien/create-maintenance-record"},{"title":"Lire un entretien","deprecated":null,"version":null,"sidebarTitle":"Lire un entretien","openapi":"/openapi.json get /maintenance-records/{maintenanceRecordId}","href":"/api-reference/entretien/get-maintenance-record"},{"title":"Corriger un entretien","deprecated":null,"version":null,"sidebarTitle":"Corriger un entretien","openapi":"/openapi.json patch /maintenance-records/{maintenanceRecordId}","href":"/api-reference/entretien/update-maintenance-record"},{"title":"Supprimer un entretien","deprecated":null,"version":null,"sidebarTitle":"Supprimer un entretien","openapi":"/openapi.json delete /maintenance-records/{maintenanceRecordId}","href":"/api-reference/entretien/delete-maintenance-record"},{"title":"Lister le catalogue des opérations d’entretien","deprecated":null,"version":null,"sidebarTitle":"Lister le catalogue des opérations d’entretien","openapi":"/openapi.json get /maintenance-operations","href":"/api-reference/entretien/list-maintenance-operations"}]}]}]}]},"title":"Créer un devis - API Lexio","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}