Skip to main content
GET
Trip replay (V2)

Overview

Returns a paginated list of completed trips for the vehicle between from and to (both UTC), ordered oldest first. A trip in progress appears only once the ignition turns off. Each trip includes route points, addresses, and a Google Polyline encoded path.
This endpoint is equivalent to V1 Trip Replay (UTC) and Trip replay (user time). V2 is paginated.
Rate limit: 4 req/s · 20/min · 600/hr · 14,400/day

Endpoint

GET /v2/api/replay/{id}

Path parameters

integer
required
Public vehicle ID (deviceId).

Query parameters

string (datetime)
Range start (UTC, ISO 8601). Optional — see Which trips are returned.
string (datetime)
Range end (UTC, ISO 8601), inclusive. Optional — see Which trips are returned.
integer
default:"1"
Page number (1-based).
integer
default:"50"
Records per page (max 500).

Which trips are returned

  • A trip is included when it overlaps the window: it ends at or after from and starts at or before to. to is inclusive here, unlike Position history.
  • Only ignition-on trips whose whole distance is at least 300 m are returned; shorter trips and ignition-off periods are left out.
  • Points are clipped to the window. For a trip that crosses the window’s edge, distance, duration, startTimeUser/endTimeUser and startAddress/endAddress describe only the part inside the window, so distance can be under 0.3 km, or null.
  • A trip with no points inside the window is skipped but still counted in totalResults, so a page can hold fewer items than pageSize.
  • from and to are read as UTC. Omit from to get every trip up to to. Omitting only to returns 422, omitting both returns an empty list, and from after to returns 422.

Response

200 OK — PagedListResult<TripDto>
distance is in km, not metres. It is calculated as lastPoint.odometer − startPoint.odometer where odometer is stored in km. A value of 11.34 means 11.34 km.duration is a .NET TimeSpan serialised without a custom converter — "03:05:50", "00:20:22.5000000" when there is a fraction, or "2.04:04:21.0100000" for multi-day trips. It is not ISO 8601.
PointDto fields (items in points). All field names are camelCase — no [JsonPropertyName] overrides.

Error responses

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from POST /v2/api/authentication/token/api-key.

Lifetime: ~24 hours (86,399 seconds). Cache the token and reuse it. Re-authenticate 5 minutes before expiry.

Scoping: API key tokens are scoped by the key's company and its action set; see Token scoping.

No refresh endpoint — re-authenticate with your API key when the token expires.

Path Parameters

id
integer
required

Query Parameters

from
string<date-time>

Range start (UTC). Optional; omit it to get every trip up to to.

to
string<date-time>

Range end (UTC), inclusive. Omitting only to returns 422; omitting both returns an empty list.

page
integer
default:1
pageSize
integer
default:50
Required range: x <= 500

Response

Successful response