High Mobility Vehicle API

The High Mobility Vehicle API provides access to real-time connected car data including vehicle telemetry, diagnostics, location, fuel levels, door state, and other vehicle capabilities.

OpenAPI Specification

high-mobility-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: High Mobility Vehicle API
  description: >-
    The High Mobility Vehicle API provides standardized access to connected
    car data across more than 500 models from major automotive OEMs. Endpoints
    return real-time vehicle telemetry covering location, doors, charging,
    diagnostics, climate, trips, and other capabilities. Authentication is
    handled with OAuth 2.0 against the High Mobility platform.
  version: '1.0'
  contact:
    name: High Mobility Developer Support
    url: https://docs.high-mobility.com/
externalDocs:
  description: High Mobility API Reference
  url: https://docs.high-mobility.com/api-references/readme.md
servers:
  - url: https://api.high-mobility.com
    description: Production
  - url: https://sandbox.api.high-mobility.com
    description: Sandbox
tags:
  - name: Authentication
    description: OAuth 2.0 token issuance for the High Mobility platform.
  - name: Vehicle Data
    description: Retrieve real-time vehicle telemetry organized by capability category.
  - name: Vehicle Eligibility
    description: Check brand and capability eligibility for a vehicle.
  - name: Fleet Clearance
    description: Manage fleet vehicle clearance status and onboarding.
security:
  - oauth2: [vehicle:data]
paths:
  /v1/access_token:
    post:
      operationId: createAccessToken
      summary: Create OAuth 2.0 access token
      description: >-
        Exchanges client credentials or an authorization code for an access
        token used to call the Vehicle Data and Fleet Management APIs.
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - grant_type
                - client_id
              properties:
                grant_type:
                  type: string
                  enum: [client_credentials, authorization_code, refresh_token]
                client_id:
                  type: string
                client_secret:
                  type: string
                code:
                  type: string
                refresh_token:
                  type: string
                scope:
                  type: string
      responses:
        '200':
          description: Token issued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessToken'
        '400':
          description: Invalid request
        '401':
          description: Invalid client credentials
  /v1/vehicle-data/autoapi-13/{vin}:
    get:
      operationId: getVehicleData
      summary: Get vehicle data by VIN
      description: >-
        Retrieves the latest available connected vehicle data payload for a
        given VIN. Response covers all capabilities the vehicle and its
        clearance grant access to, such as doors, charging, diagnostics,
        climate, trips, and location.
      tags:
        - Vehicle Data
      parameters:
        - name: vin
          in: path
          required: true
          description: Vehicle Identification Number.
          schema:
            type: string
      responses:
        '200':
          description: Vehicle data payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleData'
        '401':
          description: Unauthorized
        '403':
          description: Insufficient scope or clearance
        '404':
          description: Vehicle not found
        '429':
          description: Too many requests
  /v1/eligibility/{vin}:
    get:
      operationId: getVehicleEligibility
      summary: Get vehicle eligibility
      description: >-
        Returns brand and capability eligibility metadata for the requested
        vehicle, including supported data points and required clearance flow.
      tags:
        - Vehicle Eligibility
      parameters:
        - name: vin
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Eligibility result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Eligibility'
        '401':
          description: Unauthorized
        '404':
          description: Vehicle not found
  /v1/fleet/vehicles:
    get:
      operationId: listFleetVehicles
      summary: List fleet vehicles
      description: >-
        Lists vehicles registered to the calling fleet account along with
        their clearance status.
      tags:
        - Fleet Clearance
      responses:
        '200':
          description: List of fleet vehicles
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FleetVehicle'
        '401':
          description: Unauthorized
    post:
      operationId: addFleetVehicle
      summary: Register vehicle to fleet
      description: >-
        Adds a vehicle to the fleet and initiates the clearance process for
        the configured OEM.
      tags:
        - Fleet Clearance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FleetVehicleRequest'
      responses:
        '201':
          description: Vehicle registered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetVehicle'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/fleet/vehicles/{vin}:
    get:
      operationId: getFleetVehicle
      summary: Get fleet vehicle
      description: >-
        Returns the clearance status and metadata for a single fleet vehicle.
      tags:
        - Fleet Clearance
      parameters:
        - name: vin
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Fleet vehicle
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetVehicle'
        '404':
          description: Not found
    delete:
      operationId: removeFleetVehicle
      summary: Remove fleet vehicle
      description: Removes a vehicle from the fleet and revokes clearance.
      tags:
        - Fleet Clearance
      parameters:
        - name: vin
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Removed
        '404':
          description: Not found
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.high-mobility.com/v1/access_token
          scopes:
            vehicle:data: Read connected vehicle data
        authorizationCode:
          authorizationUrl: https://owner-panel.high-mobility.com/oauth/new
          tokenUrl: https://api.high-mobility.com/v1/access_token
          scopes:
            vehicle:data: Read connected vehicle data
  schemas:
    AccessToken:
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
          example: Bearer
        expires_in:
          type: integer
        refresh_token:
          type: string
        scope:
          type: string
    Eligibility:
      type: object
      properties:
        vin:
          type: string
        brand:
          type: string
        eligible:
          type: boolean
        capabilities:
          type: array
          items:
            type: string
        clearance_required:
          type: boolean
    FleetVehicle:
      type: object
      properties:
        vin:
          type: string
        brand:
          type: string
        license_plate:
          type: string
        clearance_status:
          type: string
          enum: [pending, approved, revoked, error]
        created_at:
          type: string
          format: date-time
    FleetVehicleRequest:
      type: object
      required:
        - vin
        - brand
      properties:
        vin:
          type: string
        brand:
          type: string
        license_plate:
          type: string
    VehicleData:
      type: object
      description: >-
        Aggregated vehicle data response. Includes any capability sections the
        vehicle and clearance permit; example fields shown.
      properties:
        vin:
          type: string
        timestamp:
          type: string
          format: date-time
        doors:
          $ref: '#/components/schemas/Doors'
        charging:
          $ref: '#/components/schemas/Charging'
        diagnostics:
          $ref: '#/components/schemas/Diagnostics'
        vehicle_location:
          $ref: '#/components/schemas/VehicleLocation'
    Doors:
      type: object
      properties:
        locks:
          type: array
          items:
            type: object
            properties:
              location:
                type: string
                enum: [front_left, front_right, rear_left, rear_right]
              lock:
                type: string
                enum: [locked, unlocked]
              position:
                type: string
                enum: [open, closed]
    Charging:
      type: object
      properties:
        battery_level:
          type: integer
        estimated_range:
          type: integer
        charging_state:
          type: string
          enum: [disconnected, plugged_in, charging, completed]
        charge_limit:
          type: integer
    Diagnostics:
      type: object
      properties:
        mileage:
          type: integer
        speed:
          type: integer
        fuel_level:
          type: integer
        engine_rpm:
          type: integer
        engine_oil_temperature:
          type: number
    VehicleLocation:
      type: object
      properties:
        latitude:
          type: number
          format: float
        longitude:
          type: number
          format: float