Lexio Organisation API

Réglages de l’organisation liée à la clé : devise, fuseau, TVA, horaires, règles de réservation.

GitHub OpenAPI

Operations 1

GET /organization Lire l’organisation et la clé #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lexio-rent:lexio-rent-organisation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lexio-rent-organisation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lexio Organisation API
  version: 1.0.5
  description: '# API Lexio v1


    L’API Lexio permet à un loueur de véhicules, ou à une plateforme partenaire autorisée par lui, d’obtenir des prix, réserver, suivre et administrer ses locations depuis un serveur. Chaque appel agit sur l’organisation Lexio d’un seul loueur.


    - **Adresse de base** : `https://api.lexio.rent/api/external/v1`

    - **Authentification** : `Authorization: Bearer lck_…`, une clé créée par le loueur dans Lexio.

    - **Format** : JSON en UTF-8 ; erreurs RFC 9457 avec un `code` stable.

    - Réponses : `{ "data" }` ; listes `{ "data", "nextCursor" }` (Pagination) ; actions `{ "data", "effects" }`, `effects` décrivant ce que l’appel a déclenché (détaillé dans la référence).

    - Dates : `startAt` et `endAt` en heure locale du loueur (`timezone`), sans décalage (`2026-11-28T10:00`, sinon `400 offset_not_allowed`) ; les réponses les rendent avec décalage, retirez-le avant de les renvoyer. Instants réels (`actualStartAt`, `actualEndAt`, `paidAt`, `takenAt`, `effectiveAt`) en RFC 3339 avec décalage (sinon `400 offset_required`).

    - `PATCH` : champ omis inchangé, `null` efface ; un objet imbriqué est remplacé en entier, sauf s’il est dit « fusionné » sur l’opération.

    - Corps de 1 Mio au plus, en `application/json` (`application/merge-patch+json` aussi sur `PATCH`). Trop gros : `413` ; autre type : `415` ; JSON illisible : `400` ; champ inconnu : `400` (dans une réponse, ignorez-le : Versions et évolutions).

    - Chaque réponse porte `X-Request-Id`, repris dans `requestId` des erreurs. Vous pouvez fournir le vôtre (8 à 128 caractères parmi `A-Za-z0-9._:-`), sinon le serveur en génère un. Joignez-le à toute demande à contact@lexio.rent.

    - **Spécification OpenAPI 3.1** : https://docs.lexio.rent/openapi.json, à importer dans votre client HTTP ou à utiliser pour générer un client.

    - **Contact** (support technique, demande d’accès, organisation de démonstration) : contact@lexio.rent.


    Vocabulaire : le **loueur** est l’entreprise de location, son **organisation** est son compte Lexio ; une **location** (`/rentals`) est un contrat de location d’un véhicule ; un **lieu** (`/locations`) est une adresse de départ ou de retour (le type `AGENCY` n’est qu’un type de lieu, pas le loueur).'
  contact:
    name: Support Lexio
    email: contact@lexio.rent
    url: https://docs.lexio.rent
servers:
- url: https://api.lexio.rent/api/external/v1
  description: Production
security:
- ApiKey: []
tags:
- name: Organisation
  description: 'Réglages de l’organisation liée à la clé : devise, fuseau, TVA, horaires, règles de réservation.'
