Skip to main content

gRPC API

Connection​

Serverapi.vestigeview.app:443 (gRPC over TLS)
Servicevestige.api.v1.ApiService
Service definitionDownload vestige-api.proto
ReflectionEnabled
AuthBearer token, see Authentication

There is no official SDK. Generate a client for your language from vestige-api.proto with the standard gRPC tools. You can also explore the API with Postman or grpcurl, which read the service definition through reflection:

grpcurl -H "authorization: Bearer $TOKEN" api.vestigeview.app:443 list vestige.api.v1.ApiService

grpcurl -H "authorization: Bearer $TOKEN" -d '{}' \
api.vestigeview.app:443 vestige.api.v1.ApiService/GetAssets

Every call sees only the vehicles and drivers of the account your credentials belong to.

Methods​

MethodReturnsAccess
GetAssetsAll vehicles: ID and nameRead
GetAssetStatusesLatest odometer, ignition, location, engine hours, battery level of one vehicleRead
GetAssetExtendedPropertiesVIN, year, make, model, colour of one vehicleRead
GetAssetDiagnosticTroubleCodeDailyBucketsDiagnostic trouble codes per day, for a date rangeRead
GetDriversAll drivers: ID and nameRead
PushDriverAssignmentRecords that a driver took a vehicleWrite
UnassignVehicleRecords that a vehicle has no driverWrite
UnassignDriverRecords that a driver has no vehicleWrite

GetAssets​

Takes no parameters. Returns every vehicle with its Id and Name. Drivers are not included; use GetDrivers for those.

GetAssetStatuses​

Returns the latest known value of each status you ask for.

{
"AssetId": "0b7d9f3e-6a4c-4d8e-9a59-3d2f1c0e8b71",
"StatusTypes": ["LOCATION", "IGNITION", "ODOMETER"]
}
note

List every status you want in StatusTypes. A status you do not list is not returned.

Status typeValueUnit
ODOMETERValuekm
IGNITIONValuetrue = on
LOCATIONLatitude, Longitude, Speed, Address, DisplayNamedegrees, km/h
ENGINEONDURATIONValuehours
ENGINEBATTERYLEVELValuevolts

Each status has its own Date: the time the vehicle reported that value. A status the vehicle has never reported is missing from the reply.

GetAssetExtendedProperties​

Returns the properties of one vehicle that you ask for by key:

KeyMeaning
Asset.Details.VinVIN
Asset.Details.YearModel year
Asset.Details.MakeMake
Asset.Details.ModelModel
Asset.Details.ColorColour

GetAssetDiagnosticTroubleCodeDailyBuckets​

Returns the diagnostic trouble codes of one vehicle, grouped by day. FromDate and ToDate use the format yyyy-MM-dd.

GetDrivers​

Takes no parameters. Returns every driver with its Id and Name.

Driver assignment​

These calls change data in VestigeView, so read-only credentials cannot use them. Credentials without write access receive PERMISSION_DENIED. Contact us if your integration needs to write.

  • PushDriverAssignment records that a driver took a vehicle at a point in time. VehicleId comes from GetAssets, DriverId from GetDrivers.
  • UnassignVehicle records that a vehicle has no driver from a point in time. It does not say where the previous driver went.
  • UnassignDriver records that a driver has no vehicle from a point in time. It does not say who now has the vehicle. Use it when you know the driver finished, not that the vehicle became empty.

For all three:

  • Date is UTC with whole-second resolution. Sub-second values and future dates are rejected.
  • A reply of Accepted: true means the change is queued. It is applied moments later, so a read straight after may not show it yet.

Errors​

Status codeCause
UNAUTHENTICATEDThe token is missing, wrong or expired
PERMISSION_DENIEDYour credentials cannot do this, for example a write with read-only access
INVALID_ARGUMENTA parameter is malformed, for example an ID that is not a GUID or a bad date
NOT_FOUNDThe vehicle or driver does not exist, or is not in your account