Filodos

Vehicles feed

One row for each vehicle of your organization. A lookup table for the other feeds. Part of BI analytics in the documentation.

GET/v1/analytics/vehicles

Returns one row for each vehicle of your organization. Rows sort by device id. This feed does not use since or until.

Use it as a lookup table. Relate the other feeds to it on device_id.

ParameterRequiredNotes
limitNoRows per page, from 1 to 5000. Default 1000.
offsetNoFirst row to return. Default 0. Use next_offset from the answer to read the next page.

Send an API key with the analytics:read scope in the Authorization header. A key reads data for its organization only. See BI analytics for the rules that all feeds share.

Example

Request:

curl 'https://filodos.gr/filodos-dashboard/api/scoring/v1/analytics/vehicles?limit=5000' \
  -H "Authorization: Bearer filodos_REPLACE_WITH_YOUR_KEY"

Answer (200). The example shows two rows of 2. A real page has up to limit rows. next_offset is null on the last page.

{
  "rows": [
    {
      "device_id": 43,
      "vehicle_name": "IKX-1234",
      "unique_id": "018271406491",
      "model": "V7 Pro",
      "category": "truck",
      "status": "online",
      "last_update": "2026-10-05T10:14:03+03:00",
      "current_driver_names": "Nikos Papadopoulos",
      "recorded_distance_km": 18432.7,
      "last_trip_at": "2026-10-05T09:02:41+03:00"
    },
    {
      "device_id": 44,
      "vehicle_name": "IKY-5678",
      "unique_id": "018271406502",
      "model": null,
      "category": "van",
      "status": "offline",
      "last_update": "2026-10-04T19:40:11+03:00",
      "current_driver_names": null,
      "recorded_distance_km": 9120.4,
      "last_trip_at": "2026-10-04T18:55:20+03:00"
    }
  ],
  "total": 2,
  "limit": 5000,
  "offset": 0,
  "next_offset": null
}

In Excel

  1. Make the query in the Excel Power Query procedure.
  2. Set Feed = "vehicles" in the query.
  3. Select Close & Load.

The sheet then has one row for each row in the answer. A null value gives an empty cell. Some of the columns of the example look like this:

device_idvehicle_namestatuslast_updatecurrent_driver_namesrecorded_distance_km
43IKX-1234online2026-10-05T10:14:03+03:00Nikos Papadopoulos18432.7
44IKY-5678offline2026-10-04T19:40:11+03:009120.4

Fields

Each row has these fields, in this order. A timestamp is ISO 8601 Europe/Athens time with an explicit offset.

FieldTypeMeaning
device_idintegerThe Filodos device id.
vehicle_nametextThe vehicle name, usually the plate.
unique_idtextThe device identifier (for a JT/T808 device, the terminal phone number).
modeltext or nullThe device model, if set.
categorytext or nullThe vehicle category on the map, if set.
statustextonline, offline, or unknown.
last_updatetimestamp or nullThe time of the last report from the device.
current_driver_namestext or nullThe drivers linked to the vehicle now.
recorded_distance_kmnumberThe total trip distance that Filodos recorded. It is not the vehicle odometer.
last_trip_attimestamp or nullThe start time of the most recent trip.

The Power Query recipe sends since and until to all feeds. This feed ignores them.

Errors

An error answer has a JSON body with a detail field.

StatusCause
401The Authorization header is missing, or the key is unknown or revoked.
403The key does not have the analytics:read scope, or the caller is a driver login.
422limit or offset is out of range.
503The live device list is not available. Try again later.