Voyomotive, LLC

VOYO Web API Documentation

Version 1.8
December 22, 2021


Overview


The VOYO Web API provides access to all of the vehicle data that is available from an individual VOYO
controller in a specified time range.


VOYO Web API URL


The VOYO Web API is available using this URL:
prod001.voyomotive.com/api/all_cellular.php?
 serial=[SERIAL]&
 key=[API_KEY]&
 start=[START_TIME]&
 end=[END_TIME]

[SERIAL]
Serial Number of the VOYO controller that you are using.
The Serial Number can be viewed in the VOYO App:
VOYO Settings -> Your VOYO Network -> Select “Your Vehicle” -> “Your Vehicle” VOYO Controller
Versions -> VOYO Controller Serial Number

[API_KEY]
Key to allow access to the API for the VOYO controller that you are using
The API Key is provided by VOYO
The API Key is specific to an individual VOYO controller
If you’d like an API key to test live data please send an email to contact@voyomotive.com

[START_TIME]
Start Time for the data range.
Start Time can be entered in Unix Epoch Time (UTC).
 For example, a Start Time of 1483228800 provides a start time of January 1, 2017 at midnight,
GMT.
Start Time can also be entered in seconds relative to the current time.
 For example, a Start Time of -3600 provides a start time of 1 hour prior to the current time.

[END_TIME]
End Time for the data range in Unix Epoch Time (UTC).
End Time can be entered in Unix Epoch Time (UTC)
 For example, an End Time of 1493596800 provides an end time of May 1, 2017 at midnight,
GMT.
End Time can also be entered in seconds relative to the current time.
 For example, an End Time of 0 provides an end time that is the current time.

Example URLs
Example URL:
https://prod001.voyomotive.com/api/all_cellular.php?serial=500243&key=BMZACAYKrVQWM6VNwSx5&start=1628627340&end=1628630940
Requests all of the data that is available from:
 Serial Number 500243
 Accessed with API Key BMZACAYKrVQWM6VNwSx5
 With a Start Time of 8/10/2021 20:29:00 GMT
 With an End Time of 8/10/2021 21:29:00 GMT
Example URL:
https://prod001.voyomotive.com/api/all_cellular.php?serial=500243&key=BMZACAYKrVQWM6VNwSx5&start=-3600&end=0
Requests all of the data that is available from:
 Serial Number 500243
 Accessed with API Key BMZACAYKrVQWM6VNwSx5
 With a Start Time of 1 hour prior to the current time
 With an End Time that is the current time


Data Returned


All data is returned in JavaScript Object Notation (JSON).
All of the data for an individual VOYO Controller Serial Number that is available for the given time range
is returned.
There are three types of data returned: VIN, events, and raw data.

VIN
VIN provides the 17-digit Vehicle Identification Number (VIN) of the vehicle that the data is returned
from.
The VIN that is returned is the most recent VIN that was received prior to the provided [END_TIME]. If
the VOYO Controller was installed on multiple vehicles during a given time range, only the most recent
VIN that was received prior to the provided [END_TIME] is returned.
Format: “DDDDDDDDDDDDDDDDD”, where D are the 17 digits of the VIN that is returned
Example: “1P3ES42Y3WD641171”

Events
Events provide the data for specific vehicle conditions that occurred. Examples include ABS Braking and
Vehicle Hard Braking. Events can be determined based on an individual vehicle data parameter, or from
a combination of vehicle data parameters.

Raw Data
Raw data contains the individual data parameters that are available from the vehicle.

Data Returned Format
The VIN, events, and raw data are returned in this JSON format:
{“SERIAL-vin”:””,
“SERIAL-events”:[{}],
“SERIAL-data”:[{}]}
SERIAL is the Serial Number of the VOYO controller that you are using.


Types of Events


The types of events that are returned are:

“ABS”:[]
Vehicle anti-lock braking system (ABS) was active

“Traction”:[]
Vehicle traction control system was active

“Stability”:[]
Vehicle stability control system was active