paths:
  /organization:
    get:
      operationId: getOrganization
      summary: Lire l’organisation et la clé
      description: '**Accès** : toute clé valide


        Renvoie les réglages du loueur qui gouvernent les dates et les prix, et la clé qui appelle.


        À lire une fois au démarrage : devise et nombre de décimales des montants (Montants et TVA), fuseau des heures de location, TVA, horaires et règles de réservation imposés aux clés partenaires.'
      tags:
      - Organisation
      security:
      - ApiKey: []
      x-required-scopes: []
      parameters: []
      responses:
        '200':
          description: La ressource demandée.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Organization'
                required:
                - data
        '400':
          description: '`VALIDATION_FAILED`'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidationFailedProblem'
        '401':
          description: '`API_KEY_DISABLED`, `API_KEY_EXPIRED`, `API_KEY_INVALID`, `API_KEY_MISSING`, `API_KEY_REVOKED`'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            WWW-Authenticate:
              $ref: '#/components/headers/WwwAuthenticate'
          content:
            application/problem+json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApiKeyDisabledProblem'
                - $ref: '#/components/schemas/ApiKeyExpiredProblem'
                - $ref: '#/components/schemas/ApiKeyInvalidProblem'
                - $ref: '#/components/schemas/ApiKeyMissingProblem'
                - $ref: '#/components/schemas/ApiKeyRevokedProblem'
        '403':
          description: '`FEATURE_NOT_AVAILABLE`, `INSUFFICIENT_SCOPE`, `ORGANIZATION_SUSPENDED`'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/problem+json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/FeatureNotAvailableProblem'
                - $ref: '#/components/schemas/InsufficientScopeProblem'
                - $ref: '#/components/schemas/OrganizationSuspendedProblem'
        '429':
          description: '`RATE_LIMITED`'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Retry-After:
              $ref: '#/components/headers/RetryAfter'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/RateLimitedProblem'
        '500':
          description: '`INTERNAL_ERROR`'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/InternalErrorProblem'
      x-mint:
        href: /api-reference/organisation/get-organization
        metadata:
          title: Lire l’organisation et la clé
          sidebarTitle: Lire l’organisation et la clé
