Reports
Weekly and monthly summaries, statistics and speeding.
Get the weekly report
https://api.drometra.com/v1/reports/weeklyRequires the access token of a person in your company.
Headers
- x-tenant-idmandatorystring · uuid
- Your company's identifier. The server checks that you are still an active member of it.
Reference parameters
- weekmandatorystring
Response · 200
- objectalways
- objectalways
- objectalways
- objectalways
- array de objectalways
- objectalways
- object o nullalways
- objectalways
- truncatedDaysintegeralways
- array de objectalways
- array de objectalways
- array de objectalways
- objectalways
- object o nullalways
It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.
curl -X GET "https://api.drometra.com/v1/reports/weekly" \
-H "Authorization: Bearer $DROMETRA _ TOKEN"\
-H "x-tenant-id: $DROMETRA_TENANT" \
-H "Accept: application / json"{
"week": {
"from": "…",
"to": "…",
"through": "…",
"partial": true,
"timeZone": "…"
},
"comparedWith": {
"from": "…",
"to": "…"
},
"rules": {
"weekly": {
"version": "…",
"week": "…",
"comparison": "…",
"overdue": "…",
"distanceChange": "…",
"punctualityChange": "…",
"dataGap": "…",
"idle": "…",
"outsideHours": "…",
"awayOvernight": "…",
"speeding": "…"
},
"trips": {
"version": "…",
"maxAccuracyMeters": 0,
"maxJumpMetersPerSecond": 0,
"stopRadiusMeters": 0,
"minStopSeconds": 0,
"minTripMeters": 0,
"maxGapSeconds": 0,
"stillMetersPerSecond": 0,
"movingMetersPerSecond": 0
},
"deliveries": {
"version": "…",
"onTime": "…",
"serviceTime": "…",
"places": "…",
"overdue": "…"
},
"schedule": {
"version": "…",
"outside": "…",
"suggestion": "…"
},
"speed": {
"version": "…",
"limit": "…"
}
},
"narrative": {
"text": "…",
"evidence": "…",
"source": "template"
},
"findings": [
{
"kind": "outside_hours",
"attention": true,
"text": "…",
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"date": "…"
}
],
"totals": {
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"activeVehicles": 0,
"activeDays": 0
},
"previousTotals": {
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"activeVehicles": 0,
"activeDays": 0
},
"analyzed": {
"positions": 0,
"trips": 0,
"stops": 0,
"vehicles": 0
},
"truncatedDays": 0,
"days": [
{
"date": "…",
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"vehicles": 0
}
],
"vehicles": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…",
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"activeDays": 0,
"gapSeconds": 0,
"previousDistanceMeters": 0,
"longestDay": {
"date": "…",
"distanceMeters": 0
}
}
],
"idleVehicles": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…"
}
],
"deliveries": {
"period": {
"from": "…",
"to": "…"
},
"totals": {
"stops": 0,
"delivered": 0,
"failed": 0,
"pending": 0
},
"punctuality": {
"evaluated": 0,
"onTime": 0,
"late": 0,
"onTimeRate": 0.5
},
"serviceSeconds": {
"measured": 0,
"median": 0,
"p90": 0
},
"failures": [
{
"reason": "…",
"count": 0
}
],
"days": [
{
"date": "…",
"stops": 0,
"delivered": 0,
"failed": 0,
"pending": 0,
"late": 0
}
],
"workers": [
{
"workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"name": "…",
"stops": 0,
"delivered": 0,
"failed": 0,
"late": 0
}
],
"places": [
{
"locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"name": "…",
"lastDeliveredAt": "2026-10-21T14:02:31Z",
"deliveries": 0,
"daysSinceLast": 0,
"usualIntervalDays": 0,
"overdue": true
}
],
"rules": {
"version": "…",
"onTime": "…",
"serviceTime": "…",
"places": "…",
"overdue": "…"
}
},
"previousDeliveries": {
"stops": 0,
"delivered": 0,
"failed": 0,
"onTimeRate": 0.5
}
}Get the monthly report
https://api.drometra.com/v1/reports/monthlyRequires the access token of a person in your company.
Headers
- x-tenant-idmandatorystring · uuid
- Your company's identifier. The server checks that you are still an active member of it.
Reference parameters
- monthmandatorystring
Response · 200
- objectalways
- objectalways
- objectalways
- objectalways
- object o nullalways
- objectalways
- truncatedDaysintegeralways
- array de objectalways
- array de objectalways
- object o nullalways
- object o nullalways
- objectalways
- object o nullalways
It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.
curl -X GET "https://api.drometra.com/v1/reports/monthly" \
-H "Authorization: Bearer $DROMETRA _ TOKEN"\
-H "x-tenant-id: $DROMETRA_TENANT" \
-H "Accept: application / json"{
"month": {
"month": "…",
"from": "…",
"to": "…",
"through": "…",
"partial": true,
"timeZone": "…"
},
"rules": {
"monthly": {
"version": "…",
"month": "…",
"projection": "…",
"minimumHistory": "…",
"busiest": "…"
},
"trips": {
"version": "…",
"maxAccuracyMeters": 0,
"maxJumpMetersPerSecond": 0,
"stopRadiusMeters": 0,
"minStopSeconds": 0,
"minTripMeters": 0,
"maxGapSeconds": 0,
"stillMetersPerSecond": 0,
"movingMetersPerSecond": 0
},
"deliveries": {
"version": "…",
"onTime": "…",
"serviceTime": "…",
"places": "…",
"overdue": "…"
},
"fuel": {
"version": "…",
"inputs": "…",
"cost": "…",
"projection": "…"
}
},
"narrative": {
"text": "…",
"evidence": "…",
"source": "template"
},
"totals": {
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"activeVehicles": 0,
"activeDays": 0
},
"previousTotals": {
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"stops": 0,
"activeVehicles": 0,
"activeDays": 0
},
"analyzed": {
"positions": 0,
"trips": 0,
"stops": 0,
"vehicles": 0
},
"truncatedDays": 0,
"days": [
{
"date": "…",
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"vehicles": 0
}
],
"vehicles": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…",
"distanceMeters": 0,
"movingSeconds": 0,
"trips": 0,
"activeDays": 0
}
],
"projection": {
"expectedMeters": 0,
"lowMeters": 0,
"highMeters": 0,
"remainingDays": 0,
"weeks": [
{
"from": "…",
"distanceMeters": 0
}
]
},
"busiest": {
"weekday": 4,
"averageMeters": 0,
"othersAverageMeters": 0
},
"deliveries": {
"stops": 0,
"delivered": 0,
"failed": 0,
"evaluated": 0,
"onTime": 0,
"onTimeRate": 0.5
},
"fuel": {
"cost": 0,
"liters": 0,
"vehicles": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…",
"liters": 0,
"cost": 0
}
],
"missing": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…"
}
],
"projectedCost": 0
}
}Get statistics for a period
https://api.drometra.com/v1/reports/statsRequires the access token of a person in your company.
Headers
- x-tenant-idmandatorystring · uuid
- Your company's identifier. The server checks that you are still an active member of it.
Reference parameters
- frommandatorystring
- tomandatorystring
Response · 200
- objectalways
- array de objectalways
- objectalways
- array de objectalways
- array de objectalways
- array de objectalways
- array de objectalways
- objectalways
- array de objectalways
- objectalways
It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.
curl -X GET "https://api.drometra.com/v1/reports/stats" \
-H "Authorization: Bearer $DROMETRA _ TOKEN"\
-H "x-tenant-id: $DROMETRA_TENANT" \
-H "Accept: application / json"{
"period": {
"from": "…",
"to": "…",
"through": "…",
"partial": true,
"comparedThrough": "…",
"days": 16,
"businessDays": 15.5,
"scheduled": true,
"timeZone": "…"
},
"comparedWith": [
{
"from": "…",
"to": "…"
}
],
"totals": {
"stops": 0,
"delivered": 0,
"failed": 0,
"pending": 0,
"onTime": {
"evaluated": 0,
"onTime": 0,
"rate": 0.5
},
"deliveredWithProof": 0,
"distanceMeters": 0,
"movingSeconds": 0,
"stopsWithoutVehicle": 0
},
"daily": [
{
"date": "…",
"distanceMeters": 0,
"vehiclesUsed": 0,
"delivered": 0,
"failed": 0,
"pending": 0,
"onTime": {
"evaluated": 0,
"onTime": 0,
"rate": 0.5
}
}
],
"customers": [
{
"locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"name": "…",
"stops": 0,
"delivered": 0,
"failed": 0,
"pending": 0,
"failures": [
{
"reason": "…",
"count": 0
}
],
"onTime": {
"evaluated": 0,
"onTime": 0,
"rate": 0.5
},
"onSite": {
"measured": 0,
"averageMinutes": 0
},
"frequency": {
"deliveryDays": 0,
"medianDaysBetween": 0
},
"orders": {
"period": 0,
"previous": [],
"previousAverage": 0,
"lessThanBefore": true
},
"unavailable": [
{
"metric": "…",
"reason": "no_deliveries"
}
]
}
],
"vehicles": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"label": "…",
"active": true,
"distanceMeters": 0,
"movingSeconds": 0,
"workSeconds": 0,
"daysUsed": 0,
"businessDays": 0,
"businessDaysUsed": 0,
"utilization": 0.5,
"lowUse": true,
"delivered": 0,
"failed": 0,
"metersPerDelivery": 0,
"stopsPerHour": 0,
"fuelCostPerDelivery": 0,
"unavailable": [
{
"metric": "…",
"reason": "no_deliveries"
}
]
}
],
"drivers": [
{
"workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"name": "…",
"stops": 0,
"delivered": 0,
"failed": 0,
"onTime": {
"evaluated": 0,
"onTime": 0,
"rate": 0.5
},
"finishedRoutes": 0,
"minutesPerStop": 0,
"unavailable": [
{
"metric": "…",
"reason": "no_deliveries"
}
]
}
],
"trends": {
"distanceMeters": {
"current": 0,
"previous": [
0
],
"previousAverage": 0,
"change": 0
},
"delivered": {
"current": 0,
"previous": [
0
],
"previousAverage": 0,
"change": 0
},
"onTimeRate": {
"current": 0,
"previous": [
0
],
"previousAverage": 0,
"change": 0
},
"unavailable": [
{
"metric": "…",
"reason": "no_deliveries"
}
]
},
"notes": [
{
"kind": "distance_trend",
"text": "…",
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"locationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d"
}
],
"rules": {
"stats": {
"version": "…",
"period": "…",
"customers": "…",
"onSite": "…",
"frequency": "…",
"lessThanBefore": "…",
"vehicles": "…",
"utilization": "…",
"lowUse": "…",
"vehicleDeliveries": "…",
"perDelivery": "…",
"fuel": "…",
"drivers": "…",
"trends": "…",
"notes": "…",
"daily": "…",
"unavailable": "…"
},
"trips": {
"version": "…",
"maxAccuracyMeters": 0,
"maxJumpMetersPerSecond": 0,
"stopRadiusMeters": 0,
"minStopSeconds": 0,
"minTripMeters": 0,
"maxGapSeconds": 0,
"stillMetersPerSecond": 0,
"movingMetersPerSecond": 0
},
"deliveries": {
"version": "…",
"onTime": "…",
"serviceTime": "…",
"places": "…",
"overdue": "…"
},
"fuel": {
"version": "…",
"inputs": "…",
"cost": "…",
"projection": "…"
}
}
}Get speeding events
https://api.drometra.com/v1/reports/speedingRequires the access token of a person in your company.
Headers
- x-tenant-idmandatorystring · uuid
- Your company's identifier. The server checks that you are still an active member of it.
Reference parameters
- frommandatorystring
- tomandatorystring
Response · 200
- objectalways
- limitKmhintegeralways
- array de objectalways
- objectalways
It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.
curl -X GET "https://api.drometra.com/v1/reports/speeding" \
-H "Authorization: Bearer $DROMETRA _ TOKEN"\
-H "x-tenant-id: $DROMETRA_TENANT" \
-H "Accept: application / json"{
"period": {
"from": "…",
"to": "…",
"through": "…",
"partial": true,
"timeZone": "…"
},
"limitKmh": 1,
"episodes": [
{
"vehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"vehicleLabel": "…",
"date": "…",
"sourceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"startedAt": "2026-10-21T14:02:31Z",
"endedAt": "2026-10-21T14:02:31Z",
"seconds": 0,
"distanceMeters": 0,
"maxSpeedMetersPerSecond": 0,
"driver": {
"workerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
"name": "…"
}
}
],
"rules": {
"speed": {
"version": "…",
"limit": "…"
},
"trips": {
"version": "…",
"maxAccuracyMeters": 0,
"maxJumpMetersPerSecond": 0,
"stopRadiusMeters": 0,
"minStopSeconds": 0,
"minTripMeters": 0,
"maxGapSeconds": 0,
"stillMetersPerSecond": 0,
"movingMetersPerSecond": 0
},
"driver": "…"
}
}