Arvetrak
API v1
FLEET DATA PLATFORM / V1

Arvetrak API Documentation

A practical, secure reference for integrating licensed vehicle data into your own systems.

Base URLhttps://api-docs.arvetrak.com/api/customer/v1
OVERVIEW#

Getting started

Connect your backend to your company’s licensed fleet. Start with the status request, then list vehicles and query their data.

  1. Add your server’s fixed outbound IP to the allowlist.
  2. Generate an API key and secret in the management panel.
  3. Call the status endpoint with both authentication headers.
OVERVIEW#

Authentication & IP allowlist

Every REST request needs the key ID and secret in separate headers. Requests from unapproved IP addresses are rejected before fleet data is read.

X-Arvetrak-KeyPublic key identifier
X-Arvetrak-SecretSecret value shown only at creation
Acceptapplication/json
OVERVIEW#

Vehicle access & license periods

Only vehicles explicitly granted to this API client are returned. Real-time values are hidden after the license or grant expires. Historical queries are restricted to the intersection of granted and licensed periods.

REST API#

Service status

GEThttps://api-docs.arvetrak.com/api/customer/v1/status

Check credentials, client identity, active scopes and limits.

Required scope: status:read

Response · JSON

{
    "data": {
        "service": "Arvetrak Customer Fleet API",
        "version": "v1",
        "status": "ok",
        "client": {
            "code": "YOUR_CLIENT_CODE",
            "name": "Integration",
            "company": "Example",
            "abilities": [
                "status:read",
                "vehicles:read",
                "locations:read",
                "realtime:read"
            ]
        },
        "limits": {
            "requests_per_minute": 60,
            "history_requests_per_minute": 15,
            "max_page_size": 100,
            "max_history_days": 7,
            "max_history_points": 2000
        },
        "server_time": "2026-09-25T12:00:00Z"
    }
}
REST API#

List vehicles

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles

Paginated vehicles granted to this client. Expired vehicles remain listed without live values.

Required scope: vehicles:read

Parameters

NameTypeDescription
pageintegerPage number, starting at 1
per_pageintegerUp to the client max_page_size limit
searchstringPlate, vehicle name or IMEI
license_statusenumactive | expired | all

Response · JSON

{
    "data": [
        {
            "id": 42,
            "imei": "353742378000001",
            "plate": "34 ABC 123",
            "license": {
                "status": "active"
            },
            "live_data_available": true,
            "latitude": 41.01,
            "longitude": 28.97,
            "speed_kmh": 0,
            "ignition": false,
            "online": true
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 100,
        "total": 1,
        "last_page": 1
    },
    "links": {
        "previous": null,
        "next": null
    }
}
REST API#

Vehicle details

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}

Get one granted vehicle and its current snapshot. An unknown or ungranted IMEI returns 404.

Required scope: vehicles:read

Parameters

NameTypeDescription
imeipath · string14–17 digit device IMEI

Response · JSON

{
    "data": {
        "imei": "353742378000001",
        "plate": "34 ABC 123",
        "location_valid": true,
        "latitude": 41.01,
        "longitude": 28.97,
        "speed_kmh": 0,
        "ignition": false,
        "last_seen_at": "2026-09-25T12:00:00Z"
    },
    "meta": {
        "generated_at": "2026-09-25T12:00:01Z"
    }
}
REST API#

Location history

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/locations

Read GPS history within granted license periods. The newest points in the selected window are returned in ascending time order. If has_more is true, query an earlier window to continue.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted device IMEI
fromISO 8601 · requiredUTC start, inclusive
toISO 8601 · requiredUTC end, inclusive
limitintegerMaximum returned points; client limit applies

Response · JSON

{
    "data": [
        {
            "recorded_at": "2026-09-25T11:59:00Z",
            "latitude": 41.01,
            "longitude": 28.97,
            "speed_kmh": 31.2,
            "heading_deg": 90,
            "ignition": true
        }
    ],
    "meta": {
        "count": 1,
        "has_more": false,
        "order": "ascending"
    }
}
REPORTS#

Report endpoints

