Extended Vehicle API

Volvo Cars’ new platform for innovation

Getting there...

Your Applications

Link copied

Latest information of any connected Volvo vehicle remotely. Below guide describes Extended Vehicle API and how to integrate your app.

Overview

Link copied

The Extended Vehicle API allows you to get latest information of the vehicle such as distance driven, fuel level, windows and doors, rooftop or sunroof and light status of any connected Volvo vehicles remotely. Below is a step-by-step guide that shows you how to use the Extended Vehicle API and how to get onboarded.

For advanced usage, you can find detailed information about parameters within the specification or below within the documentation section. You can also download the OpenAPI specification as a JSON file to generate clients from it.

App Settings

Link copied

Listed below are the settings that you need to keep in your application and use when you want to perform a request towards the Extended Vehicle API, OAuth settings will be provided once your application request has been reviewed and approved.

FieldDescription

Client ID

The unique identifier of your application used with OAuth.

Client Secret

The secret key of your application used with OAuth, store this securely and never expose it to the public.

vcc-api-key

The unique identifier of your application used in API calls.

Authorization

Link copied

In each request against the API a valid access token is needed, read more about the authorization flow here.

To test your application you can also use our generated access tokens. These can be found here.

API information

Link copied

The Extended Vehicle API will provide the possibility for accredited 3rd party applications to access vehicle status remotely. In this section you will find information about all of the endpoints exposed by the API with information such as example requests and responses.

1 - Get vehicle list

Link copied

Provides all current valid relations between a Volvo ID (users account) and its connected vehicles. Returns a list of VIN numbers together with timestamp of relation.

Required scopes:

"vehicle:attributes"

FieldDescription

id

Vehicle identifier, usually a VIN

timestamp

The time when the latest value was received, the time is displayed in milliseconds.

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "vehicles": [
    {
      "timestamp": 1603032970144,
      "id": "YV4952NA4F120DEMO"
    },
    {
      "timestamp": 1603032970144,
      "id": "YV4952NA4F130DEMO"
    }
  ]
}

2 - Get vehicle resources

Link copied

After receiving which vehicles are connected to the end-user you can use the resources endpoint with an id from the previous request in order to find out which resources are available for read out on the vehicle.

Required scopes:

"vehicle:attributes"

FieldDescription

version

Version of this resource

name

Name of the resource

href

Url to the resource for a specific ID

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "resources": [
    {
      "version": "1.0",
      "name": "averageFuelConsumption",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageFuelConsumption"
    },
    {
      "version": "1.0",
      "name": "averageSpeed",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageSpeed"
    },
    {
      "version": "1.0",
      "name": "backupBatteryRemaining",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/backupBatteryRemaining"
    },
    {
      "version": "1.0",
      "name": "brakeFluid",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/brakeFluid"
    },
    {
      "version": "1.0",
      "name": "bulbFailure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/bulbFailure"
    },
    {
      "version": "1.0",
      "name": "cabOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/cabOpen"
    },
    {
      "version": "1.0",
      "name": "carLocked",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/carLocked"
    },
    {
      "version": "1.0",
      "name": "distanceToEmpty",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/distanceToEmpty"
    },
    {
      "version": "1.0",
      "name": "engineCoolantLevel",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantLevel"
    },
    {
      "version": "1.0",
      "name": "engineCoolantTemp",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantTemp"
    },
    {
      "version": "1.0",
      "name": "engineHoursToService",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineHoursToService"
    },
    {
      "version": "1.0",
      "name": "engineRunning",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineRunning"
    },
    {
      "version": "1.0",
      "name": "externalTemp",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/externalTemp"
    },
    {
      "version": "1.0",
      "name": "frontLeftDoorOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftDoorOpen"
    },
    {
      "version": "1.0",
      "name": "frontLeftTyrePressure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftTyrePressure"
    },
    {
      "version": "1.0",
      "name": "frontLeftWindowOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftWindowOpen"
    },
    {
      "version": "1.0",
      "name": "frontRightDoorOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightDoorOpen"
    },
    {
      "version": "1.0",
      "name": "frontRightTyrePressure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightTyrePressure"
    },
    {
      "version": "1.0",
      "name": "frontRightWindowOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightWindowOpen"
    },
    {
      "version": "1.0",
      "name": "fuelAmount",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/fuelAmount"
    },
    {
      "version": "1.0",
      "name": "hoodOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/hoodOpen"
    },
    {
      "version": "1.0",
      "name": "kmToService",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/kmToService"
    },
    {
      "version": "1.0",
      "name": "mainBatteryStatus",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/mainBatteryStatus"
    },
    {
      "version": "1.0",
      "name": "monthsToService",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/monthsToService"
    },
    {
      "version": "1.0",
      "name": "odometer",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/odometer"
    },
    {
      "version": "1.0",
      "name": "oilLevel",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilLevel"
    },
    {
      "version": "1.0",
      "name": "oilPressure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilPressure"
    },
    {
      "version": "1.0",
      "name": "rearLeftDoorOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftDoorOpen"
    },
    {
      "version": "1.0",
      "name": "rearLeftTyrePressure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftTyrePressure"
    },
    {
      "version": "1.0",
      "name": "rearLeftWindowOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftWindowOpen"
    },
    {
      "version": "1.0",
      "name": "rearRightDoorOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightDoorOpen"
    },
    {
      "version": "1.0",
      "name": "rearRightTyrePressure",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightTyrePressure"
    },
    {
      "version": "1.0",
      "name": "rearRightWindowOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightWindowOpen"
    },
    {
      "version": "1.0",
      "name": "serviceWarningStatus",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningStatus"
    },
    {
      "version": "1.0",
      "name": "serviceWarningTrigger",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningTrigger"
    },
    {
      "version": "1.0",
      "name": "tailGateOpen",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tailGateOpen"
    },
    {
      "version": "1.0",
      "name": "tripMeter1",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter1"
    },
    {
      "version": "1.0",
      "name": "tripMeter2",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter2"
    },
    {
      "version": "1.0",
      "name": "washerFluidLevel",
      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/washerFluidLevel"
    }
  ]
}

