Live Location Report
Tracking link usage analytics — creation, opens, and response counts.
GET
/apidev/v1/reports/gt/live-locationPermissionAPICLI_RPTGT_LIVELOCATION
Rate Limit10 req/min
Cache300s
Max Range31 days
Request
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startdate | string | Yes | — | ISO 8601 start date-time (e.g. 2026-03-01T00:00:00). |
enddate | string | Yes | — | ISO 8601 end date-time. Max range 31 days from startdate. |
devices | string | No | — | Comma-separated device IDs. Max 500. |
drivers | string | No | — | Comma-separated driver IDs. Max 500. |
service_types | string | No | — | Comma-separated service type IDs. Max 100. |
causes | string | No | — | Comma-separated cause IDs. Max 100. |
countries | string | No | — | Comma-separated country IDs. Max 50. |
departments | string | No | — | Comma-separated department IDs. Max 50. |
group_by | enum | No | day | Grouping mode: day, product, cause, device. |
limit | integer | No | 25 | Number of records per page (1–100). |
offset | integer | No | 0 | Number of records to skip for pagination. |
Code Examples
- cURL
- JavaScript
- Python
curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/gt/live-location?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&group_by=day&limit=25"
const res = await fetch(
`https://${TENANT}/apidev/v1/reports/gt/live-location?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&group_by=day&limit=25`,
{
headers: {
'Authorization': `Bearer ${TOKEN}`,
'X-API-Key': APIKEY,
'tenant': TENANT,
},
}
);
const data = await res.json();
import requests
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/gt/live-location",
headers={"Authorization": f"Bearer {TOKEN}", "X-API-Key": APIKEY, "tenant": TENANT},
params={"startdate": "2026-03-01T00:00:00", "enddate": "2026-03-15T23:59:59", "group_by": "day", "limit": 25},
)
data = response.json()
Response
Response Fields
| Field | Type | Description |
|---|---|---|
task_number | string | null | Task number. |
product_name | string | Product name. |
product_type | string | Product type. |
service_type | string | Service type. |
cause | string | Cause name. |
device_name | string | Vehicle name. |
created_count | number | Links created. |
used_count | number | Links used. |
receiver_count | number | Unique receivers. |
hash | string | Tracking link hash. |
total_links | number | Total links generated. |
unopened | number | Links not opened. |
opened | number | Links opened. |
date | string | null | Date (when grouped by day). |
response_count | number | Responses received. |
Example Response
{
"success": true,
"data": [
{
"task_number": "104820580001",
"product_name": "Installation",
"product_type": "Field",
"service_type": "Maintenance",
"cause": "Scheduled",
"device_name": "Truck A-101",
"created_count": 3,
"used_count": 2,
"receiver_count": 1,
"hash": "abc123",
"total_links": 3,
"unopened": 1,
"opened": 2,
"date": "2026-03-05",
"response_count": 1
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}
Errors
| Code | HTTP | Description |
|---|---|---|
BAD_REQUEST | 400 | Missing required headers. |
VALIDATION_ERROR | 400 | Invalid params: missing dates, range > 31 days, invalid enum values. |
UNAUTHORIZED | 401 | Invalid or expired JWT / API Key. |
FORBIDDEN | 403 | User lacks required permission. |
RATE_LIMITED | 429 | Exceeded 10 req/min. |
INTERNAL_ERROR | 500 | Unexpected server error. |