Pagination & time
Predictable traversal, explicit time windows, and readable units.
Contract referenceData endpoints are not available on this website. Examples are illustrative. No live requests are sent from this portal.
Follow the cursor, not the page number
Collection responses contain data and next_cursor. A null cursor means the traversal is complete. Pass a returned cursor unchanged with the original filters. Cursors are opaque, bound to the integration and query, and are not portable across carriers.
- limit accepts 1–100 records; the contract default is 25.
- An expired or incompatible cursor returns 400. Restart the query and deduplicate by resource identifier.
- Record updates can appear across sync windows; track the resource revision or updated_at where provided.
{
"data": [],
"next_cursor": null
}Use explicit UTC windows
Event collections require from and to in RFC 3339 UTC format. The interval includes from and excludes to. The maximum contract interval is 31 days, and from must be earlier than to.
Events are ordered by recorded_at, then event_id. Daily logs use their local log_date and time_zone; those boundaries must not be inferred from the caller’s device timezone.
from=2026-10-15T00:00:00Z
to=2026-10-16T00:00:00ZUnits are part of the field name
Durations use integer seconds. Distance observations use meters, and accumulated engine time uses seconds. Timestamps include their timezone. A null reading means unavailable; it does not mean zero.
Daily records can span a daylight-saving transition. Use period_seconds for the actual covered duration instead of assuming every local day is exactly 86,400 seconds.
Separate observation from calculation
Engine events retain a source and quality indicator. Missing or stale engine data must not be synthesized from GPS, copied forward as current, or represented as a verified observation. HOS summaries carry their calculation time and rule-set identifier; a displayed clock is not permission to drive.