3 - Resources

Link copied

After identifying which resources are available for readout you can request information about an individual resource and its value. Regardless of which resource is being requested to get information about a successfull response will contain the following fields:

FieldDescription

value

The value of the resource, all values are represented as textual values.

unit

The unit of the value, note that not all values have a unit which they can be represented as.

timestamp

The time when the latest value was received, the time is displayed in milliseconds.

In order to retrieve the values for a resource the end-user needs to have given consent for the specific resource values to be retrieved otherwise the request will fail.

Resources

Link copied

Average Fuel Consumption

Link copied

Vehicle Status service for average fuel consumption status.

Unit:

liters per 100 kilometers

Value

Double - average fuel consumption in liters per 100 kilometers

Required scopes:

exve:fuel_status - provides access to read vehicle resources covered beneath "averageFuelConsumption".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageFuelConsumption' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "averageFuelConsumption": {
    "value": "8.5",
    "unit": "liters_per_100_kilometers",
    "timestamp": 1612530570417
  }
}

Average Speed

Link copied

Vehicle Status service for average speed status.

Unit:

kilometers per hour

Value

Integer - average speed in kilometers per hour

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "averageSpeed".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageSpeed' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "averageSpeed": {
    "value": "30.5",
    "unit": "kilometers_per_hour",
    "timestamp": 1603174518633
  }
}

Backup Battery Remaining

Link copied

Vehicle Status service for backup battery remaining status.

Values

MINUTES_0
MINUTES_5
MINUTES_20
MINUTES_ABOVE_30
MINUTES_10
MINUTES_15
MINUTES_25

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "backupBatteryRemaining".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/backupBatteryRemaining' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "backupBatteryRemaining": {
    "value": "MINUTES_20",
    "timestamp": 1603174518633
  }
}

Brake Fluid

Link copied

Vehicle Status service for brake fluid status.

Values

VERY_LOW
LOW
NORMAL
HIGH
VERY_HIGH

Required scopes:

exve:brake_status - provides access to read vehicle resources covered beneath "brakeFluid".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/brakeFluid' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "brakeFluid": {
    "value": "HIGH",
    "timestamp": 1603174518633
  }
}

Bulb Failure

Link copied

Vehicle Status service for bulb failure status.

Values