GEThttps://api-docs.arvetrak.com/api/customer/v1/reports

Every report card on the web Reports screen is listed below individually. Animation endpoints return their underlying data, not rendered video. Each endpoint uses a granted vehicle and paginated rows.

Required scope: locations:read

Response · JSON

{
    "data": [
        {
            "type": "ignition",
            "label": "Kontak Açma/Kapatma",
            "endpoint": "/vehicles/{imei}/reports/ignition"
        },
        {
            "type": "alarms",
            "label": "Alarm Raporu",
            "endpoint": "/vehicles/{imei}/reports/alarms"
        },
        {
            "type": "detail",
            "label": "Detay Raporu",
            "endpoint": "/vehicles/{imei}/reports/detail"
        },
        {
            "type": "trips",
            "label": "Seyahat Raporu",
            "endpoint": "/vehicles/{imei}/reports/trips"
        },
        {
            "type": "canbus",
            "label": "CAN Bus / OBD-II",
            "endpoint": "/vehicles/{imei}/reports/canbus"
        },
        {
            "type": "current-location",
            "label": "Anlık Konum",
            "endpoint": "/vehicles/{imei}/reports/current-location"
        },
        {
            "type": "vehicles",
            "label": "Araç Listesi",
            "endpoint": "/vehicles/{imei}/reports/vehicles"
        },
        {
            "type": "vehicle-score",
            "label": "Araç Skoru",
            "endpoint": "/vehicles/{imei}/reports/vehicle-score"
        },
        {
            "type": "vehicle-summary",
            "label": "Araç Performans Özeti",
            "endpoint": "/vehicles/{imei}/reports/vehicle-summary"
        },
        {
            "type": "blockage",
            "label": "Motor Blokajı",
            "endpoint": "/vehicles/{imei}/reports/blockage"
        },
        {
            "type": "trailer",
            "label": "Dorse",
            "endpoint": "/vehicles/{imei}/reports/trailer"
        },
        {
            "type": "stops",
            "label": "Durak / Rölanti",
            "endpoint": "/vehicles/{imei}/reports/stops"
        },
        {
            "type": "geofence",
            "label": "Bölge Giriş / Çıkış",
            "endpoint": "/vehicles/{imei}/reports/geofence"
        },
        {
            "type": "day-end",
            "label": "Gün Sonu",
            "endpoint": "/vehicles/{imei}/reports/day-end"
        },
        {
            "type": "daily-km",
            "label": "Günlük KM",
            "endpoint": "/vehicles/{imei}/reports/daily-km"
        },
        {
            "type": "speed",
            "label": "Hız",
            "endpoint": "/vehicles/{imei}/reports/speed"
        },
        {
            "type": "km-limit",
            "label": "Kilometre Aşımı",
            "endpoint": "/vehicles/{imei}/reports/km-limit"
        },
        {
            "type": "distance",
            "label": "Mesafe",
            "endpoint": "/vehicles/{imei}/reports/distance"
        },
        {
            "type": "off-hours",
            "label": "Mesai Dışı Kullanım",
            "endpoint": "/vehicles/{imei}/reports/off-hours"
        },
        {
            "type": "trip-summary",
            "label": "Seyahat Özeti",
            "endpoint": "/vehicles/{imei}/reports/trip-summary"
        },
        {
            "type": "drivers",
            "label": "Sürücü Performansı",
            "endpoint": "/vehicles/{imei}/reports/drivers"
        },
        {
            "type": "driver-list",
            "label": "Sürücü Listesi",
            "endpoint": "/vehicles/{imei}/reports/driver-list"
        },
        {
            "type": "driving-dynamics",
            "label": "Sürüş Dinamikleri",
            "endpoint": "/vehicles/{imei}/reports/driving-dynamics"
        },
        {
            "type": "gsensor-cockpit",
            "label": "G-Sensör Araç İçi Animasyon Verisi",
            "endpoint": "/vehicles/{imei}/reports/gsensor-cockpit"
        },
        {
            "type": "gsensor-motion",
            "label": "G-Sensör Hareket Animasyon Verisi",
            "endpoint": "/vehicles/{imei}/reports/gsensor-motion"
        },
        {
            "type": "total-km",
            "label": "Toplam KM",
            "endpoint": "/vehicles/{imei}/reports/total-km"
        },
        {
            "type": "fuel",
            "label": "Yakıt",
            "endpoint": "/vehicles/{imei}/reports/fuel"
        },
        {
            "type": "fuel-prices",
            "label": "Yakıt Fiyatları",
            "endpoint": "/vehicles/{imei}/reports/fuel-prices"
        },
        {
            "type": "temperature-overview",
            "label": "Soğuk Zincir Uyum Özeti",
            "endpoint": "/vehicles/{imei}/reports/temperature-overview"
        },
        {
            "type": "temperature-violations",
            "label": "Sıcaklık İhlalleri",
            "endpoint": "/vehicles/{imei}/reports/temperature-violations"
        },
        {
            "type": "temperature-proof",
            "label": "Sefer Bazlı Isı Kanıtı",
            "endpoint": "/vehicles/{imei}/reports/temperature-proof"
        },
        {
            "type": "temperature-readings",
            "label": "Ölçüm Günlüğü",
            "endpoint": "/vehicles/{imei}/reports/temperature-readings"
        },
        {
            "type": "auto-service-areas",
            "label": "Oto Sanayi Bölgeleri",
            "endpoint": "/vehicles/{imei}/reports/auto-service-areas"
        },
        {
            "type": "fleet-executive",
            "label": "Filo Yönetici Özeti",
            "endpoint": "/vehicles/{imei}/reports/fleet-executive"
        },
        {
            "type": "fleet-utilization",
            "label": "Filo Kullanım ve Atıl Araç",
            "endpoint": "/vehicles/{imei}/reports/fleet-utilization"
        },
        {
            "type": "fleet-tco",
            "label": "Filo Maliyet ve TCO",
            "endpoint": "/vehicles/{imei}/reports/fleet-tco"
        },
        {
            "type": "fleet-maintenance",
            "label": "Filo Bakım ve Arıza",
            "endpoint": "/vehicles/{imei}/reports/fleet-maintenance"
        },
        {
            "type": "fleet-availability",
            "label": "Filo Kullanılabilirlik",
            "endpoint": "/vehicles/{imei}/reports/fleet-availability"
        },
        {
            "type": "fleet-groups",
            "label": "Şube ve Filo Grubu",
            "endpoint": "/vehicles/{imei}/reports/fleet-groups"
        },
        {
            "type": "fleet-contracts",
            "label": "Kontrat ve KM Tahmini",
            "endpoint": "/vehicles/{imei}/reports/fleet-contracts"
        },
        {
            "type": "fleet-renewal",
            "label": "Filo Yenileme Kararı",
            "endpoint": "/vehicles/{imei}/reports/fleet-renewal"
        }
    ]
}
REPORTS#