“Swerve”:[]
Vehicle experienced a large change in steering wheel input while traveling greater than 20 mph

“Hard Braking”:[]
Vehicle experienced a large deceleration while traveling greater than 20 mph

“DTC”:[]
Vehicle diagnostic trouble code (DTC) was set

”Low Tire Pressure”:[]

”Driver Belt Unbuckled”:[]

”Passenger Belt Unbuckled”:[]

”Ignition Left On”:[]

”Engine Left On”:[]

”Headlights Left On”:[]

”Trunk Left Open”:[]

”Hood Left Open”:[]

”Door Left Open”:[]

”Goodyear tire intelligence”:[]

”FailSafe Battery Health”:[]

”Oil Life Low”:[]

”Failed Emissions Test”:[]

”ScanPro”:[]

”Trips”:[]

”DTC Freeze Frame”:[]

Event Types Data Returned Format
The event types are returned in this JSON format:
{“SERIAL-events”:[{“ABS”:[],”Traction”:[],”Stability”:[],”Swerve”:[],”Hard Braking”:[],”Low Tire Pressure”:[],”Driver Belt Unbuckled”:[],”Passenger Belt Unbuckled”:[],”Ignition Left On”:[],”Engine Left On”:[],”Headlights Left On”:[],”Trunk Left Open”:[],”Hood Left Open”:[],”Door Left Open”:[],”DTC”:[],”Goodyear tire intelligence”:[],”FailSafe Battery Health”:[],”Oil Life Low”:[],”Failed Emissions Test”:[],”ScanPro”:[],”Trips”:[],”DTC Freeze Frame”:[]}],


Data Associated with an Event


When an event occurs, data associated with the event is stored.
The GPS latitude, GPS longitude, and GPS time are associated with every type of event. This data is
returned for every event that has occurred.
If no events occurred for a given type of event, no associated data is returned.

“lat”:
GPS latitude coordinate of the vehicle where the event occurred
Resolution: 0.00000001 degrees
Minimum: -90.00000000 degrees
Maximum: +90.00000000 degrees
Example: “42.23106800”
0.0 if GPS latitude coordinate is not available

“lon”:
GPS longitude coordinate of the vehicle where the event occurred
Resolution: 0.00000001 degrees
Minimum: -180.00000000 degrees
Maximum: +180.00000000 degrees
Example: “-83.73893500”
0.0 if GPS longitude coordinate is not available

“time”:
GPS time that the event occurred
Format: “YYYY-MM-DD HH:MM:SS”
Resolution: 1 second
Example: “2017-03-29 16:32:11”
0.0 if time event occurred is not available

“code”:
Diagnostic trouble code (DTC) number (only returned for DTC event type)
Format: “LNNNN”, where L is 1 digit DTC letter (P, C, B, or U) and N is 4 digit DTC number
Example: “P1682”

“distance_driven”:
Distance driven for given trip
Format: “N.NNN”, where N is a digit in miles
Example: “9.500”

“fuel_used”:
Fuel usage in gallons for a given trip
Format: “N.NNNNNN”, where N is a digit with 6 decimal places
Example: “1.033053”

“stop_time”:
Time that vehicle was stopped during the trip
Format: “N” an integer N, in number of seconds
Example: “106”

“PIDs”:
Array of PIDs and data
Format: “{“PID”:”0xAA”, “data”:”N.NN”}, where AA is the hex for the PID code and N is the data value to 2 decimal places
Example: {“PID”:”0x47″,”data”:”16.86″}, where the PID code stands for absolute throttle position B

“VIN”:
VIN provides the 17-digit Vehicle Identification Number (VIN) of the vehicle that the data is returned from.
Format: “DDDDDDDDDDDDDDDDD”, where D are the 17 digits of the VIN that is returned
Example: “1P3ES42Y3WD641171”

“Make”:
The make of the vehicle that is providing scanpro data
Format: “string””
Example: “Ford”

“Model”:
The model of the vehicle that is providing scanpro data
Format: “string”
Example: “Escape”

“Year”:
The year of the vehicle that is providing scanpro data
Format: “integer”
Example: “2017”

“Name”:
The name of the vehicle as it would appear on the VOYO app
Format: “string”
Example: “2017 Escape”

“Odometer”:
The number of miles on the odometer of the vehicle
Format: “D.D”, where there is one decimal place in the number
Example: “15462.4”

“scan_time”:
The time that VOYO scanned for scanpro data on the vehicle
Format: “integer”, where the time is displayed in Unix Epoch Time (UTC)
Example: “1493596800” denotes the UTC of May 1, 2017 at midnight, GMT

“total_codes”:
The number of vehicle codes detected by scanpro
Format: “integer”
Example: “2”

“controllers”:
Array of data showing which controllers are present on the vehicle
Format: “{“address”:integer,”request_id”:integer,”name”:”string”,”response”:”string”,”bus”:”string”,”show”:boolean,”dtcs”:[]}”
Example: “{“address”:1851,”request_id”:38,”name”:”HVAC Controller”,”response”:”Positive”,”bus”:”CAN-HS 2″,”show”:true,”dtcs”:[]}”

“address”:
Description
Format: “”
Example: “”

“request_id”:
Description
Format: “”
Example: “”

“response”:
Description
Format: “”
Example: “”

“bus”:
Description
Format: “”
Example: “”

“show”:
Description
Format: “”
Example: “”

“dtcs”:
Description
Format: “”
Example: “”

“id”:
Description
Format: “”
Example: “”

“first_reported”:
Description
Format: “”
Example: “”

“last_reported”:
Description
Format: “”
Example: “”

“raw_code”:
Description
Format: “”
Example: “”

“symptom”:
Description
Format: “”
Example: “”

“active”:
Description
Format: “”
Example: “”

“history”:
Description
Format: “”
Example: “”

“light”:
Description
Format: “”
Example: “”

“advanced”:
Description
Format: “”
Example: “”

“short”:
Description
Format: “”
Example: “”

“long”:
Description
Format: “”
Example: “”

“severity”:
Description
Format: “”
Example: “”

Data Associated with an Event Return Format
Data associated with an event is returned in this JSON format:
{“SERIAL-events”:[{“EVENT_1”:[
{“lat”:”LATITUDE_COORDINATE_1″,”lon”:”LONGITUDE_COORDINATE_1″,”time”:”TIME_1″},
{“lat”:”LATITUDE_COORDINATE_N”,”lon”:”LONGITUDE_COORDINATE_N”,”time”:”TIME_N”}],
“EVENT_N”:[
{“lat”:”LATITUDE_COORDINATE_1″,”lon”:”LONGITUDE_COORDINATE_1″,”time”:”TIME_1″},
{“lat”:”LATITUDE_COORDINATE_N”,”lon”:”LONGITUDE_COORDINATE_N”,”time”:”TIME_N”}]}],

Example Event Data Returned
Example event data returned:
{“2000-events”:[{“ABS”:[],
“Traction”:[{“lat”:”42.23106800″,”lon”:”-83.73893500″,”time”:”2017-05-01 16:32:11″}],
“Stability”:[{“lat”:”42.28175500″,”lon”:”-83.75875000″,”time”:”2017-05-02 00:08:58″},
{“lat”:”0.00000000″,”lon”:”0.00000000″,”time”:”2017-05-03 11:25:55″}],
“Swerve”:[],”Hard Braking”:[],
“DTC”:[{“lat”:”42.20440400″,”lon”:”-83.76824000″,”time”:”2017-05-06 00:00:56″,”code”:”P1682″}]}],
At GPS Time 16:32:11 on May 1; a Traction event was stored with latitude and longitude data.
At GPS Time 00:08:58 on May 2; a Stability event was stored with latitude and longitude data.
At GPS Time 11:25:55 on May 3; a Stability event was stored without latitude or longitude location data.
At GPS Time 00:00:56 on May 6; a DTC event with DTC number P1682 was stored with latitude and
longitude data.
Zero ABS, Swerve, and Hard Braking events were stored.


Raw Data


Raw data is also returned. Each of the raw data individual data parameters that are available from the
vehicle are associated with a timestamp. The timestamp is the GPS time when the individual data
parameter was stored, with a resolution of 1 second.

GPS Timestamp Format
The GPS timestamp is always returned in with the raw data in this JSON format:
Format: “gps_time”:”YYYY-MM-DD HH:MM:SS”
Resolution: 1 second
Example: “gps_time”:”2017-03-29 16:32:11″

Raw Data Returned
All of the individual data parameters available at a given GPS timestamp are returned.
If an individual data parameter was not available at a given GPS timestamp, it is not returned. If an
individual data parameter is not supported on a given vehicle, it is not returned.
The individual data parameters that are returned are available as values or as a series of states,
depending on the type of individual data parameter.
Individual data parameters available as values have a specified resolution, minimum, maximum, and
units.
Individual data parameters available as states have a specified series of states, up to 14 states.
The addendum Voyo Web API spreadsheet has the complete list of individual data parameters available.

Raw Data Returned Format
The raw data is returned in this JSON format:
“SERIAL-data”:[{“gps_time_1″:”YYYY-MM-DDHH:MM:SS”,
“RAW_DATA_PARAMETER_1″:”RAW_DATA_VALUE_1”,
“RAW_DATA_PARAMETER_N”:”RAW_DATA_VALUE_N”},
{“gps_time_N”:”YYYY-MM-DD HH:MM:SS”,
“RAW_DATA_PARAMETER_1″:”RAW_DATA_VALUE_1”,
“RAW_DATA_PARAMETER_N”:”RAW_DATA_VALUE_N”}]}

Example Raw Data Returned
Example raw data returned:
“2000-data”:[
{“gps_time”:”2017-03-27 18:02:56″,”latitude”:”42.24127200″,”longitude”:”-
83.57084600″,”speed”:”0.00″},
{“gps_time”:”2017-03-27 18:02:57″,”latitude”:”42.24127200″,”longitude”:”-
83.57084600″,”battery_voltage”:”1484″,”fuel_level”:”96.8627″,”ambient_air_temp”:”20.00″,”barometri
c_pressure”:”99.00″,”engine_coolant_temp”:”58.00″,”key_position”:”on”,”engine_running”:”running”}]}
At GPS Time 18:02:56 on Mar 27; the latitude, longitude, and speed individual data parameters were
stored.
The next second, at GPS Time 18:02:57; the latitude, longitude, battery voltage, fuel level, ambient air
temperature, barometric pressure, engine coolant temperature, key position, and engine running
individual data parameters were stored.


Change Log

Version Date Author Change log
1.8 Dec 22, 2021 Adam Sloan Remove inactive links
1.7 Oct 9, 2021 Adam Sloan Add cellular support and update example
1.6 Apr 16, 2021 Adam Sloan Add monitor_status, engine_oil_temperature, fuel_trim, oxygen_sensor
1.5 Oct 1, 2020 Adam Sloan Add parameters lft_temp, rft_temp, lrt_temp, rrt_temp
1.4 Sep 20, 2019 Adam Sloan Add Section 7. Commands
Update Example URLs
1.3 Aug 4, 2017 Adam Sloan Add parameter mil’ Malfunction indicator lamp
1.2 Jun 26, 2017 Adam Sloan Provide 0.0 if GPS coordinate is not available, not NULL as previously indicated
1.1 Jun 2, 2017 Adam Sloan Add VIN to types of data returned
Add Section 3.1 VIN
Remove sentence “[API_KEY] A unique API Key is needed for each VOYO controller that you have” from Section 2.2.
1.0 May 16, 2017 Adam Sloan Initial release

We value your privacy. We use cookies to help give you the best experience on our site. For more information see our cookie policy.