Ignition Report
Engine hours tracking — ignition on time, horometer readings, fuel consumption, emissions, and temperature sensor data.
GET
/apidev/v1/reports/avl/ignitionPermissionAPICLI_RPTAVL_IGNICION
Rate Limit10 req/min (sliding window)
Cache300s (5 min)
Max Range31 days
Overview
Total engine-on time (ignition hours) per vehicle with horometer readings, fuel/cost/CO₂ estimates, and temperature sensors.
- Horometer readings — start and end values for precise engine-hour accounting
- Daily breakdown —
perday=truefor one row per vehicle per day - Cost estimation — fuel, cost, and CO₂ from ignition hours and vehicle config
- Temperature sensor — readings from sensor 1
- Subtotals —
subtotals=truefor aggregated summaries
Request
Request Headers
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startdate | string | Yes | — | ISO 8601 start date-time |
enddate | string | Yes | — | ISO 8601 end date-time. Max range 31 days |
devices | string | No | All visible | Comma-separated device IDs. Max 500 |
perday | boolean | No | false | Group results by day |
subtotals | boolean | No | false | Include subtotal rows |
limit | integer | No | 25 | Records per page (1–100) |
offset | integer | No | 0 | Records to skip |
Code Examples
- cURL
- JavaScript
- Python
curl -s "https://$TENANT/apidev/v1/reports/avl/ignition?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&limit=50&perday=true" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch(
`https://${TENANT}/apidev/v1/reports/avl/ignition?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&limit=50&perday=true`,
{ headers }
);
const { data, meta } = await response.json();
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/avl/ignition",
headers=headers,
params={
"startdate": "2026-03-01T00:00:00",
"enddate": "2026-03-15T23:59:59",
"limit": 50,
"perday": True,
},
)
result = response.json()
Response Fields
| Field | Type | Description |
|---|---|---|
device_name | string | Display name of the vehicle/device |
datetime | string | null | Date of the record. Only populated when perday=true |
horometer_start | number | Horometer reading at start of the range (hours) |
horometer_end | number | Horometer reading at end of the range (hours) |
ignition_hours | number | Total hours ignition was on within the range |
ignition_seconds | number | Same value in seconds |
ignition_formatted | string | Same value formatted (e.g. "2h 15m") |
temperature_1 | number | null | Reading from temperature sensor 1 (°C). null if no sensor |
fuel | number | Estimated fuel consumed at idle (liters). 0 if liters/hour is not configured |
cost | number | Estimated fuel cost. 0 if fuel price is not configured |
co2 | number | Estimated CO₂ emissions (kg) |
tip
fuel, cost, and co2 are estimated from ignition hours using the fuel consumption rate per hour configured per vehicle. If not configured, these return 0.
Example Response
{
"success": true,
"data": [
{
"device_name": "Truck A-101",
"datetime": "2026-03-05",
"horometer_start": 2100.5,
"horometer_end": 2108.3,
"ignition_hours": 7.8,
"ignition_seconds": 28080,
"ignition_formatted": "7h 48m",
"temperature_1": 22.5,
"fuel": 23.4,
"cost": 35.10,
"co2": 60.84
}
],
"meta": {
"total": 42,
"limit": 50,
"offset": 0
}
}
Errors
| Code | HTTP | Description |
|---|---|---|
INVALID_DATE_RANGE | 400 | Date range exceeds the 31-day maximum, end before start, or non-ISO dates |
VALIDATION_ERROR | 400 | Invalid params: missing dates |
UNAUTHORIZED | 401 | Missing, invalid, or expired tenant / Authorization / X-API-Key |
FORBIDDEN | 403 | User lacks APICLI_RPTAVL_IGNICION permission |
RATE_LIMITED | 429 | Exceeded 10 req/min |
INTERNAL_ERROR | 500 | Unexpected server error |
Related
- Idle Report — Stationary periods by ignition state
- Temperature Report — Dedicated temperature analysis
- Kilometers Report — Distance-based tracking
- Pagination — Standard pagination parameters