Trips feed
One row for each trip of the whole fleet. Part of BI analytics in the documentation.
GET/v1/analytics/trips
Returns one row for each trip that started in the date range. Rows sort by start time, then trip id.
Use this feed to see where and when each vehicle drove, and which driver drove it.
| Parameter | Required | Notes |
|---|---|---|
since | Yes | First fleet-local date, in YYYY-MM-DD form. |
until | Yes | Last fleet-local date, in YYYY-MM-DD form. Both bounds are inclusive. The range cannot exceed 366 days. |
limit | No | Rows per page, from 1 to 5000. Default 1000. |
offset | No | First row to return. Default 0. Use next_ 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/trips?since=2026-10-01&until=2026-10-31&limit=5000' \
-H "Authorization: Bearer filodos_REPLACE_WITH_YOUR_KEY"
Answer (200). The example shows two rows of 418. A real page has up to limit rows. next_offset is null on the last page.
{
"rows": [
{
"trip_id": 8812,
"device_id": 43,
"vehicle_name": "IKX-1234",
"driver_names": "Nikos Papadopoulos",
"started_at": "2026-10-01T07:42:10+03:00",
"ended_at": "2026-10-01T08:31:55+03:00",
"duration_minutes": 49.75,
"distance_km": 38.6,
"max_speed_kmh": 104.0,
"idle_minutes": 6.5,
"night_km": 0.0,
"overspeed_km": 1.2,
"harsh_brake_count": 1,
"harsh_accel_count": 0,
"event_count": 2,
"start_latitude": 37.9838,
"start_longitude": 23.7275,
"end_latitude": 38.0457,
"end_longitude": 23.8016
},
{
"trip_id": 8820,
"device_id": 44,
"vehicle_name": "IKY-5678",
"driver_names": null,
"started_at": "2026-10-31T23:05:00+02:00",
"ended_at": null,
"duration_minutes": null,
"distance_km": 3.1,
"max_speed_kmh": null,
"idle_minutes": null,
"night_km": null,
"overspeed_km": null,
"harsh_brake_count": null,
"harsh_accel_count": null,
"event_count": 0,
"start_latitude": 37.9421,
"start_longitude": 23.6463,
"end_latitude": null,
"end_longitude": null
}
],
"total": 418,
"limit": 5000,
"offset": 0,
"next_offset": null
}
In Excel
- Make the query in the Excel Power Query procedure.
- Set
Feed = "trips"in the query. - 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:
trip_ | vehicle_ | driver_ | started_ | duration_ | distance_ | event_ |
|---|---|---|---|---|---|---|
| 8812 | IKX-1234 | Nikos Papadopoulos | 2026-10-01T07:42:10+03:00 | 49.75 | 38.6 | 2 |
| 8820 | IKY-5678 | 2026-10-31T23:05:00+02:00 | 3.1 | 0 |
Fields
Each row has these fields, in this order. A timestamp is ISO 8601 Europe/Athens time with an explicit offset.
| Field | Type | Meaning |
|---|---|---|
trip_ | integer | The Filodos trip id. The events feed uses the same id. |
device_ | integer | The Filodos device id. |
vehicle_ | text or null | The vehicle name, usually the plate. |
driver_ | text or null | The drivers linked to the vehicle when the trip started. |
started_ | timestamp | The trip start, in Europe/Athens time with offset. |
ended_ | timestamp or null | The trip end. null while the trip is open. |
duration_ | number or null | The time from start to end. null while the trip is open. |
distance_ | number or null | The trip distance, in kilometres. |
max_ | number or null | The highest speed in the trip. |
idle_ | number or null | The time with the ignition on and a speed below 3 km/h. |
night_ | number or null | The distance driven from 22:00 to 06:00 local time. |
overspeed_ | number or null | The distance driven above a posted speed limit. |
harsh_ | integer or null | Harsh braking events that Filodos found from the speed data. |
harsh_ | integer or null | Harsh acceleration events that Filodos found from the speed data. |
event_ | integer | Alarms and driving events (severity 2 or 3) in the trip. Their rows are in the events feed. |
start_ | number or null | The latitude of the start point. |
start_ | number or null | The longitude of the start point. |
end_ | number or null | The latitude of the end point. |
end_ | number or null | The longitude of the end point. |
The fields from max_speed_kmh to harsh_accel_count come from the trip analysis. They are null until the analysis for that day runs.
A trip belongs to the day when it started. A trip that starts before midnight and ends after midnight shows once.
Errors
An error answer has a JSON body with a detail field.
| Status | Cause |
|---|---|
401 | The Authorization header is missing, or the key is unknown or revoked. |
403 | The key does not have the analytics:read scope, or the caller is a driver login. |
422 | until is before since, the range is more than 366 days, a date is not in YYYY-MM-DD form, or limit or offset is out of range. |