LEFT_TURN_ANY
RIGHT_TURN_ANY
LOW_BEAM_ANY
LOW_BEAM_LEFT
LOW_BEAM_RIGHT
HIGH_BEAM_ANY
HIGH_BEAM_LEFT
HIGH_BEAM_RIGHT
FOG_FRONT_ANY
FOG_REAR_ANY
STOP_ANY
POSITION_ANY
DAY_RUNNING_ANY
TRAILER_TURN_ANY
TRAILER_TURN_LEFT_ANY
TRAILER_TURN_RIGHT_ANY
TRAILER_STOP_ANY
TRAILER_ELECTRICAL_FAILURE
MULTIPLE

Required scopes:

exve:warnings - provides access to read vehicle resources covered beneath "bulbFailure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/bulbFailure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "bulbFailure": {
    "value": "LEFT_TURN_ANY",
    "timestamp": 1603174518633
  }
}

Cab Open

Link copied

Service for retrieving if the cab is open or closed.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "cabOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/cabOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "cabOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Car Locked

Link copied

Vehicle Status service for view car locked status.

Values

True : locked
False : open

Required scopes:

exve:lock_status - provides access to read vehicle resources covered beneath "carLocked".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/carLocked' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "carLocked": {
    "value": "true",
    "timestamp": 1603174518633
  }
}

Distance To Empty

Link copied

Vehicle Status service for distance to empty status.

Unit:

kilometers

Value

Integer - distanceToEmpty in kilometers

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "distanceToEmpty".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/distanceToEmpty' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "distanceToEmpty": {
    "value": "300",
    "unit": "kilometers",
    "timestamp": 1603174518633
  }
}

Engine Coolant Level

Link copied

Vehicle Status service for engine coolant level status.

Values

VERY_LOW
LOW
NORMAL
HIGH
VERY_HIGH

Required scopes:

exve:diagnostics_engine_status - provides access to read vehicle resources covered beneath "engineCoolantLevel".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantLevel' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "engineCoolantLevel": {
    "value": "VERY_LOW",
    "timestamp": 1603174518633
  }
}

Engine Coolant Temperature

Link copied

Vehicle Status service for engine coolant temperature status.

Unit:

celsius

Value

Integer - temperature in celsius

Required scopes:

exve:diagnostics_engine_status - provides access to read vehicle resources covered beneath "engineCoolantTemp".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantTemp' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "engineCoolantTemp": {
    "value": "32",
    "unit": "celsius",
    "timestamp": 1603174518633
  }
}

Engine Hours To Service

Link copied

Vehicle Status service for engine hours to service status.

Unit:

hours

Value

Integer - number of hours

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "engineHoursToService".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineHoursToService' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "engineHoursToService": {
    "value": "100",
    "unit": "hours",
    "timestamp": 1603174518633
  }
}

Engine Running

Link copied

Vehicle Status service for checking if the engine is running or not.

Values

True : running
False : not running

Required scopes:

exve:engine_status - provides access to read vehicle resources covered beneath "engineRunning".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineRunning' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "engineRunning": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

External Temperature

Link copied

Vehicle Status service for external temperature status.

Unit:

celsius

Value

Integer - external temperature in celsius

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "externalTemp".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/externalTemp' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "externalTemp": {
    "value": "30",
    "unit": "celsius",
    "timestamp": 1603174518633
  }
}

Front Left Door Open

Link copied

Vehicle Status service for front left door open status.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "frontLeftDoorOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftDoorOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontLeftDoorOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Front Left Tyre Pressure

Link copied

Vehicle Status service for front left tyre pressure status.

Values

LOW
NORMAL
HIGH
LOWSOFT
LOWHARD
NOSENSOR
SYSTEMFAULT

Required scopes:

exve:tyre_status - provides access to read vehicle resources covered beneath "frontLeftTyrePressure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftTyrePressure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontLeftTyrePressure": {
    "value": "NORMAL",
    "timestamp": 1603174518633
  }
}

Front Left Window Open

Link copied

Vehicle Status service for front left window open status.

Values

True : open
False : closed

Required scopes:

exve:windows_status - provides access to read vehicle resources covered beneath "frontLeftWindowOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftWindowOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontLeftWindowOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Front Right Door Open

Link copied

Vehicle Status service for front right door open status.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "frontRightDoorOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightDoorOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontRightDoorOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Front Right Tyre Pressure

Link copied

Vehicle Status service for front right tyre pressure status.

Values

LOW
NORMAL
HIGH
LOWSOFT
LOWHARD
NOSENSOR
SYSTEMFAULT

Required scopes:

