Extended Vehicle API

Volvo Cars’ new platform for innovation

Getting there...

Your Applications

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

Overview

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 an 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 swagger or below within the documentation section. You can also download the OpenAPI specification (swagger file) to generate clients from it.

App Settings

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.

Field

Description

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

Before registering your application you must prepare a callback URL for whitelisting in the OAuth flow, see the Authorization page for more details.

API information

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

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

Required scopes:

"vehicle:attributes"

Field

Description

id

Vehicle identifier, usually a VIN

timestamp

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

Example Request

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

Example Response

1{
2  "vehicles": [
3    {
4      "timestamp": 1603032970144,
5      "id": "YV4952NA4F120DEMO"
6    },
7    {
8      "timestamp": 1603032970144,
9      "id": "YV4952NA4F130DEMO"
10    }
11  ]
12}
13

2 - Get vehicle resources

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"

Field

Description

version

Version of this resource

name

Name of the resource

href

Url to the resource for a specific ID

Example Request

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

Example Response

1{
2  "resources": [
3    {
4      "version": "1.0",
5      "name": "averageFuelConsumption",
6      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageFuelConsumption"
7    },
8    {
9      "version": "1.0",
10      "name": "averageSpeed",
11      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/averageSpeed"
12    },
13    {
14      "version": "1.0",
15      "name": "backupBatteryRemaining",
16      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/backupBatteryRemaining"
17    },
18    {
19      "version": "1.0",
20      "name": "brakeFluid",
21      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/brakeFluid"
22    },
23    {
24      "version": "1.0",
25      "name": "bulbFailure",
26      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/bulbFailure"
27    },
28    {
29      "version": "1.0",
30      "name": "cabOpen",
31      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/cabOpen"
32    },
33    {
34      "version": "1.0",
35      "name": "carLocked",
36      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/carLocked"
37    },
38    {
39      "version": "1.0",
40      "name": "distanceToEmpty",
41      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/distanceToEmpty"
42    },
43    {
44      "version": "1.0",
45      "name": "engineCoolantLevel",
46      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantLevel"
47    },
48    {
49      "version": "1.0",
50      "name": "engineCoolantTemp",
51      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineCoolantTemp"
52    },
53    {
54      "version": "1.0",
55      "name": "engineHoursToService",
56      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineHoursToService"
57    },
58    {
59      "version": "1.0",
60      "name": "engineRunning",
61      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/engineRunning"
62    },
63    {
64      "version": "1.0",
65      "name": "externalTemp",
66      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/externalTemp"
67    },
68    {
69      "version": "1.0",
70      "name": "frontLeftDoorOpen",
71      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftDoorOpen"
72    },
73    {
74      "version": "1.0",
75      "name": "frontLeftTyrePressure",
76      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftTyrePressure"
77    },
78    {
79      "version": "1.0",
80      "name": "frontLeftWindowOpen",
81      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontLeftWindowOpen"
82    },
83    {
84      "version": "1.0",
85      "name": "frontRightDoorOpen",
86      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightDoorOpen"
87    },
88    {
89      "version": "1.0",
90      "name": "frontRightTyrePressure",
91      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightTyrePressure"
92    },
93    {
94      "version": "1.0",
95      "name": "frontRightWindowOpen",
96      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/frontRightWindowOpen"
97    },
98    {
99      "version": "1.0",
100      "name": "fuelAmount",
101      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/fuelAmount"
102    },
103    {
104      "version": "1.0",
105      "name": "hoodOpen",
106      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/hoodOpen"
107    },
108    {
109      "version": "1.0",
110      "name": "kmToService",
111      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/kmToService"
112    },
113    {
114      "version": "1.0",
115      "name": "mainBatteryStatus",
116      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/mainBatteryStatus"
117    },
118    {
119      "version": "1.0",
120      "name": "monthsToService",
121      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/monthsToService"
122    },
123    {
124      "version": "1.0",
125      "name": "odometer",
126      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/odometer"
127    },
128    {
129      "version": "1.0",
130      "name": "oilLevel",
131      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilLevel"
132    },
133    {
134      "version": "1.0",
135      "name": "oilPressure",
136      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/oilPressure"
137    },
138    {
139      "version": "1.0",
140      "name": "rearLeftDoorOpen",
141      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftDoorOpen"
142    },
143    {
144      "version": "1.0",
145      "name": "rearLeftTyrePressure",
146      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftTyrePressure"
147    },
148    {
149      "version": "1.0",
150      "name": "rearLeftWindowOpen",
151      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearLeftWindowOpen"
152    },
153    {
154      "version": "1.0",
155      "name": "rearRightDoorOpen",
156      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightDoorOpen"
157    },
158    {
159      "version": "1.0",
160      "name": "rearRightTyrePressure",
161      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightTyrePressure"
162    },
163    {
164      "version": "1.0",
165      "name": "rearRightWindowOpen",
166      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/rearRightWindowOpen"
167    },
168    {
169      "version": "1.0",
170      "name": "serviceWarningStatus",
171      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningStatus"
172    },
173    {
174      "version": "1.0",
175      "name": "serviceWarningTrigger",
176      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/serviceWarningTrigger"
177    },
178    {
179      "version": "1.0",
180      "name": "tailGateOpen",
181      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tailGateOpen"
182    },
183    {
184      "version": "1.0",
185      "name": "tripMeter1",
186      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter1"
187    },
188    {
189      "version": "1.0",
190      "name": "tripMeter2",
191      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/tripMeter2"
192    },
193    {
194      "version": "1.0",
195      "name": "washerFluidLevel",
196      "href": "https://api.volvocars.com/extended-vehicle/v1/vehicles/YV4952NA4F120DEMO/resources/washerFluidLevel"
197    }
198  ]
199}
200

