BMW ConnectedDrive Vehicles API

Access vehicle data and information

Operations 7

GET /customers/vehicles/{vin}/telematicData Request Vehicle's telematic data for a container, for the specified vehicle. #
GET /customers/vehicles/{vin}/smartMaintenanceTyreDiagnosis Request a vehicle Smart Maintenance Tyre Diagnosis for the specified vehicle. #
GET /customers/vehicles/{vin}/locationBasedChargingSettings Request Vehicle's location based charging settings #
GET /customers/vehicles/{vin}/image Request a vehicle image for the specified vehicle. #
GET /customers/vehicles/{vin}/chargingHistory Request the vehicle's Charging History sessions. #
GET /customers/vehicles/{vin}/basicData Request basic vehicle data for the specified vehicle. #
GET /customers/vehicles/mappings Request mapped vehicles. #

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/bmw-connecteddrive-vehicles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

bmw-connecteddrive-vehicles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CARDATA Containers Vehicles API
  version: 1.0.0
  description: Management of containers
servers:
- url: https://api-cardata.bmwgroup.com
  description: Generated server url
tags:
- name: Vehicles
  description: Access vehicle data and information
paths:
  /customers/vehicles/{vin}/telematicData:
    get:
      tags:
      - Vehicles
      summary: Request Vehicle's telematic data for a container, for the specified vehicle.
      operationId: getTelematicData
      description: Please note that some keys are bound to dedicated endpoints. These keys can be added to a container, but the corresponding endpoint for which the container is an input-parameter (/telematicData/), won't return these keys. For further details, check the Integration Guide (chapter 3.3.2).
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      - name: containerId
        in: query
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: A specific list of telematic key and values was returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExVeTelematicDataResponseDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ExVeTelematicDataResponseDto'
      security:
      - bearerAuth: []
  /customers/vehicles/{vin}/smartMaintenanceTyreDiagnosis:
    get:
      tags:
      - Vehicles
      summary: Request a vehicle Smart Maintenance Tyre Diagnosis for the specified vehicle.
      operationId: getSmartMaintenanceTyreDiagnosis
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: Specific vehicle Smart Maintenance Tyre Diagnosis Data is provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMaintenanceTyreDiagnosisDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/SmartMaintenanceTyreDiagnosisDto'
      security:
      - bearerAuth: []
  /customers/vehicles/{vin}/locationBasedChargingSettings:
    get:
      tags:
      - Vehicles
      summary: Request Vehicle's location based charging settings
      operationId: getLocationBasedChargingSettings
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      - name: nextToken
        in: query
        required: false
        schema:
          type: string
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: List of location based charging settings returned for the VIN.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationBasedChargingSettingsDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/LocationBasedChargingSettingsDto'
      security:
      - bearerAuth: []
  /customers/vehicles/{vin}/image:
    get:
      tags:
      - Vehicles
      summary: Request a vehicle image for the specified vehicle.
      operationId: getImage
      produces:
      - image/png,image/jpeg,application/json
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: A specific vehicle image is provided
          content:
            '*/*':
              schema:
                type: file
      security:
      - bearerAuth: []
  /customers/vehicles/{vin}/chargingHistory:
    get:
      tags:
      - Vehicles
      summary: Request the vehicle's Charging History sessions.
      operationId: getChargingHistory
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      - name: nextToken
        in: query
        required: false
        schema:
          type: string
      - name: from
        in: query
        required: true
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        required: true
        schema:
          type: string
          format: date-time
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: Whatever Charging History respond will be passed on.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargingHistoryResponseDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ChargingHistoryResponseDto'
      security:
      - bearerAuth: []
  /customers/vehicles/{vin}/basicData:
    get:
      tags:
      - Vehicles
      summary: Request basic vehicle data for the specified vehicle.
      operationId: getBasicData
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      - name: vin
        in: path
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: A VIN specific list of telematic key and values was returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/VehicleDto'
      security:
      - bearerAuth: []
  /customers/vehicles/mappings:
    get:
      tags:
      - Vehicles
      summary: Request mapped vehicles.
      operationId: getMappings
      parameters:
      - in: header
        name: x-version
        required: true
        schema:
          type: string
          default: v1
      responses:
        '400':
          description: Bad request. Please check API specification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '401':
          description: Authentication Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '403':
          description: Access to resource is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '500':
          description: A permanent server error occurred. Report this error if it occurs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '503':
          description: A temporary server error occurred. Retry again later or report this error if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/CustomerErrorResponse'
        '200':
          description: List of mapped vehicles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleMappingDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/VehicleMappingDto'
      security:
      - bearerAuth: []
