Préparer le téléversement de photos d’état des lieux
Accès : rentals.operate
Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée.
Suite
Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes).
Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED.
Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.
POST
/
rentals
/
{rentalId}
/
photo-uploads
Préparer le téléversement de photos d’état des lieux
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.
{"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/depart-et-retour/create-rental-photo-uploads","slug":"/api-reference/depart-et-retour/create-rental-photo-uploads","pageMetadata":{"title":"Préparer le téléversement de photos d’état des lieux","description":"**Accès** : `rentals.operate`\n\nÉtape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue `DASHBOARD`). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de `items`, un `uploadId` et une URL signée.\n\n**Suite**\n1. Envoyez chaque fichier par `PUT` sur `url`, avec exactement les `headers` fournis, avant `expiresAt` (15 minutes).\n2. Enregistrez-les par [`POST /rentals/{rentalId}/photos`](https://docs.lexio.rent/api-reference/depart-et-retour/register-rental-photos) avant `registrationExpiresAt` (24 h).\n\n**Statuts admis** : `IN_PROGRESS` et `COMPLETED` ; `RESERVED` pour la seule phase `DEPARTURE`, avant le départ. Sinon 409 `RENTAL_STATUS_NOT_ALLOWED`.\n\n**Refus** : vue hors du tour du véhicule ou compteur en `INCIDENT` → 400 `not_applicable` ; deux photos du compteur de même phase → 400 `duplicate` ; signature impossible → 503 `SERVICE_UNAVAILABLE`.","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","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 a: \"a\",\n code: \"code\",\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n strong: \"strong\",\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: \"rentals.operate\"\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue \", _jsx(_components.code, {\n children: \"DASHBOARD\"\n }), \"). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de \", _jsx(_components.code, {\n children: \"items\"\n }), \", un \", _jsx(_components.code, {\n children: \"uploadId\"\n }), \" et une URL signée.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Suite\"\n })\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"Envoyez chaque fichier par \", _jsx(_components.code, {\n children: \"PUT\"\n }), \" sur \", _jsx(_components.code, {\n children: \"url\"\n }), \", avec exactement les \", _jsx(_components.code, {\n children: \"headers\"\n }), \" fournis, avant \", _jsx(_components.code, {\n children: \"expiresAt\"\n }), \" (15 minutes).\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Enregistrez-les par \", _jsx(_components.a, {\n href: \"https://docs.lexio.rent/api-reference/depart-et-retour/register-rental-photos\",\n children: _jsx(_components.code, {\n children: \"POST /rentals/{rentalId}/photos\"\n })\n }), \" avant \", _jsx(_components.code, {\n children: \"registrationExpiresAt\"\n }), \" (24 h).\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Statuts admis\"\n }), \" : \", _jsx(_components.code, {\n children: \"IN_PROGRESS\"\n }), \" et \", _jsx(_components.code, {\n children: \"COMPLETED\"\n }), \" ; \", _jsx(_components.code, {\n children: \"RESERVED\"\n }), \" pour la seule phase \", _jsx(_components.code, {\n children: \"DEPARTURE\"\n }), \", avant le départ. Sinon 409 \", _jsx(_components.code, {\n children: \"RENTAL_STATUS_NOT_ALLOWED\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Refus\"\n }), \" : vue hors du tour du véhicule ou compteur en \", _jsx(_components.code, {\n children: \"INCIDENT\"\n }), \" → 400 \", _jsx(_components.code, {\n children: \"not_applicable\"\n }), \" ; deux photos du compteur de même phase → 400 \", _jsx(_components.code, {\n children: \"duplicate\"\n }), \" ; signature impossible → 503 \", _jsx(_components.code, {\n children: \"SERVICE_UNAVAILABLE\"\n }), \".\"]\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":"Préparer le téléversement de photos d’état des lieux","description":"**Accès** : `rentals.operate`\n\nÉtape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue `DASHBOARD`). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de `items`, un `uploadId` et une URL signée.\n\n**Suite**\n1. Envoyez chaque fichier par `PUT` sur `url`, avec exactement les `headers` fournis, avant `expiresAt` (15 minutes).\n2. Enregistrez-les par [`POST /rentals/{rentalId}/photos`](https://docs.lexio.rent/api-reference/depart-et-retour/register-rental-photos) avant `registrationExpiresAt` (24 h).\n\n**Statuts admis** : `IN_PROGRESS` et `COMPLETED` ; `RESERVED` pour la seule phase `DEPARTURE`, avant le départ. Sinon 409 `RENTAL_STATUS_NOT_ALLOWED`.\n\n**Refus** : vue hors du tour du véhicule ou compteur en `INCIDENT` → 400 `not_applicable` ; deux photos du compteur de même phase → 400 `duplicate` ; signature impossible → 503 `SERVICE_UNAVAILABLE`.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createRentalPhotoUploads","summary":"Préparer le téléversement de photos d’état des lieux","description":"**Accès** : `rentals.operate`\n\nÉtape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue `DASHBOARD`). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de `items`, un `uploadId` et une URL signée.\n\n**Suite**\n1. Envoyez chaque fichier par `PUT` sur `url`, avec exactement les `headers` fournis, avant `expiresAt` (15 minutes).\n2. Enregistrez-les par [`POST /rentals/{rentalId}/photos`](https://docs.lexio.rent/api-reference/depart-et-retour/register-rental-photos) avant `registrationExpiresAt` (24 h).\n\n**Statuts admis** : `IN_PROGRESS` et `COMPLETED` ; `RESERVED` pour la seule phase `DEPARTURE`, avant le départ. Sinon 409 `RENTAL_STATUS_NOT_ALLOWED`.\n\n**Refus** : vue hors du tour du véhicule ou compteur en `INCIDENT` → 400 `not_applicable` ; deux photos du compteur de même phase → 400 `duplicate` ; signature impossible → 503 `SERVICE_UNAVAILABLE`.","tags":["Départ et retour"],"security":["1bd318a4-2057-45ee-a4dd-675c2960b214"],"x-required-scopes":["rentals.operate"],"parameters":["acdecc92-55a6-4add-b608-7dfc4ef4f2f9","4eeb60c9-0d8c-4718-99d8-f919a9ec08f7"],"requestBody":"c08fb9af-368a-4a25-a44c-c3063a934cb1","responses":{"200":"0d3f17f7-7e8f-4202-bf92-63446d8ea97a","400":"13832581-d5c0-41cc-a7ea-4e0e09393241","401":"029dc023-d0cc-4e60-a0d4-0f01ee25c26c","403":"18645aee-0498-43f4-b223-9eb43e6a5903","404":"ffcc3d25-69a5-4059-9562-d60a9632c18e","409":"f07be96b-cc29-47fd-b294-6c893edf2232","413":"16495b8d-2734-48b6-b868-274d9016da1b","415":"75db31ed-37ea-458a-85c1-cb7883f35722","422":"23f51e6b-e241-47d6-85ae-a2e4f3831658","429":"22bf067c-8a2c-42b1-acce-8c5311473f36","500":"d56ce1ed-30ec-47c9-9974-c0558bf648bc","503":"060e415d-fc61-47ac-9fe6-a1eb53bc3b08"},"x-mint":{"href":"/api-reference/depart-et-retour/create-rental-photo-uploads","metadata":{"title":"Préparer le téléversement de photos d’état des lieux","sidebarTitle":"Préparer le téléversement de photos d’état des lieux"}},"method":"post","type":"path","servers":["c3220b3b-f902-475f-902a-f94f20648ddf"],"path":"/rentals/{rentalId}/photo-uploads","baseUrlOptions":["https://api.lexio.rent/api/external/v1"],"title":"Préparer le téléversement de photos d’état des lieux","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.\\items.items.0.phase":"DEPARTURE","body.\\items.items.0.format":"JPEG","body.\\items.items.0.sizeBytes":2483117,"body.\\items.items.0.view.oneOf.0":"DASHBOARD","body.\\items.items.1.phase":"DEPARTURE","body.\\items.items.1.format":"HEIC","body.\\items.items.1.sizeBytes":3120044,"body.\\items.items.1.view.oneOf.0":"FRONT_LEFT"}],"disableProxy":true},"dependencies":{"parameters":{"acdecc92-55a6-4add-b608-7dfc4ef4f2f9":{"in":"path","name":"rentalId","schema":{"examples":["9c2d7e4a-5b1f-4d3c-8a6e-0f1b2c3d4e5f"],"type":"string","format":"uuid","isRequired":true,"description":"Identifiant de la location.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"description":"Identifiant de la location."},"4eeb60c9-0d8c-4718-99d8-f919a9ec08f7":{"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":{"items":[{"phase":"DEPARTURE","view":"DASHBOARD","format":"JPEG","sizeBytes":2483117},{"phase":"DEPARTURE","view":"FRONT_LEFT","format":"HEIC","sizeBytes":3120044}]},"schema":{"type":"object","properties":{"items":{"description":"Photos à préparer, 50 au plus ; la réponse suit cet ordre.","minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"phase":{"description":"Moment de la prise : départ, retour, ou sinistre (`INCIDENT`).","type":"string","enum":["DEPARTURE","RETURN","INCIDENT"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].phase","typeLabel":"enum\u003cstring>"},"format":{"description":"Format réel du fichier, vérifié à ses octets à l’enregistrement.","type":"string","enum":["JPEG","PNG","WEBP","HEIC","HEIF"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].format","typeLabel":"enum\u003cstring>"},"sizeBytes":{"description":"Taille exacte du fichier en octets, signée dans Content-Length.","type":"integer","minimum":1024,"maximum":15728640,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].sizeBytes","typeLabel":"integer"},"view":{"oneOf":[{"type":"string","description":"Vue du tour ; null = photo libre. Hors des vues du profil de la location → 400 not_applicable ; DASHBOARD (compteur) refusé en INCIDENT.","enum":["FRONT","FRONT_LEFT","REAR_LEFT","REAR","REAR_RIGHT","FRONT_RIGHT","WINDSHIELD","INTERIOR","TRUNK","DASHBOARD","TW_FRONT","TW_COCKPIT","TW_LEFT","TW_RIGHT","TW_REAR","TW_SADDLE","WHEEL_FRONT_LEFT","DOOR_FRONT_LEFT","DOOR_REAR_LEFT","WHEEL_REAR_LEFT","WHEEL_REAR_RIGHT","DOOR_REAR_RIGHT","DOOR_FRONT_RIGHT","WHEEL_FRONT_RIGHT","REAR_SEATS"],"uniqueKey":"\\items.items.[INDEX].view.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Vue du tour ; null = photo libre. Hors des vues du profil de la location → 400 not_applicable ; DASHBOARD (compteur) refusé en INCIDENT.","uniqueKey":"\\items.items.[INDEX].view.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].view","typeLabel":"enum\u003cstring> | null"}},"required":["phase","format","sizeBytes"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"}},"required":["items"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"phase":"DEPARTURE","view":"DASHBOARD","format":"JPEG","sizeBytes":2483117},{"phase":"DEPARTURE","view":"FRONT_LEFT","format":"HEIC","sizeBytes":3120044}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"0d3f17f7-7e8f-4202-bf92-63446d8ea97a":{"description":"Préparer le téléversement de photos d’état des lieux","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}},"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":{"schema":{"type":"object","properties":{"data":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"uploadId":{"examples":["7c9e6679-7425-40de-944b-e07fc1f90ae7"],"description":"À renvoyer à `POST /rentals/{rentalId}/photos`.","type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.items.[INDEX].uploadId","typeLabel":"string\u003cuuid>"},"method":{"description":"Méthode HTTP de l’envoi du fichier.","type":"string","enum":["PUT"],"isRequired":true,"uniqueKey":"data.items.[INDEX].method","typeLabel":"enum\u003cstring>"},"url":{"description":"URL signée, à appeler telle quelle avec method et headers. Opaque, à ne pas stocker.","type":"string","format":"uri","isRequired":true,"uniqueKey":"data.items.[INDEX].url","typeLabel":"string\u003curi>"},"headers":{"description":"En-têtes signés, à envoyer à l’identique : un autre type ou une autre taille est refusé.","minItems":2,"maxItems":2,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nom de l’en-tête.","type":"string","enum":["Content-Type","Content-Length"],"isRequired":true,"uniqueKey":"data.items.[INDEX].headers.items.[INDEX].name","typeLabel":"enum\u003cstring>"},"value":{"description":"Valeur à envoyer telle quelle.","type":"string","minLength":1,"isRequired":true,"uniqueKey":"data.items.[INDEX].headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"data.items.[INDEX].headers.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.items.[INDEX].headers","typeLabel":"object[]"},"expiresAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Fin de validité de `url` (15 minutes).","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].expiresAt","typeLabel":"string\u003cdate-time>"},"registrationExpiresAt":{"examples":["2026-11-10T10:00:00+01:00"],"description":"Date limite de `POST /rentals/{rentalId}/photos` (24 h) ; le fichier est ensuite purgé.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.items.[INDEX].registrationExpiresAt","typeLabel":"string\u003cdate-time>"}},"required":["uploadId","method","url","headers","expiresAt","registrationExpiresAt"],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"effects":{"type":"object","properties":{},"isRequired":true,"uniqueKey":"effects","typeLabel":"object"}},"required":["data","effects"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"uploadId":"7c9e6679-7425-40de-944b-e07fc1f90ae7","method":"PUT","url":"\u003cstring>","headers":[{"name":"Content-Type","value":"\u003cstring>"}],"expiresAt":"2026-11-10T10:00:00+01:00","registrationExpiresAt":"2026-11-10T10:00:00+01:00"}],"effects":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"13832581-d5c0-41cc-a7ea-4e0e09393241":{"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"},"029dc023-d0cc-4e60-a0d4-0f01ee25c26c":{"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"},"18645aee-0498-43f4-b223-9eb43e6a5903":{"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"},"ffcc3d25-69a5-4059-9562-d60a9632c18e":{"description":"`NOT_FOUND`","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/not-found","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Ressource introuvable","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":404,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"NOT_FOUND","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"},"resource":{"type":"string","enum":["RENTAL","RENTAL_OPTION","QUOTE","PAYMENT","INVOICE","PHOTO","AMENDMENT","INSPECTION","CUSTOMER","VEHICLE","VEHICLE_BLOCK","CATEGORY","OPTION","DEDUCTIBLE","DEPOSIT","MILEAGE_PACKAGE","LOCATION","SEASON","SEASON_CALENDAR_MONTH","DURATION_DISCOUNT","LEAD_TIME_TIER","MAINTENANCE_RECORD","MAINTENANCE_OPERATION"],"isRequired":true,"uniqueKey":"resource","typeLabel":"enum\u003cstring>"}},"required":["type","title","status","code","detail","instance","requestId","resource"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/not-found","title":"Ressource introuvable","status":404,"code":"NOT_FOUND","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","resource":"RENTAL"}}},"exampleType":"generated"}},"exampleType":"generated"},"f07be96b-cc29-47fd-b294-6c893edf2232":{"description":"`IDEMPOTENCY_IN_FLIGHT`, `RENTAL_BUSY`, `RENTAL_CHANGED`, `RENTAL_STATUS_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}},"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"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/idempotency-in-flight","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","const":"Requête identique en cours","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_IN_FLIGHT","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/rental-busy","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"string"},"title":{"type":"string","const":"Location occupée","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":"RENTAL_BUSY","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/rental-changed","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"string"},"title":{"type":"string","const":"Location modifiée entre-temps","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":"RENTAL_CHANGED","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","rentalStatus","allowedStatuses","action"],"properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/rental-status-not-allowed","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"string"},"title":{"type":"string","const":"Statut de la location incompatible","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":"RENTAL_STATUS_NOT_ALLOWED","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"},"rentalStatus":{"type":"string","enum":["RESERVED","PENDING_APPROVAL","IN_PROGRESS","COMPLETED","CANCELLED"],"isRequired":true,"uniqueKey":"oneOf.3.rentalStatus","typeLabel":"enum\u003cstring>"},"allowedStatuses":{"maxItems":10,"type":"array","items":{"type":"string","enum":["RESERVED","PENDING_APPROVAL","IN_PROGRESS","COMPLETED","CANCELLED"],"uniqueKey":"oneOf.3.allowedStatuses.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"oneOf.3.allowedStatuses","typeLabel":"enum\u003cstring>[]"},"action":{"type":"string","enum":["CANCEL","PICKUP","RETURN","RESCHEDULE","CHANGE_VEHICLE","CHANGE_COVERAGE","CHANGE_CUSTOMER","SET_OPTION_QUANTITY","REMOVE_OPTION","EDIT_NOTES","EDIT_LOCATIONS","DELETE","ADD_PAYMENT","REFUND","DELETE_PAYMENT","UPLOAD_PHOTO","DELETE_PHOTO"],"isRequired":true,"uniqueKey":"oneOf.3.action","typeLabel":"enum\u003cstring>"},"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"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/idempotency-in-flight","title":"Requête identique en cours","status":409,"code":"IDEMPOTENCY_IN_FLIGHT","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"16495b8d-2734-48b6-b868-274d9016da1b":{"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"},"75db31ed-37ea-458a-85c1-cb7883f35722":{"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"},"23f51e6b-e241-47d6-85ae-a2e4f3831658":{"description":"`IDEMPOTENCY_KEY_REUSED`","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/idempotency-key-reused","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Clé d’idempotence réutilisée","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":422,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"IDEMPOTENCY_KEY_REUSED","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/idempotency-key-reused","title":"Clé d’idempotence réutilisée","status":422,"code":"IDEMPOTENCY_KEY_REUSED","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"22bf067c-8a2c-42b1-acce-8c5311473f36":{"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"},"d56ce1ed-30ec-47c9-9974-c0558bf648bc":{"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"},"060e415d-fc61-47ac-9fe6-a1eb53bc3b08":{"description":"`SERVICE_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":{"type":"object","properties":{"type":{"type":"string","const":"https://api.lexio.rent/errors/service-unavailable","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","const":"Service momentanément indisponible","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"number","const":503,"isRequired":true,"uniqueKey":"status","typeLabel":"number"},"code":{"type":"string","const":"SERVICE_UNAVAILABLE","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"},"dependency":{"type":"string","enum":["PAYMENT_PROVIDER","FILE_STORAGE","ACCOUNTING","EMAIL"],"isRequired":true,"uniqueKey":"dependency","typeLabel":"enum\u003cstring>"}},"required":["type","title","status","code","detail","instance","requestId","dependency"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.lexio.rent/errors/service-unavailable","title":"Service momentanément indisponible","status":503,"code":"SERVICE_UNAVAILABLE","detail":"\u003cstring>","instance":"\u003cstring>","requestId":"\u003cstring>","dependency":"PAYMENT_PROVIDER"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1bd318a4-2057-45ee-a4dd-675c2960b214":{"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":"Préparer le téléversement de photos d’état des lieux - API Lexio","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"fr":{"href":"/api-reference/depart-et-retour/create-rental-photo-uploads","matchLevel":0}}},"lastModified":"2026-10-29T01:01:12.252Z","originalFileLocation":"api-reference/depart-et-retour/create-rental-photo-uploads.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 : rentals.operate Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée. Suite 1. Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes). 2. Enregistrez-les par POST /rentals/{rentalId}/photos avant registrationExpiresAt (24 h). Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED. Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.\">\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=\"Préparer le téléversement de photos d’état des lieux - API Lexio\">\u003cmeta data-mint-head property=\"og:description\" content=\"Accès : rentals.operate Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée. Suite 1. Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes). 2. Enregistrez-les par POST /rentals/{rentalId}/photos avant registrationExpiresAt (24 h). Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED. Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.\">\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/depart-et-retour/create-rental-photo-uploads\">\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=D%C3%A9part+et+retour\u0026amp;title=Pr%C3%A9parer+le+t%C3%A9l%C3%A9versement+de+photos+d%E2%80%99%C3%A9tat+des+lieux\u0026amp;description=**Acc%C3%A8s**+%3A+%60rentals.operate%60%0A%0A%C3%89tape+1+sur+3+du+d%C3%A9p%C3%B4t+de+photos+d%E2%80%99%C3%A9tat+des+lieux%2C+photo+du+compteur+comprise+%28vue+%60DASHBOARD%60%29.+Pour+chaque+%C3%A9l%C3%A9ment+%28phase%2C+vue%2C\u0026amp;theme=7021b09e080d2874048b5ff2\u0026amp;signature=6ad7c3788e83f4fbba512990dc583d92df893d4073ef10bda57faf17fbd4f115\">\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=\"Préparer le téléversement de photos d’état des lieux - API Lexio\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Accès : rentals.operate Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée. Suite 1. Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes). 2. Enregistrez-les par POST /rentals/{rentalId}/photos avant registrationExpiresAt (24 h). Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED. Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lexio.mintlify.app/_mintlify/api/og/v2?division=D%C3%A9part+et+retour\u0026amp;title=Pr%C3%A9parer+le+t%C3%A9l%C3%A9versement+de+photos+d%E2%80%99%C3%A9tat+des+lieux\u0026amp;description=**Acc%C3%A8s**+%3A+%60rentals.operate%60%0A%0A%C3%89tape+1+sur+3+du+d%C3%A9p%C3%B4t+de+photos+d%E2%80%99%C3%A9tat+des+lieux%2C+photo+du+compteur+comprise+%28vue+%60DASHBOARD%60%29.+Pour+chaque+%C3%A9l%C3%A9ment+%28phase%2C+vue%2C\u0026amp;theme=7021b09e080d2874048b5ff2\u0026amp;signature=6ad7c3788e83f4fbba512990dc583d92df893d4073ef10bda57faf17fbd4f115\">\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/depart-et-retour/create-rental-photo-uploads\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/depart-et-retour/create-rental-photo-uploads.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/depart-et-retour/create-rental-photo-uploads#webpage\",\"url\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads\",\"name\":\"Préparer le téléversement de photos d’état des lieux\",\"description\":\"Accès : rentals.operate Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée. Suite 1. Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes). 2. Enregistrez-les par POST /rentals/{rentalId}/photos avant registrationExpiresAt (24 h). Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED. Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.\",\"dateModified\":\"2026-10-29T01:01:12.252Z\",\"isPartOf\":{\"@id\":\"https://docs.lexio.rent#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Départ et retour\",\"item\":\"https://docs.lexio.rent/api-reference/depart-et-retour/pick-up-rental\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Préparer le téléversement de photos d’état des lieux\",\"item\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads#apireference\",\"headline\":\"Préparer le téléversement de photos d’état des lieux\",\"name\":\"Préparer le téléversement de photos d’état des lieux\",\"description\":\"Accès : rentals.operate Étape 1 sur 3 du dépôt de photos d’état des lieux, photo du compteur comprise (vue DASHBOARD). Pour chaque élément (phase, vue, format, taille exacte), la réponse donne, dans l’ordre de items, un uploadId et une URL signée. Suite 1. Envoyez chaque fichier par PUT sur url, avec exactement les headers fournis, avant expiresAt (15 minutes). 2. Enregistrez-les par POST /rentals/{rentalId}/photos avant registrationExpiresAt (24 h). Statuts admis : IN_PROGRESS et COMPLETED ; RESERVED pour la seule phase DEPARTURE, avant le départ. Sinon 409 RENTAL_STATUS_NOT_ALLOWED. Refus : vue hors du tour du véhicule ou compteur en INCIDENT → 400 not_applicable ; deux photos du compteur de même phase → 400 duplicate ; signature impossible → 503 SERVICE_UNAVAILABLE.\",\"url\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lexio.rent/api-reference/depart-et-retour/create-rental-photo-uploads#webpage\"},\"dateModified\":\"2026-10-29T01:01:12.252Z\",\"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","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","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","description":"**Accès** : `rentals.operate`\n\nClôt une location `IN_PROGRESS` : elle passe `COMPLETED` avec état des lieux de retour, compteur, signature, frais, dépassement kilométrique, paiements et, si l’agence facture au retour, facture (tout ou rien). Facture refusée faute de données : brouillon dans Lexio (`effects.invoice` null).\n\n**Calculs** : Lexio applique le dépassement kilométrique, km cumulés sur les véhicules successifs (`effects.mileageOverage`) ; énergie manquante et retard sont seulement proposés (`effects.suggestedCharges`), à renvoyer dans `charges`.\n\n**Ordre** : frais et dépassement, contrôle de `expectedTotalTTC`, paiements sur ce total, facture. La caution se rend ou se retient dans Lexio.\n\n**Refus**\n- `PRICE_CHANGED` : total différent de `expectedTotalTTC`.\n- `PAYMENT_EXCEEDS_DUE`, `REFUND_EXCEEDS_PAID` : `PAYMENT` au-delà du dû, `REFUND` au-delà du trop-perçu.\n- 400 `out_of_range` : compteur sous le départ du véhicule en cours.\n- `REFERENCE_NOT_FOUND` : dommage du départ inconnu.\n\n`?dryRun=true` : mêmes contrôles et calculs sans écriture, pour afficher le total avant la signature. Contrat régénéré après la réponse.","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","description":"**Accès** : `rentals.operate`\n\nÉtape 3 sur 3 : enregistre, tout ou rien, les fichiers envoyés par `PUT`, désignés par `uploadId` ; `data` suit l’ordre de `items`.\n\n**Contrôles** : chaque fichier est vérifié avant toute écriture (reçu, taille, format réel). Un élément refusé fait refuser le lot en 422 `UPLOAD_INVALID`, un `errors[]` par élément : `upload_incomplete` (refaites le `PUT`), `upload_expired` (préparez un nouveau téléversement), `too_small`, `too_big`, `invalid_format`, `upload_conflict` (déjà enregistré autrement), `duplicate`. `uploadId` inconnu ou retiré depuis → 422 `REFERENCE_NOT_FOUND`.\n\n**Rejeu** : l’identité est `uploadId`, sans `Idempotency-Key` ; le même lot renvoie les mêmes photos.\n\n**Compteur** : la photo `DASHBOARD` remplace celle de sa phase (`effects.replacedPhotoIds`). Les photos `DEPARTURE` envoyées avant le départ figurent dans le contrat de départ.","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":"Préparer le téléversement de photos d’état des lieux - 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"]}