components:
  schemas:
    Organization:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Identifiant de l’organisation du loueur.
        name:
          type: string
          description: Nom commercial du loueur.
        currency:
          type: string
          enum:
          - EUR
          - XPF
          - CHF
          - CAD
          - GBP
          - USD
          - XOF
          description: Devise du loueur (ISO 4217), celle de tous les montants de son catalogue.
          examples:
          - EUR
        currencyExponent:
          type: integer
          minimum: 0
          maximum: 3
          description: 'Nombre de décimales de la devise : 2 pour EUR, 0 pour XPF. Tout montant envoyé au-delà est refusé (400 `too_many_decimals`).'
        timezone:
          type: string
          minLength: 1
          description: 'Fuseau IANA du loueur : les heures de location sont des heures locales de ce fuseau.'
          examples:
          - Europe/Paris
        vatPercent:
          type: number
          minimum: 0
          maximum: 100
          description: Taux de TVA appliqué aux prix HT, en % ; 0 si le loueur est exonéré.
        isVatExempt:
          type: boolean
          description: 'true : loueur exonéré de TVA, `vatPercent` vaut alors 0.'
        isVatReverseChargeAvailable:
          type: boolean
          description: 'true : le loueur admet l’autoliquidation de TVA (`isVatReverseCharge`), sous réserve du client et de la durée (`reason` `NOT_ELIGIBLE`) ; sinon une telle demande répond 422 `VAT_REVERSE_CHARGE_NOT_ALLOWED`.'
        toleranceHours:
          type: integer
          minimum: 0
          description: 'Retard toléré, en heures, avant de facturer un jour de plus : une durée de 3 jours et 2 h est facturée 3 jours si `toleranceHours` ≥ 2, sinon 4.'
        rentalBufferMinutes:
          type: integer
          minimum: 0
          description: 'Battement, en minutes, laissé libre avant et après chaque location d’un véhicule : un véhicule n’est pas disponible pendant ce battement.'
        businessHours:
          type: object
          properties:
            isOpen24h:
              type: boolean
              description: 'true : ouvert tous les jours de 00:00 à 23:59, `days` le reflète.'
            days:
              minItems: 7
              maxItems: 7
              type: array
              items:
                type: object
                properties:
                  day:
                    type: string
                    enum:
                    - MONDAY
                    - TUESDAY
                    - WEDNESDAY
                    - THURSDAY
                    - FRIDAY
                    - SATURDAY
                    - SUNDAY
                    description: Jour de la semaine.
                  isOpen:
                    type: boolean
                    description: 'false : loueur fermé ce jour-là.'
                  openingTime:
                    anyOf:
                    - type: string
                      pattern: ^([01]\d|2[0-3]):[0-5]\d$
                      examples:
                      - 09:00
                    - type: 'null'
                    description: Heure d’ouverture `HH:mm`, heure locale du loueur ; null un jour fermé.
                  closingTime:
                    anyOf:
                    - type: string
                      pattern: ^([01]\d|2[0-3]):[0-5]\d$
                      examples:
                      - 09:00
                    - type: 'null'
                    description: Heure de fermeture `HH:mm`, incluse ; null un jour fermé.
                required:
                - day
                - isOpen
                - openingTime
                - closingTime
              description: Les 7 jours de la semaine, du lundi au dimanche.
          required:
          - isOpen24h
          - days
          description: 'Horaires d’ouverture. Clé partenaire : départ et retour doivent tomber dans ces horaires (422 `BOOKING_RULE_VIOLATION`) ; une clé interne n’y est pas soumise.'
        bookingRules:
          type: object
          properties:
            minLeadHours:
              type: integer
              minimum: 0
              description: Délai minimal, en heures, entre maintenant et le départ.
            maxHorizonDays:
              type: integer
              minimum: 0
              description: Le départ tombe au plus tard ce nombre de jours après aujourd’hui.
            minRentalDays:
              type: integer
              minimum: 0
              description: Nombre minimal de jours calendaires entre le jour du départ et celui du retour.
          required:
          - minLeadHours
          - maxHorizonDays
          - minRentalDays
          description: Règles de réservation, appliquées aux seules clés partenaires (422 `BOOKING_RULE_VIOLATION`).
        apiKey:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Identifiant de la clé qui appelle.
            name:
              type: string
              description: Nom donné à la clé dans Lexio.
            partnerCode:
              description: 'Code partenaire de la clé : elle ne voit que les clients, devis, locations et événements de ce code. null pour une clé interne, qui voit tous les clients et locations du loueur.'
              type:
              - string
              - 'null'
            scopes:
              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
              description: Scopes accordés à la clé.
            expiresAt:
              anyOf:
              - type: string
                format: date-time
                examples:
                - '2027-11-10T10:00:00+01:00'
              - type: 'null'
              description: Fin de validité de la clé ; null si elle n’expire pas.
          required:
          - id
          - name
          - partnerCode
          - scopes
          - expiresAt
          description: La clé API qui fait l’appel.
      required:
      - id
      - name
      - currency
      - currencyExponent
      - timezone
      - vatPercent
      - isVatExempt
      - isVatReverseChargeAvailable
      - toleranceHours
      - rentalBufferMinutes
      - businessHours
      - bookingRules
      - apiKey
      examples:
      - id: 5f0c9a7e-2b1d-4c3e-8f6a-9d2e1b7c4a03
        name: Riviera Location Nice
        currency: EUR
        currencyExponent: 2
        timezone: Europe/Paris
        vatPercent: 20
        isVatExempt: false
        isVatReverseChargeAvailable: false
        toleranceHours: 2
        rentalBufferMinutes: 120
        businessHours:
          isOpen24h: false
          days:
          - day: MONDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: TUESDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: WEDNESDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: THURSDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: FRIDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: SATURDAY
            isOpen: true
            openingTime: 08:00
            closingTime: '19:00'
          - day: SUNDAY
            isOpen: false
            openingTime: null
            closingTime: null
        bookingRules:
          minLeadHours: 2
          maxHorizonDays: 365
          minRentalDays: 1
        apiKey:
          id: c3e8a1f4-6b2d-4e9a-8c7f-1a2b3c4d5e6f
          name: Site de réservation
          partnerCode: null
          scopes:
          - offers.read
          - quotes.write
          - rentals.read
          - rentals.write
          expiresAt: null
    InsufficientScopeProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/insufficient-scope
        title:
          type: string
          examples:
          - Scope insuffisant
        status:
          type: number
          const: 403
        code:
          type: string
          const: INSUFFICIENT_SCOPE
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
        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
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
      - requiredScopes
    ApiKeyInvalidProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/api-key-invalid
        title:
          type: string
          examples:
          - Clé API invalide
        status:
          type: number
          const: 401
        code:
          type: string
          const: API_KEY_INVALID
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    RateLimitedProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/rate-limited
        title:
          type: string
          examples:
          - Trop de requêtes
        status:
          type: number
          const: 429
        code:
          type: string
          const: RATE_LIMITED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
        limit:
          type: string
          enum:
          - PRE_AUTH
          - PER_KEY
          - WRITE
          - QUOTE
        windowSeconds:
          type: integer
          minimum: 1
        retryAfter:
          type: integer
          minimum: 0
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
      - limit
      - windowSeconds
      - retryAfter
    ApiKeyMissingProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/api-key-missing
        title:
          type: string
          examples:
          - Clé API absente
        status:
          type: number
          const: 401
        code:
          type: string
          const: API_KEY_MISSING
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    ApiKeyRevokedProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/api-key-revoked
        title:
          type: string
          examples:
          - Clé API révoquée
        status:
          type: number
          const: 401
        code:
          type: string
          const: API_KEY_REVOKED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    ValidationFailedProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/validation-failed
        title:
          type: string
          examples:
          - Requête invalide
        status:
          type: number
          const: 400
        code:
          type: string
          const: VALIDATION_FAILED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
        errors:
          minItems: 1
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              pointer:
                type: 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
              detail:
                type: string
            required:
            - pointer
            - code
            - detail
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
      - errors
    OrganizationSuspendedProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/organization-suspended
        title:
          type: string
          examples:
          - Organisation suspendue
        status:
          type: number
          const: 403
        code:
          type: string
          const: ORGANIZATION_SUSPENDED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    ApiKeyDisabledProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/api-key-disabled
        title:
          type: string
          examples:
          - Clé API désactivée
        status:
          type: number
          const: 401
        code:
          type: string
          const: API_KEY_DISABLED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    InternalErrorProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/internal-error
        title:
          type: string
          examples:
          - Erreur interne
        status:
          type: number
          const: 500
        code:
          type: string
          const: INTERNAL_ERROR
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    ApiKeyExpiredProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/api-key-expired
        title:
          type: string
          examples:
          - Clé API expirée
        status:
          type: number
          const: 401
        code:
          type: string
          const: API_KEY_EXPIRED
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
    FeatureNotAvailableProblem:
      type: object
      properties:
        type:
          type: string
          const: https://api.lexio.rent/errors/feature-not-available
        title:
          type: string
          examples:
          - Fonctionnalité non incluse
        status:
          type: number
          const: 403
        code:
          type: string
          const: FEATURE_NOT_AVAILABLE
        detail:
          type: string
          examples:
          - Explication lisible, propre à cette requête.
        instance:
          type: string
          examples:
          - /api/external/v1/rentals
        requestId:
          type: string
          examples:
          - 5b0e2a1c-8f3d-4c7e-9a6b-1d2e3f4a5b6c
        feature:
          type: string
          minLength: 1
      required:
      - type
      - title
      - status
      - code
      - detail
      - instance
      - requestId
      - feature
  headers:
    XRequestId:
      description: Identifiant de la requête, à communiquer au support.
      schema:
        type: string
    RetryAfter:
      description: Secondes à attendre avant de renvoyer la requête ; présent seulement avec `IDEMPOTENCY_IN_FLIGHT`, `RENTAL_BUSY`, `RATE_LIMITED` et `SERVICE_UNAVAILABLE`.
      schema:
        type: integer
        minimum: 0
    RateLimitLimit:
      description: 'Plafond du compteur `PER_KEY` de la clé (requêtes par minute). Les compteurs `WRITE` et `QUOTE` ne se signalent que par un `429` : voir [Limites de débit](https://docs.lexio.rent/limites).'
      schema:
        type: integer
        minimum: 0
    RateLimitRemaining:
      description: Requêtes encore permises sur le compteur `PER_KEY` dans la fenêtre en cours.
      schema:
        type: integer
        minimum: 0
    WwwAuthenticate:
      description: Schéma d’authentification attendu (`Bearer`), avec `error="invalid_token"` pour une clé refusée.
      schema:
        type: string
    RateLimitReset:
      description: Secondes avant la remise à zéro du compteur `PER_KEY`.
      schema:
        type: integer
        minimum: 0
  securitySchemes:
    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).'