exve:tyre_status - provides access to read vehicle resources covered beneath "frontRightTyrePressure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightTyrePressure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontRightTyrePressure": {
    "value": "NORMAL",
    "timestamp": 1603174518633
  }
}

Front Right Window Open

Link copied

Vehicle Status service for right window open status.

Values

True : open
False : closed

Required scopes:

exve:windows_status - provides access to read vehicle resources covered beneath "frontRightWindowOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightWindowOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "frontRightWindowOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Fuel Amount

Link copied

Vehicle Status service for fuel amount status.

Unit:

liters

Value

Integer - fuelAmount in liters

Required scopes:

exve:fuel_status - provides access to read vehicle resources covered beneath "fuelAmount".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/fuelAmount' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "fuelAmount": {
    "value": "40",
    "unit": "liters",
    "timestamp": 1603174518633
  }
}

Hood Open

Link copied

Service for retrieving if the hood is open or closed.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "hoodOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/hoodOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "hoodOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Kilometers To Service

Link copied

Vehicle Status service for kilometers to service status.

Unit:

kilometers

Value

Integer - number of kilometers

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "kmToService".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/kmToService' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "kmToService": {
    "value": "500",
    "unit": "kilometers",
    "timestamp": 1603174518633
  }
}

Main Battery Status

Link copied

Vehicle Status service for main battery status.

Values

LOW
NORMAL

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "mainBatteryStatus".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/mainBatteryStatus' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "mainBatteryStatus": {
    "value": "LOW",
    "timestamp": 1603174518633
  }
}

Months To Service

Link copied

Vehicle Status service for months to service status.

Unit:

months

Value

Integer - number of months to service

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "monthsToService".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/monthsToService' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "monthsToService": {
    "value": "8",
    "unit": "months",
    "timestamp": 1603174518633
  }
}

Odometer

Link copied

Vehicle Status service for odometer specific information, this is the measured distance travelled by the vehicle.

Units:

kilometers

Required scopes:

exve:odometer_status - provides access to read vehicle resources covered beneath "odometer".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/odometer' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "odometer": {
    "value": "55355",
    "unit": "kilometers",
    "timestamp": 1600208893580
  }
}

Oil Level

Link copied

Vehicle Status service for oil level status.

Values

VERY_LOW
LOW
NORMAL
HIGH
VERY_HIGH

Required scopes:

exve:diagnostics_engine_status - provides access to read vehicle resources covered beneath "oilLevel".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilLevel' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "oilLevel": {
    "value": "LOW",
    "timestamp": 1603174518633
  }
}

Oil Pressure

Link copied

Vehicle Status service for oil pressure status.

Values

LOW
NORMAL
HIGH
LOWSOFT
LOWHARD
NOSENSOR
SYSTEMFAULT

Required scopes:

exve:diagnostics_engine_status - provides access to read vehicle resources covered beneath "oilPressure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilPressure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "oilPressure": {
    "value": "LOW",
    "timestamp": 1603174518633
  }
}

Rear Left Door Open

Link copied

Vehicle Status service for rear left door open status.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "rearLeftDoorOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftDoorOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearLeftDoorOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Rear Left Tyre Pressure

Link copied

Vehicle Status service for rear left tyre pressure status.

Values

LOW
NORMAL
HIGH
LOWSOFT
LOWHARD
NOSENSOR
SYSTEMFAULT

Required scopes:

exve:tyre_status - provides access to read vehicle resources covered beneath "rearLeftTyrePressure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftTyrePressure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearLeftTyrePressure": {
    "value": "NORMAL",
    "timestamp": 1603174518633
  }
}

Rear Left Window Open

Link copied

Vehicle Status service for rear left window open status.

Values

True : open
False : closed

Required scopes:

exve:windows_status - provides access to read vehicle resources covered beneath "rearLeftWindowOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftWindowOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearLeftWindowOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Rear Right Door Open

Link copied

Vehicle Status service for rear rigth door open status.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "odometer".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightDoorOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearRightDoorOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Rear Right Tyre Pressure

Link copied

Vehicle Status service for rear right tyre pressure status.

Values

LOW
NORMAL
HIGH
LOWSOFT
LOWHARD
NOSENSOR
SYSTEMFAULT

Required scopes:

exve:tyre_status - provides access to read vehicle resources covered beneath "rearRightTyrePressure".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightTyrePressure' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearRightTyrePressure": {
    "value": "NORMAL",
    "timestamp": 1603174518633
  }
}