components:
  schemas:
    TreadDto:
      type: object
      properties:
        carcass:
          type: string
        label:
          type: string
        manufacturer:
          type: string
        treadDesign:
          type: string
        value:
          type: string
    BusinessErrorDto:
      type: object
      properties:
        creationTime:
          type: string
          format: date-time
        hint:
          type: string
    LocationBasedChargingTimeWindowDto:
      type: object
      properties:
        startChargingTimePeriodHour:
          type: integer
          format: int32
        startChargingTimePeriodMinute:
          type: integer
          format: int32
        stopChargingTimePeriodHour:
          type: integer
          format: int32
        stopChargingTimePeriodMinute:
          type: integer
          format: int32
    PassengerCarDto:
      type: object
      properties:
        mountedTyres:
          $ref: '#/components/schemas/PassengerCarTyreSetDto'
        unmountedTyres:
          $ref: '#/components/schemas/PassengerCarTyreSetDto'
    PassengerCarTyreSetDto:
      type: object
      properties:
        aggregatedQualityStatus:
          $ref: '#/components/schemas/AggregatedQualityStatusDto'
        frontLeft:
          $ref: '#/components/schemas/TyreDataDto'
        frontRight:
          $ref: '#/components/schemas/TyreDataDto'
        label:
          type: string
        rearLeft:
          $ref: '#/components/schemas/TyreDataDto'
        rearRight:
          $ref: '#/components/schemas/TyreDataDto'
    SeasonDto:
      type: object
      properties:
        label:
          type: string
        season:
          type: string
        value:
          type: string
    VehicleDto:
      type: object
      properties:
        vin:
          type: string
        brand:
          type: string
          enum:
          - BMW
          - BMWi
          - BMW Motorrad
          - Toyota-Supra
          - MINI
          - Rolls-Royce
        isTelematicsCapable:
          type: boolean
        puStep:
          type: string
        modelRange:
          type: string
        series:
          type: string
        modelName:
          type: string
        modelKey:
          type: string
        bodyType:
          type: string
        numberOfDoors:
          type: integer
          format: int32
        hasNavi:
          type: boolean
        headUnit:
          type: string
        hasSunRoof:
          type: boolean
        countryCodeISO:
          type: string
        steering:
          type: string
        engine:
          type: string
        driveTrain:
          type: string
        chargingModes:
          type: array
          items:
            type: string
        propulsionType:
          type: string
        colourCode:
          type: string
        colourCodeRaw:
          type: string
        constructionDate:
          type: string
        fullSAList:
          type: string
        hvsMaxEnergyAbsolute:
          type: string
        simStatus:
          type: string
    PublicChargingPointDto:
      type: object
      properties:
        potentialChargingPointMatches:
          type: array
          items:
            $ref: '#/components/schemas/PublicChargingPointMatchesDto'
      required:
      - potentialChargingPointMatches
    ChargingHistoryResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ChargingSessionDto'
        next_token:
          type: string
      required:
      - data
    RunFlatDto:
      type: object
      properties:
        label:
          type: string
        runFlat:
          type: boolean
        value:
          type: string
    DimensionDto:
      type: object
      properties:
        aspectRatio:
          type: integer
          format: int32
        constructionType:
          type: string
        label:
          type: string
        loadIndex:
          type: integer
          format: int32
        rimDiameter:
          type: integer
          format: int32
        sectionWidth:
          type: integer
          format: int32
        speedRating:
          type: string
        value:
          type: string
    ChargingBlockDto:
      type: object
      properties:
        startTime:
          type: integer
          format: int64
        endTime:
          type: integer
          format: int64
        averagePowerGridKw:
          type: number
          format: double
      required:
      - endTime
      - startTime
    MountingDateDto:
      type: object
      properties:
        label:
          type: string
        mountingDate:
          type: string
        value:
          type: string
    TyreDataDto:
      type: object
      properties:
        dimension:
          $ref: '#/components/schemas/DimensionDto'
        label:
          type: string
        mountingDate:
          $ref: '#/components/schemas/MountingDateDto'
        optimizedForOem:
          $ref: '#/components/schemas/OptimizedForOemDto'
        partNumber:
          $ref: '#/components/schemas/PartNumberDto'
        qualityStatus:
          $ref: '#/components/schemas/QualityStatusDto'
        runFlat:
          $ref: '#/components/schemas/RunFlatDto'
        season:
          $ref: '#/components/schemas/SeasonDto'
        tread:
          $ref: '#/components/schemas/TreadDto'
        tyreDefect:
          $ref: '#/components/schemas/TyreDefectDto'
        tyreProductionDate:
          $ref: '#/components/schemas/TyreProductionDateDto'
        tyreWear:
          $ref: '#/components/schemas/TyreWearDto'
    ChargingLocationDto:
      type: object
      properties:
        municipality:
          type: string
        formattedAddress:
          type: string
        streetAddress:
          type: string
        mapMatchedLatitude:
          type: number
        mapMatchedLongitude:
          type: number
      required:
      - formattedAddress
      - municipality
      - streetAddress
    TyreDefectDto:
      type: object
      properties:
        label:
          type: string
        value:
          type: string
        status:
          type: string
        statusColor:
          type: string
          enum:
          - RED
          - YELLOW
          - GREEN
          - GREY
    LocationBasedChargingSettingsDataDto:
      type: object
      properties:
        id:
          type: string
        lastUpdated:
          type: string
        clusterLocationId:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        lastVisit:
          type: string
        visits:
          type: integer
          format: int32
        chargingMode:
          type: string
        optimizedChargingPreference:
          type: string
        startChargingTimePeriodHour:
          type: integer
          format: int32
        startChargingTimePeriodMinute:
          type: integer
          format: int32
        stopChargingTimePeriodHour:
          type: integer
          format: int32
        stopChargingTimePeriodMinute:
          type: integer
          format: int32
        vehicleIdWithGcid:
          type: string
        chargingTimeWindows:
          type: array
          items:
            $ref: '#/components/schemas/LocationBasedChargingTimeWindowDto'
        acCurrentLimitFlag:
          type: string
        acCurrentLimit:
          type: number
          format: double
        acousticLimit:
          type: string
        flapLock:
          type: string
        chargingPlug:
          type: string
    VehicleMappingDto:
      type: object
      properties:
        vin:
          type: string
        mappedSince:
          type: string
          format: date-time
        mappingType:
          type: string
          enum:
          - PRIMARY
          - SECONDARY
    TelematicDataEntryDto:
      type: object
      properties:
        value:
          type: string
        unit:
          type: string
        timestamp:
          type: string
    TyreWearDto:
      type: object
      properties:
        label:
          type: string
        value:
          type: string
        status:
          type: string
        statusColor:
          type: string
          enum:
          - RED
          - YELLOW
          - GREEN
          - GREY
        dueMileage:
          type: integer
          format: int32
        unit:
          type: string
          enum:
          - KILOMETER
          - MILE
    SmartMaintenanceErrorDto:
      type: object
      properties:
        eventId:
          type: string
        message:
          type: object
        type:
          type: string
    AggregatedQualityStatusDto:
      type: object
      properties:
        label:
          type: string
        qualityStatus:
          type: string
        value:
          type: string
    PublicChargingPointMatchesDto:
      type: object
      properties:
        postalCode:
          type: string
        streetAddress:
          type: string
        providerName:
          type: string
        city:
          type: string
    QualityStatusDto:
      type: object
      properties:
        label:
          type: string
        qualityStatus:
          type: string
        value:
          type: string
    ExVeTelematicDataResponseDto:
      type: object
      properties:
        telematicData:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TelematicDataEntryDto'
    OptimizedForOemDto:
      type: object
      properties:
        label:
          type: string
        optimizedForOem:
          type: string
        value:
          type: string
    LocationBasedChargingSettingsDto:
      type: object
      properties:
        nextToken:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/LocationBasedChargingSettingsDataDto'
    TyreProductionDateDto:
      type: object
      properties:
        label:
          type: string
        statusColor:
          type: string
          enum:
          - RED
          - YELLOW
          - GREEN
          - GREY
        value:
          type: string
    SmartMaintenanceTyreDiagnosisDto:
      type: object
      properties:
        passengerCar:
          $ref: '#/components/schemas/PassengerCarDto'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/SmartMaintenanceErrorDto'
    ChargingSessionDto:
      type: object
      properties:
        publicChargingPoint:
          $ref: '#/components/schemas/PublicChargingPointDto'
        displayedSoc:
          type: integer
          format: int32
        displayedStartSoc:
          type: integer
          format: int32
        businessErrors:
          type: array
          items:
            $ref: '#/components/schemas/BusinessErrorDto'
        timeZone:
          type: string
        startTime:
          type: integer
          format: int64
        endTime:
          type: integer
          format: int64
        totalChargingDurationSec:
          type: integer
          format: int32
        energyConsumedFromPowerGridKwh:
          type: number
          format: double
        energyDecreaseHvbKwh:
          type: number
          format: double
          example: '1.2'
        energyDischargedKwh:
          type: number
          format: double
          example: '1.2'
        isPreconditioningActivated:
          type: boolean
        mileage:
          type: integer
          format: int32
          minimum: 0
        mileageUn

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bmw-connecteddrive/refs/heads/main/openapi/bmw-connecteddrive-vehicles-api-openapi.yml