3 - Resources

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:

Field

Description

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

Average Fuel Consumption

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

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

Example Response

1{
2  "averageFuelConsumption": {
3    "value": "8.5",
4    "unit": "liters_per_100_kilometers",
5    "timestamp": 1612530570417
6  }
7}
8

Average Speed

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

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

Example Response

1{
2  "averageSpeed": {
3    "value": "30.5",
4    "unit": "kilometers_per_hour",
5    "timestamp": 1603174518633
6  }
7}
8

Backup Battery Remaining

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

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

Example Response

1{
2  "backupBatteryRemaining": {
3    "value": "MINUTES_20",
4    "timestamp": 1603174518633
5  }
6}
7

Brake Fluid

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

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

Example Response

1{
2  "brakeFluid": {
3    "value": "HIGH",
4    "timestamp": 1603174518633
5  }
6}
7

Bulb Failure

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

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

Example Response

1{
2  "bulbFailure": {
3    "value": "LEFT_TURN_ANY",
4    "timestamp": 1603174518633
5  }
6}
7

Cab Open

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

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

Example Response

1{
2  "cabOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Car Locked

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

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

Example Response

1{
2  "carLocked": {
3    "value": "true",
4    "timestamp": 1603174518633
5  }
6}
7

Distance To Empty

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

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

Example Response

1{
2  "distanceToEmpty": {
3    "value": "300",
4    "unit": "kilometers",
5    "timestamp": 1603174518633
6  }
7}
8

Engine Coolant Level

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

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

Example Response

1{
2  "engineCoolantLevel": {
3    "value": "VERY_LOW",
4    "timestamp": 1603174518633
5  }
6}
7

Engine Coolant Temperature

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

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

Example Response

1{
2  "engineCoolantTemp": {
3    "value": "32",
4    "unit": "celsius",
5    "timestamp": 1603174518633
6  }
7}
8

Engine Hours To Service

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

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

Example Response

1{
2  "engineHoursToService": {
3    "value": "100",
4    "unit": "hours",
5    "timestamp": 1603174518633
6  }
7}
8

Engine Running

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

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

Example Response

1{
2  "engineRunning": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

External Temperature

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

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

Example Response

1{
2  "externalTemp": {
3    "value": "30",
4    "unit": "celsius",
5    "timestamp": 1603174518633
6  }
7}
8

Front Left Door Open

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

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

Example Response

1{
2  "frontLeftDoorOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Front Left Tyre Pressure

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

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

Example Response

1{
2  "frontLeftTyrePressure": {
3    "value": "NORMAL",
4    "timestamp": 1603174518633
5  }
6}
7

Front Left Window Open

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

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

Example Response

1{
2  "frontLeftWindowOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Front Right Door Open

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

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

Example Response

1{
2  "frontRightDoorOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Front Right Tyre Pressure

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

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

Example Response

1{
2  "frontRightTyrePressure": {
3    "value": "NORMAL",
4    "timestamp": 1603174518633
5  }
6}
7

Front Right Window Open

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

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

Example Response

1{
2  "frontRightWindowOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Fuel Amount

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

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

Example Response

1{
2  "fuelAmount": {
3    "value": "40",
4    "unit": "liters",
5    "timestamp": 1603174518633
6  }
7}
8

Hood Open

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

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

Example Response

1{
2  "hoodOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Kilometers To Service

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

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

Example Response

1{
2  "kmToService": {
3    "value": "500",
4    "unit": "kilometers",
5    "timestamp": 1603174518633
6  }
7}
8

Main Battery Status

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

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

Example Response

1{
2  "mainBatteryStatus": {
3    "value": "LOW",
4    "timestamp": 1603174518633
5  }
6}
7

Months To Service

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

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

Example Response

1{
2  "monthsToService": {
3    "value": "8",
4    "unit": "months",
5    "timestamp": 1603174518633
6  }
7}
8

Odometer

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

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

Example Response

1{
2  "odometer": {
3    "value": "55355",
4    "unit": "kilometers",
5    "timestamp": 1600208893580
6  }
7}
8

Oil Level

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

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

Example Response

1{
2  "oilLevel": {
3    "value": "LOW",
4    "timestamp": 1603174518633
5  }
6}
7

Oil Pressure

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

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

Example Response

1{
2  "oilPressure": {
3    "value": "LOW",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Left Door Open

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

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

Example Response

1{
2  "rearLeftDoorOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Left Tyre Pressure

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

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

Example Response

1{
2  "rearLeftTyrePressure": {
3    "value": "NORMAL",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Left Window Open

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

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

Example Response

1{
2  "rearLeftWindowOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Right Door Open

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

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

Example Response

1{
2  "rearRightDoorOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Right Tyre Pressure

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

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

Example Response

1{
2  "rearRightTyrePressure": {
3    "value": "NORMAL",
4    "timestamp": 1603174518633
5  }
6}
7

Rear Right Window Open

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

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

Example Response

1{
2  "rearRightWindowOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Service Warning Status

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

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

Example Response

1{
2  "serviceWarningStatus": {
3    "value": "TIME_FOR_SERVICE",
4    "timestamp": 1603174518633
5  }
6}
7

Service Warning Trigger

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

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

Example Response

1{
2  "serviceWarningTrigger": {
3    "value": "CALENDAR_TIME",
4    "timestamp": 1603174518633
5  }
6}
7

Tail Gate Open

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

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

Example Response

1{
2  "tailGateOpen": {
3    "value": "false",
4    "timestamp": 1603174518633
5  }
6}
7

Trip Meter 1

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

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

Example Response

1{
2  "tripMeter1": {
3    "value": "40",
4    "unit": "kilometers",
5    "timestamp": 1603174518633
6  }
7}
8

Trip Meter 2

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

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

Example Response

1{
2  "tripMeter2": {
3    "value": "20",
4    "unit": "kilometers",
5    "timestamp": 1603174518633
6  }
7}
8

Washer Fluid Level

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

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

Example Response

1{
2  "washerFluidLevel": {
3    "value": "VERY_HIGH",
4    "timestamp": 1603174518633
5  }
6}
7

Status codes and error handling

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

HTTP Status Code

Description

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:

Field

Description

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

1{
2  "exveErrorId": "400",
3  "exveErrorMsg": "invalid VIN value. field:{VIN}"
4}
5
Authentication Error

Example Response

1{
2  "exveNote": null,
3  "exveErrorId": "401",
4  "exveErrorMsg": "Full authentication is required to access this resource",
5  "exveErrorRef": null
6}
7
Authorization Error

Example Response

1{
2  "exveErrorId": "403",
3  "exveErrorMsg": "Access is denied"
4}
5
Not Found Error

Example Response

1{
2  "exveErrorId": "404",
3  "exveErrorMsg": "resource not available for VIN or accessing party"
4}
5
Internal Server Error

Example Response

1{
2  "exveErrorId": "500",
3  "exveErrorMsg": "timeout"
4}
5

Swagger

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