Temperature Report
Temperature sensor readings from vehicle-mounted hardware. Track cold chain compliance and detect excursions.
GET
/apidev/v1/reports/avl/temperaturePermissionAPICLI_RPTAVL_TEMPERATURA
Rate Limit10 req/min (sliding window)
Cache300s (5 min)
Max Range31 days
Overview
Returns temperature sensor readings from vehicles equipped with onboard temperature monitoring. Critical for cold chain logistics, pharmaceutical transport, and food delivery compliance.
- Raw readings — individual data points with timestamps
- Daily aggregation —
perday=truefor aggregated values per day - Subtotals —
subtotals=truefor summary rows
info
Only vehicles with a temperature sensor configured return meaningful readings. Devices without a sensor report temperature: 0.
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 | Aggregate readings 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/temperature?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/temperature?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/temperature",
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 |
temperature | number | Average temperature sensor 1 reading (°C). 0 if the vehicle has no sensor |
datetime | string | null | Date of the record. Only populated when perday=true |
tip
Temperature values are in degrees Celsius. Convert client-side if needed: F = (C × 9/5) + 32.
Example Response
{
"success": true,
"data": [
{
"device_name": "Reefer R-401",
"temperature": -2.4,
"datetime": "2026-03-05"
},
{
"device_name": "Reefer R-401",
"temperature": -1.8,
"datetime": "2026-03-06"
}
],
"meta": {
"total": 14,
"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_TEMPERATURA permission |
RATE_LIMITED | 429 | Exceeded 10 req/min |
INTERNAL_ERROR | 500 | Unexpected server error |
Related
- Ignition Report — Includes temperature_1 per ignition period
- Pagination — Standard pagination parameters