Appearance
Vehicles, groups & drivers
List vehicles
GET /fleet/vehicles
Every vehicle in the organisation, whether or not it has reported a position. Sorted by id.
Query parameters
| Name | Type | Description |
|---|---|---|
groupId | string | Only vehicles in this group. 404 if the group doesn't exist. |
status | string | ACTIVE, INACTIVE, MAINTENANCE or RETIRED. |
limit, cursor | See Pagination. |
Example
bash
curl "https://api.routetracks.com/api/v1/partner/v1/fleet/vehicles?limit=2" \
-H "Authorization: Bearer $TOKEN"json
{
"data": [
{
"id": "cm1veh0003",
"licensePlate": "WP CAB-1234",
"trailerLicensePlate": "WP TR-5521",
"make": "Isuzu",
"model": "NPR",
"year": 2021,
"vin": "JALC4B16007000123",
"status": "ACTIVE",
"workStatus": "Loading",
"odometerKm": 184230,
"customFields": [
{ "key": "cost_center", "name": "Cost center", "fieldType": "TEXT", "value": "North" },
{ "key": "axles", "name": "Axles", "fieldType": "NUMBER", "value": null }
],
"groups": [
{ "id": "cm1grp0001", "name": "Colombo North" }
],
"driver": { "id": "cm1drv0007", "name": "Nimal Perera", "phone": "+94771234567" },
"createdAt": "2025-03-14T09:12:00.000Z",
"updatedAt": "2026-10-20T06:40:11.000Z"
},
{
"id": "cm1veh0004",
"licensePlate": "WP CAB-5678",
"trailerLicensePlate": null,
"make": "Tata",
"model": "LPT 1615",
"year": 2019,
"vin": null,
"status": "ACTIVE",
"workStatus": null,
"odometerKm": 263400,
"customFields": [
{ "key": "cost_center", "name": "Cost center", "fieldType": "TEXT", "value": null },
{ "key": "axles", "name": "Axles", "fieldType": "NUMBER", "value": 3 }
],
"groups": [],
"driver": null,
"createdAt": "2025-03-14T09:15:00.000Z",
"updatedAt": "2026-09-02T11:00:00.000Z"
}
],
"meta": { "limit": 2, "hasMore": true, "nextCursor": "eyJ2IjoxLCJpZCI6ImNtMXZlaDAwMDQifQ" }
}Fields
| Field | Type | Description |
|---|---|---|
id | string | Vehicle ID. The same ID is used by every other endpoint. |
licensePlate | string | Registration plate as entered. |
trailerLicensePlate | string | null | Attached trailer, if recorded. |
make, model, year, vin | Vehicle details, null when not recorded. | |
status | string | Fleet lifecycle state: ACTIVE, INACTIVE, MAINTENANCE, RETIRED. |
workStatus | string | null | The organisation's own current status for the vehicle, for example "Loading". |
odometerKm | number | Odometer reading in km. |
customFields | array | Every custom field the organisation has defined for vehicles. value is null when this vehicle has none. fieldType is TEXT, NUMBER, DATE, BOOLEAN, SELECT or MULTI_SELECT. DATE and SELECT values are strings. MULTI_SELECT is a string array. |
groups | array | Groups the vehicle belongs to (a vehicle can be in several). |
driver | object | null | Driver currently assigned to the vehicle. |
Get a vehicle
GET /fleet/vehicles/{vehicleId}
Returns one vehicle object (same fields as above, not wrapped in data). 404 if it doesn't exist.
List groups
GET /fleet/groups
json
{
"data": [
{
"id": "cm1grp0001",
"name": "Colombo North",
"description": "Northern distribution routes",
"color": "#2563eb",
"vehicleCount": 14
}
],
"meta": { "limit": 100, "hasMore": false, "nextCursor": null }
}Takes limit and cursor.
List drivers
GET /fleet/drivers
| Name | Type | Description |
|---|---|---|
status | string | ACTIVE, INACTIVE or SUSPENDED. |
limit, cursor | See Pagination. |
json
{
"data": [
{
"id": "cm1drv0007",
"name": "Nimal Perera",
"phone": "+94771234567",
"email": "nimal@example.com",
"employeeReference": "EMP-0042",
"licenseNumber": "B1234567",
"licenseExpiryDate": "2028-05-31",
"status": "ACTIVE",
"vehicle": { "id": "cm1veh0003", "licensePlate": "WP CAB-1234" }
}
],
"meta": { "limit": 100, "hasMore": false, "nextCursor": null }
}vehicle is the vehicle the driver is currently assigned to, or null.