Rear Right Window Open

Link copied

Vehicle Status service for rear right window open status.

Values

True : open
False : closed

Required scopes:

exve:windows_status - provides access to read vehicle resources covered beneath "rearRightWindowOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightWindowOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "rearRightWindowOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Service Warning Status

Link copied

Vehicle Status service for service warning status.

Values

NORMAL
ALMOST_TIME_FOR_SERVICE
TIME_FOR_SERVICE
TIME_EXCEEDED

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "serviceWarningStatus".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningStatus' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "serviceWarningStatus": {
    "value": "TIME_FOR_SERVICE",
    "timestamp": 1603174518633
  }
}

Service Warning Trigger

Link copied

Vehicle Status service for service warning trigger status.

Values

CALENDAR_TIME
DISTANCE
ENGINE_HOURS
ECM

Required scopes:

exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "serviceWarningTrigger".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningTrigger' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "serviceWarningTrigger": {
    "value": "CALENDAR_TIME",
    "timestamp": 1603174518633
  }
}

Tail Gate Open

Link copied

Service for retrieving if the hood is open or closed.

Values

True : open
False : closed

Required scopes:

exve:doors_status - provides access to read vehicle resources covered beneath "tailGateOpen".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tailGateOpen' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "tailGateOpen": {
    "value": "false",
    "timestamp": 1603174518633
  }
}

Trip Meter 1

Link copied

Vehicle Status service for trip meter 1 status.

Unit:

kilometers

Value

Integer - tripMeter1 in kilometers

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "tripMeter1".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter1' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "tripMeter1": {
    "value": "40",
    "unit": "kilometers",
    "timestamp": 1603174518633
  }
}

Trip Meter 2

Link copied

Vehicle Status service for trip meter 2 status.

Unit:

kilometers

Value

Integer - tripMeter2 in kilometers

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "tripMeter2".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter2' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "tripMeter2": {
    "value": "20",
    "unit": "kilometers",
    "timestamp": 1603174518633
  }
}

Washer Fluid Level

Link copied

Vehicle Status service for washer fluid level status.

Values

VERY_LOW
LOW
NORMAL
HIGH
VERY_HIGH

Required scopes:

exve:vehicle_statististics - provides access to read vehicle resources covered beneath "washerFluidLevel".

Example Request

curl -X GET 'https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/washerFluidLevel' \
-H 'accept: application/json' \
-H 'authorization: Bearer <insert-the-access-token-here>' \
-H 'vcc-api-key: <insert-api-key-here>'

Example Response

{
  "washerFluidLevel": {
    "value": "VERY_HIGH",
    "timestamp": 1603174518633
  }
}

Status codes and error handling

Link copied

The API has a consistent list of status codes it can return.

HTTP Status CodeDescription

200

OK

400

Bad Request - Request contains an unaccepted input

401

Unauthorized

403

Resource forbidden

404

Not Found

500

Internal Server Error

Sometime things go wrong, in such cases the API will in addition to the error code return a message body containing information about the errors. The message will contain the following fields:

FieldDescription

exveErrorId

The Id of the error, this is the same as the HTTP Status codes.

exveErrorMsg

A message explaining what went wrong.

exveNote

A more in detail message.

exveErrorRef

Currently not used, will in the future contain a link to where you can read more in detail about the error and possible fixes.

Additionally you can include a GUID in the vcc-api-operationid header, this will make it easier for us to find your requests in our logs in cases where deeper analysis are needed.

Examples Error Responses

Bad Request Error

Example Response

{
  "exveErrorId": "400",
  "exveErrorMsg": "invalid VIN value. field:{VIN}"
}
Authentication Error

Example Response

{
  "exveNote": null,
  "exveErrorId": "401",
  "exveErrorMsg": "Full authentication is required to access this resource",
  "exveErrorRef": null
}
Authorization Error

Example Response

{
  "exveErrorId": "403",
  "exveErrorMsg": "Access is denied"
}
Not Found Error

Example Response

{
  "exveErrorId": "404",
  "exveErrorMsg": "resource not available for VIN or accessing party"
}
Internal Server Error

Example Response

{
  "exveErrorId": "500",
  "exveErrorMsg": "timeout"
}

Specification

Link copied
Copyright © 2021 Volvo Car Corporation (or its affiliates or licensors)