Ignition events

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/ignition

Returns observed ignition state changes for one permitted vehicle within licensed periods. The first sample in each licensed interval is a baseline, not an event. Use page/per_page for the complete result.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted 14–17 digit IMEI
from / toISO 8601 · requiredUTC interval; maximum max_history_days
page / per_pageintegerPage number and page size, up to the client limit
orderasc | descEvent time order; default desc

Response · JSON

{
    "data": [
        {
            "recorded_at": "2026-09-25T07:13:00Z",
            "event": "opened",
            "ignition": true,
            "latitude": 41.01,
            "longitude": 28.97,
            "speed_kmh": 0
        }
    ],
    "meta": {
        "report": "ignition",
        "current_page": 1,
        "per_page": 50,
        "total": 1,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Alarm events

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/alarms

Lists alarm records for one permitted vehicle, within its licensed periods and company ownership snapshot.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted 14–17 digit IMEI
from / toISO 8601 · requiredUTC interval; maximum max_history_days
page / per_pageintegerPage number and size, subject to the client limit
categorystringOptional exact alarm category
is_activebooleanOptional active/inactive state
orderasc | descEvent time order; default desc

Response · JSON

{
    "data": [
        {
            "recorded_at": "2026-09-25T07:13:00Z",
            "code": "T_MOVEMENT",
            "description": "Araç hareket ettirildi",
            "category": "alarm",
            "is_active": true,
            "latitude": 41.01,
            "longitude": 28.97,
            "speed_kmh": 0
        }
    ],
    "meta": {
        "report": "alarms",
        "current_page": 1,
        "per_page": 50,
        "total": 1,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Detailed packet report

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/detail

Paginated device packets from licensed periods, with position, speed and ignition. Missing telemetry is null.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted IMEI
from / toISO 8601 · requiredUTC interval
page / per_pageintegerPagination, default 1/100
orderasc | descPacket time order

Response · JSON

{
    "data": [
        {
            "recorded_at": "2026-09-25T07:13:00Z",
            "latitude": 41.01,
            "longitude": 28.97,
            "speed_kmh": 31.2,
            "ignition": true
        }
    ],
    "meta": {
        "report": "detail",
        "current_page": 1,
        "per_page": 50,
        "total": 1,
        "has_more": false
    }
}
REPORTS#

Trips

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/trips

Completed trips wholly within licensed intervals; trips crossing a license boundary are intentionally omitted.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted IMEI
from / toISO 8601 · requiredUTC interval
page / per_pageintegerPagination, default 1/100
orderasc | descTrip start order

Response · JSON

{
    "data": [
        {
            "started_at": "2026-09-25T07:13:00Z",
            "ended_at": "2026-09-25T08:00:00Z",
            "distance_km": 12.4,
            "duration_sec": 2820,
            "idle_sec": 120,
            "max_speed_kmh": 72
        }
    ],
    "meta": {
        "report": "trips",
        "current_page": 1,
        "per_page": 50,
        "total": 1,
        "has_more": false
    }
}
REPORTS#

CAN Bus / OBD-II packets

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/canbus

Only packets containing observed CAN/OBD data are returned. This endpoint does not invent unreported fields.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted IMEI
from / toISO 8601 · requiredUTC interval
page / per_pageintegerPagination, default 1/100
orderasc | descPacket time order

Response · JSON

{
    "data": [
        {
            "recorded_at": "2026-09-25T07:13:00Z",
            "speed_kmh": 30,
            "telemetry": {
                "io_36": 860
            }
        }
    ],
    "meta": {
        "report": "canbus",
        "current_page": 1,
        "per_page": 50,
        "total": 1,
        "has_more": false
    }
}
REPORTS#

Current location

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/current-location

Latest position, speed and ignition snapshot; an active license is required.

  • This is the latest known device snapshot, not a guaranteed current GPS fix. Check the packet timestamp before treating the vehicle as online. Historical snapshots are not returned.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "current-location",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Vehicle list

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/vehicles

Vehicle, device and latest signal details; an active license is required.

  • This is the latest known device snapshot, not a guaranteed current GPS fix. Check the packet timestamp before treating the vehicle as online. Historical snapshots are not returned.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "vehicles",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Vehicle score

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/vehicle-score

Safety, efficiency and utilization score for this vehicle.

  • Scores and comparisons are calculated from recorded activity. Missing source data can leave a score empty; do not interpret a missing score as zero.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "vehicle-score",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Vehicle performance summary

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/vehicle-summary

Distance, driving, idle time and alarm metrics.

  • Scores and comparisons are calculated from recorded activity. Missing source data can leave a score empty; do not interpret a missing score as zero.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "vehicle-summary",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Engine immobilizer

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/blockage

Immobilizer feature and current vehicle state; an active license is required.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • Read-only report: requesting it never sends an immobilizer command.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "blockage",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Trailer

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/trailer

Trailer linkage and tracking records where the module is enabled.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • If the optional trailer module is not configured, an empty result is expected.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "trailer",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Stops and idling

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/stops

Stop counts and idling duration from completed trips.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "stops",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Geofence entry and exit

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/geofence

Entry and exit alarm events for defined zones.

  • Only recorded entry/exit alarm events are listed. This endpoint does not reconstruct a dwell interval when a device did not report an event.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
geofence_idintegerZone identifier

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "geofence",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Day-end report

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/day-end

Daily first/last ignition, distance and trip duration.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "day-end",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Daily mileage

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/daily-km

Odometer readings and distance by day.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "daily-km",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Speed report

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/speed

Average/maximum trip speed and overspeed counts.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "speed",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Mileage threshold

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/km-limit

Days exceeding the requested mileage threshold.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • km_limit is the requested daily threshold, not the licensed total distance.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
km_limitnumberDaily mileage threshold in km

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "km-limit",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Distance report

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/distance

Daily distance derived from trips and odometer readings.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "distance",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Out-of-hours usage

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/off-hours

Trips and related alarms outside working hours.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • Classification follows the working-hours settings configured for the web report.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "off-hours",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Trip summary

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/trip-summary

Daily trip count, travel time and distance.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "trip-summary",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Driver performance

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/drivers

Driver safety and efficiency scores.

  • Driver performance depends on recorded driver assignments. An unassigned journey cannot be attributed to a person.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
driver_codestringDriver identifier
sortstringDriver score sort key

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "drivers",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Driver list

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/driver-list

Driver assignments related to the vehicle.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "driver-list",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Driving dynamics

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/driving-dynamics

Harsh braking, acceleration, cornering and road events.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "driving-dynamics",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

G-sensor cockpit animation data

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/gsensor-cockpit

Device axis samples used for cockpit animation; returns data rather than a rendered video.

  • Returns source events or sampled axis measurements for the animation, not an image or video. Axis points may be downsampled for performance.
  • data contains axis samples for the cockpit playback.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "gsensor-cockpit",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

G-sensor motion animation data

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/gsensor-motion

Bump, road-surface and driving events used for the 3D animation.

  • Returns source events or sampled axis measurements for the animation, not an image or video. Axis points may be downsampled for performance.
  • data contains timestamped movement events for the 3D playback.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "gsensor-motion",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Total mileage

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/total-km

Odometer readings at the beginning and end of the period.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "total-km",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fuel report

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fuel

Estimated fuel from trip distance and consumption profile; the estimation source is shown.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • Consumption may be estimated from distance and a configured profile; it is not necessarily measured CAN fuel flow.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
fuel_citystringCity for fuel-price comparison
fuel_dateY-m-dFuel-price date
general_consumption_per_100kmnumberFallback consumption estimate (L/100 km)

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fuel",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fuel prices

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fuel-prices

Comparison of fuel prices for the selected city and date.

  • Rows follow the web report table: cells contains display values, export contains export-ready values, and summary contains period totals. Empty data means there were no matching records, not an API error.
  • Prices are a comparison dataset selected by fuel_city and fuel_date, not a vehicle purchase or measured consumption.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
fuel_citystringCity for fuel-price comparison
fuel_dateY-m-dFuel-price date

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fuel-prices",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Cold-chain compliance

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/temperature-overview

Temperature compliance and risk from observed sensor readings.

  • Only sensor readings actually received from the device are used. No reading is fabricated for periods with missing sensor coverage.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
beacon_keystringSensor identifier

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "temperature-overview",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Temperature violations

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/temperature-violations

Grouped events for sensor readings outside thresholds.

  • Only sensor readings actually received from the device are used. No reading is fabricated for periods with missing sensor coverage.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
beacon_keystringSensor identifier

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "temperature-violations",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Trip temperature evidence

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/temperature-proof

Measured temperature range and compliance during trips.

  • Only sensor readings actually received from the device are used. No reading is fabricated for periods with missing sensor coverage.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
beacon_keystringSensor identifier

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "temperature-proof",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Sensor readings

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/temperature-readings

Raw temperature and humidity measurements.

  • Only sensor readings actually received from the device are used. No reading is fabricated for periods with missing sensor coverage.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
beacon_keystringSensor identifier

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "temperature-readings",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Automotive service areas

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/auto-service-areas

Active map catalog of automotive service areas; not vehicle telemetry.

  • This is a shared map catalog, not vehicle telemetry. A currently licensed, granted IMEI is still required for the customer API request.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
citystringExact city name
sourceenumcatalog, community or mine
searchstringSearch within fleet rows

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "auto-service-areas",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet executive summary

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-executive

Vehicle, mileage, cost and fleet health overview. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-executive",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet utilization

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-utilization

Used/idle days and driving-to-idling ratio. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-utilization",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet cost and TCO

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-tco

Total ownership cost per vehicle and kilometre. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-tco",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet maintenance and faults

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-maintenance

Maintenance risk, service time and faults. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-maintenance",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet availability

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-availability

Ready, in-service, faulty and idle vehicles. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-availability",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Branches and fleet groups

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-groups

Vehicle, mileage and cost comparison by group. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).
groupstringFleet group name
searchstringSearch within fleet rows

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-groups",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Contracts and mileage forecast

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-contracts

Contract expiry, mileage limits and projected overrun. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-contracts",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REPORTS#

Fleet renewal decisions

GEThttps://api-docs.arvetrak.com/api/customer/v1/vehicles/{imei}/reports/fleet-renewal

Renewal priority based on age, mileage, maintenance and health. The previous comparison period and current snapshot must also be licensed.

  • The fleet report is restricted to the one granted IMEI in the URL, including comparison totals. The preceding comparison period and current snapshot must also be licensed.

Required scope: locations:read

Parameters

NameTypeDescription
imeipath · stringGranted vehicle IMEI (14–17 digits)
start_date / end_dateY-m-d · requiredInclusive local calendar days; entire period must be licensed and within max_history_days.
page / per_pageintegerPage starts at 1; page size is limited by max_page_size (up to 50).

Response · JSON

{
    "data": [],
    "summary": [],
    "meta": {
        "report": "fleet-renewal",
        "vehicle": {
            "imei": "353742378000001",
            "plate": "34 ABC 123"
        },
        "current_page": 1,
        "per_page": 20,
        "total": 0,
        "last_page": 1,
        "has_more": false
    }
}
REAL-TIME#

Create WebSocket ticket

POSThttps://api-docs.arvetrak.com/api/customer/v1/ws/ticket

Request a short-lived connection ticket from your backend. Do not expose the REST secret to the browser.

Required scope: realtime:read

Parameters

NameTypeDescription
imeisJSON arrayGranted IMEIs to subscribe to

Response · JSON

{
    "data": {
        "url": "wss://gw.arvetrak.com/ws",
        "token": "SHORT_LIVED_TOKEN",
        "expires_in": 300,
        "vehicle_count": 1,
        "ping_interval": 30
    }
}
OPERATIONS#

Data dictionary

Timestamps use ISO 8601 in UTC. Distance values are in kilometres; speed in km/h; voltage in volts. Null means the device did not provide a trusted value.

latitude / longitudeWGS84 position; null if invalid or license expired
recorded_at / received_atDevice event time / server reception time
onlineTrue only if licensed and recently seen
ignition / movementBoolean when reported; otherwise null
device_battery_v / external_voltage_vDevice battery / external power in volts
OPERATIONS#

Rate limits

The client has independent standard, history and WebSocket budgets. Inspect /status for current values. HTTP 429 means back off; never loop aggressively.

OPERATIONS#

Errors

All errors are JSON with a stable error code. Never infer access from the wording of an error.

401 · invalid_credentialsMissing, wrong or expired key/secret
403 · ip_not_allowedSource IP is not allowlisted
403 · insufficient_scopeCredential lacks the endpoint scope
403 · outside_license_periodRequested history is outside the granted licensed period
404 · vehicle_not_foundVehicle is unknown or not granted
422 · validation_errorInvalid query or body parameters
429Client rate limit reached

Response · JSON

{
    "message": "Request parameters are invalid.",
    "error": "validation_error",
    "errors": {
        "from": [
            "The from field is required."
        ]
    }
}
OPERATIONS#

Security

Use HTTPS/WSS, keep credentials only in server-side secrets, rotate leaked keys, restrict IP ranges and avoid logging location or secrets. The mobile API has separate authentication and is not governed by these customer API limits.