Volvo Cars’ new platform for innovation
Getting there...
Latest information of any connected Volvo vehicle remotely. Below guide describes Extended Vehicle API and how to integrate your app.
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 at the top of this page.
Before registering your application you must prepare a callback URL for whitelisting in the OAuth flow, see the Authorization section for more details.
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. |
In order to obtain credentials for Volvo Id, you need to publish your app which you can do under your account. We are working on simplifying the process to obtain Volvo Id application credentials, but until its released you need to publish your app.
Redirect the end-user's browser to the Volvo ID login (/authorize) page with a a list of the scopes for which are requested and the application’s callback URL.
On the Volvo ID login page the end-user will authenticate and be asked to consent the requested scopes.
If successfully authenticated the End-user will be redirect the back to your application’s callback URL with an authorization code.
Exchange the authorization code received in the callback with an access token from the Volvo ID Authorization Endpoint.
Use the access token to call the Extended Vehicle API on behalf of the end user.
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.
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. |
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
1{ 2 "vehicles": [ 3 { 4 "timestamp": 1603032970144, 5 "id": "YV4952NA4F120DEMO" 6 }, 7 { 8 "timestamp": 1603032970144, 9 "id": "YV4952NA4F130DEMO" 10 } 11 ] 12} 13
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 |
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
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
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.
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".
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
1{ 2 "averageFuelConsumption": { 3 "value": "8.5", 4 "unit": "liters_per_100_kilometers", 5 "timestamp": 1612530570417 6 } 7} 8
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".
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
1{ 2 "averageSpeed": { 3 "value": "30.5", 4 "unit": "kilometers_per_hour", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "backupBatteryRemaining": { 3 "value": "MINUTES_20", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "brakeFluid": { 3 "value": "HIGH", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "bulbFailure": { 3 "value": "LEFT_TURN_ANY", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "cabOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "carLocked": { 3 "value": "true", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "distanceToEmpty": { 3 "value": "300", 4 "unit": "kilometers", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "engineCoolantLevel": { 3 "value": "VERY_LOW", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "engineCoolantTemp": { 3 "value": "32", 4 "unit": "celsius", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "engineHoursToService": { 3 "value": "100", 4 "unit": "hours", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "engineRunning": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "externalTemp": { 3 "value": "30", 4 "unit": "celsius", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "frontLeftDoorOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "frontLeftTyrePressure": { 3 "value": "NORMAL", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "frontLeftWindowOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "frontRightDoorOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "frontRightTyrePressure": { 3 "value": "NORMAL", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "frontRightWindowOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "fuelAmount": { 3 "value": "40", 4 "unit": "liters", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "hoodOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "kmToService": { 3 "value": "500", 4 "unit": "kilometers", 5 "timestamp": 1603174518633 6 } 7} 8
Vehicle Status service for main battery status.
Values
LOW
NORMAL
Required scopes:
exve:diagnostics_workshop - provides access to read vehicle resources covered beneath "mainBatteryStatus".
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
1{ 2 "mainBatteryStatus": { 3 "value": "LOW", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "monthsToService": { 3 "value": "8", 4 "unit": "months", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "odometer": { 3 "value": "55355", 4 "unit": "kilometers", 5 "timestamp": 1600208893580 6 } 7} 8
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".
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
1{ 2 "oilLevel": { 3 "value": "LOW", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "oilPressure": { 3 "value": "LOW", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearLeftDoorOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearLeftTyrePressure": { 3 "value": "NORMAL", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearLeftWindowOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearRightDoorOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearRightTyrePressure": { 3 "value": "NORMAL", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "rearRightWindowOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "serviceWarningStatus": { 3 "value": "TIME_FOR_SERVICE", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "serviceWarningTrigger": { 3 "value": "CALENDAR_TIME", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "tailGateOpen": { 3 "value": "false", 4 "timestamp": 1603174518633 5 } 6} 7
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".
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
1{ 2 "tripMeter1": { 3 "value": "40", 4 "unit": "kilometers", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "tripMeter2": { 3 "value": "20", 4 "unit": "kilometers", 5 "timestamp": 1603174518633 6 } 7} 8
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".
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
1{ 2 "washerFluidLevel": { 3 "value": "VERY_HIGH", 4 "timestamp": 1603174518633 5 } 6} 7
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.
1{ 2 "exveErrorId": "400", 3 "exveErrorMsg": "invalid VIN value. field:{VIN}" 4} 5
1{ 2 "exveNote": null, 3 "exveErrorId": "401", 4 "exveErrorMsg": "Full authentication is required to access this resource", 5 "exveErrorRef": null 6} 7
1{ 2 "exveErrorId": "403", 3 "exveErrorMsg": "Access is denied" 4} 5
1{ 2 "exveErrorId": "404", 3 "exveErrorMsg": "resource not available for VIN or accessing party" 4} 5
1{ 2 "exveErrorId": "500", 3 "exveErrorMsg": "timeout" 4} 5