Vestige API Documentation
gRPC Service Description
The Vestige API offers a comprehensive suite of gRPC service calls, including:
- GetAssets: Retrieves a list of all assets, including their respective ID and name. Drivers are not included — use GetDrivers for those.
-
GetAssetStatuses: Fetches the latest status of an asset, such as:
- Odometer reading (km)
- Ignition status
- Location
- Engine "on" duration (hour)
- Engine battery level (volt)
-
GetAssetExtendedProperties: Provides access to extended properties of an asset, such as:
- Asset.Details.Vin
- Asset.Details.Year
- Asset.Details.Make
- Asset.Details.Model
- Asset.Details.Color
- GetDrivers: Retrieves a list of drivers, including their respective ID and name.
-
PushDriverAssignment: Records that a driver took a vehicle at a point in time.
- VehicleId is an ID from GetAssets; DriverId is an ID from GetDrivers. Both must belong to the same subscription.
- Date is a UTC timestamp with whole-second resolution. Sub-second values are rejected, as are dates in the future.
- A successful reply means the assignment was accepted and queued. It is applied moments later, so it may not be reflected immediately by other calls.
- Changing driver assignments is not part of read-only access. Credentials that are not permitted to do so receive
PERMISSION_DENIED; contact Transit Technologies if your integration needs to write.
-
UnassignVehicle: Records that a vehicle has no driver from a point in time.
- This says only that the vehicle is without a driver. It does not say where its previous driver went — they may have moved to another vehicle.
-
UnassignDriver: Records that a driver has no vehicle from a point in time.
- This says only that the driver is without a vehicle. It does not say who now has the vehicle they left.
- Use this rather than UnassignVehicle when what you know is that the driver finished, not that the vehicle became empty. It stays correct even if a later record shows the driver was in a different vehicle at that time.
Assignment and unassignment are deliberately separate calls. An assignment pairs a vehicle and a
driver; an unassignment is a statement about one of them only, and carries no claim about the other.
For detailed information, refer to the service's proto file.
Getting Started with gRPC Service
For general information on gRPC, visit grpc.io.
The Vestige API service is accessible at grpcServerUrl.
Postman offers excellent support for testing and exploring gRPC services.
To consume the gRPC service in your application
-
Generate proto file via gRPC reflection:
dotnet grpc-cli dump grpcServerUrl vestige.api.v1.ApiService -o ./VestigeApi
-
Once you have obtained the proto file, generate a strongly-typed client for your programming language following the instructions on the gRPC website.
Authorization
To obtain an access token, use the following cURL command:
curl --request POST \
--url https://auth.transit-technologies.com/oauth/token \
--header 'content-type: application/json' \
--data '{"client_id":"APPLICATION_CLIENT_ID","client_secret":"APPLICATION_CLIENT_SECRET","audience":"https://vestigeview.app/api","grant_type":"client_credentials"}'
Use Bearer authentication for subsequent requests.
References
gRPC for .NET