Fleet Clearance: Activation Process

There are many things going on in the background during a vehicle activation process. In an ideal scenario it would be possible to start retrieving data as soon as you add a vehicle, however there are factors that can cause it to take several days before the first data becomes available.

  1. The vehicle needs one or several Over-The-Air (OTA) updates to activate data upload.
  2. Although activation has succeeded, the vehicle might need to be driven in order to generate new data.
  3. In some cases manual intervention is needed if the vehicle privacy mode is turned on.

However as soon as the first data starts to come in, no further delays should be expected. This guide explains the different states you can observe and explains differences from brand to brand.

Guide

See the Fleet Clearance Tutorial for a step-by-step guide to use the Fleet Clearance API endpoints.

Vehicle state flow

Whenever you add a new vehicle using the POST /fleets/vehicles endpoint, an asynchronous process is started to activate data access. We always keep a state of the vehicle activation, which can be one of pending, approved, rejected, revoking, revoked, canceling, canceled or error.

The following chart shows the state changes along with further descriptions below.

Vehicle activation states

Pending state

Once you add a vehicle it is by default in the pending state, which means that we are processing its activation. It should be considered that the activation can take several days or more. If the vehicle software is up to date the activation succeeds faster, as otherwise Over-The-Air (OTA) updates might be required.

If the vehicle remains in the pending state there are a few things that you can check on your side:

  1. Make sure that the vehicle is being driven. If several OTA updates need to be applied, the vehicle has to be driven several times.
  2. The vehicle has to have privacy mode turned off, which can be checked in the vehicle settings screen.

If you have controlled the above but can not get the vehicle activated, get in touch with us on support@high-mobility.com.

BMW & MINI

Exceptions to the above described activation times are BMW & MINI, which both move from pending to approved within moments.

It's possible to cancel the activation process for some vehicles that are in the pending state through the API, it depends on the brands and it will set the vehicle to canceled.

The brands that support clearance cancelation are:

  • alfaromeo
  • citroen
  • ds
  • fiat
  • jeep
  • maserati
  • mercedes-benz
  • opel
  • peugeot
  • vauxhall
  • volkswagen
  • audi
  • skoda
  • seat
  • cupra

Generating new data

We always return the latest available data when you perform a request after the vehicle clearance. If the request is done right after the vehicle state is set to approved, there might not have been any new data being generated since the activation. You will start to receive data as soon as the vehicle is being driven the next time.

BMW & MINI

Exceptions are BMW & MINI, that both have the last uploaded data available as soon as the vehicle is activated.

Here's a few hints for your implementation:

  1. It's possible to see the status of all vehicles using the GET /fleets/vehicles endpoint.
  2. Subscribe to the fleet_clearance_changed webhook to get notified about any state changes.

Pending and reject reasons

If we detect that a vehicle can not be activated, depending on the situation, the vehicle will either stay as pending while we retry, or it will be marked as rejected. In both of these cases we return a reason for the delay or failure. This information is included with the clearance object that you can always inspect using the /v1/fleets/vehicles and /v1/fleets/vehicles/{vin} endpoints as described on the Fleet Clerance API page.

Here's a breakdown of the most common pending and reject reasons. Due to the dynamic nature of the failures the reason is returned as a string in the reason field of a clearance object.

BrandsReasonDescription
GlobalunspecifiedWhen an activation fails without any specific reason, this reason is returned. For many brands this means that the vehicle is not eligible.
Globalinvalid client configurationThis indicates that your project has not been configured by our support team. Please get in touch with your contact person.
Globalinvalid VINThe VIN is not recognised by the manufacturer as an eligible vehicle
Globalineligible VINThe vehicle is not eligible for activation
GlobalVIN is assigned to a different OEM fleetThe VIN is already activated by another customer of the OEM, which blocks High Mobility from activating it
BMW Group, Toyota Group, VW Group, PolestarVIN is assigned to a different app or projectThe VIN is already activated in a different project. Multiple project activation is not possible for these brands.
Ford, Teslaconsent assignment missingFleet operator consent to High Mobility is missing in the OEM portal
Fordinvalid OEM state: VIN revoke in progressFord is still processing a previous request to revoke the VIN, which needs to finish before a new clearance can be created
Mercedes-BenzVIN activation timeoutThe activation of the VIN has timed out as the vehicle could not be reached after several days of retrying
Stellantis Grouptelematics hardware errorThere is an issue with the telematics hardware in the vehicle. Please get in touch with our support team.
Renault Groupinvalid OEM stateThere is an unknown error in the Renault activation API. Please get in touch with our support team.
Renault Group, Volvo Cars, PolestarzOEM fleet assignement failedThe VIN is most likely activated by another customer of the OEM. Please get in touch with our support team.
VW Groupcustomer name tag missingThe fleet operator name is missing in the clearance request. Retry with the vw-group-customer-name tag set.
VW Groupprivacy mode is enabledThe vehicle has privacy mode enabled, which blocks the activation process. We will keep retrying for a number of days before the vehicle is set to rejected.
Stellantis Group, Volvo Carsactivation timeout: no dataWe failed to receive any data from the vehicle during the activation process.

Here's an example of a reject reason JSON response:

  {
    "vin": "VIN0TESTVIN000000",
    "status": "rejected",
    "brand": "volkswagen",
    "changelog": [
      {
        "timestamp": "2025-01-12T09:36:51",
        "status": "pending"
      },
      {
        "timestamp": "2025-01-22T10:42:14",
        "status": "rejected",
        "reason": "privacy mode is enabled"
      }
    ]
  }

More Information

If you have any questions, please contact us on Slack or send us an email.