Retrieve engine fault and diagnostic trouble codes for a fleet using the MyGeotab FaultData API
domain: developers.geotab.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate against MyGeotab and obtain a session for the target database
Call the Get method with typeName: 'FaultData', optionally filtering by deviceSearch and fromDate/toDate to scope results
Parse each FaultData record for its DiagnosticId, FailureMode, Controller, and Count fields to identify the specific DTC and severity
Resolve DiagnosticId/Controller references against the Diagnostic and Controller lookup objects to get human-readable descriptions rather than raw codes
For ongoing monitoring, switch to GetFeed with typeName: 'FaultData' and persist the returned toVersion so subsequent polls only return new/changed fault records
Known gotchas
Raw FaultData records reference Diagnostic and Controller IDs rather than embedding readable text, so a naive integration that skips the lookup join will show meaningless numeric codes to end users
Location on a FaultData record is not populated live — it's backfilled by interpolating nearby LogRecords, so very recent fault events may briefly show no location
Fault code semantics differ by protocol (OBD-II vs J1939), so the same DiagnosticId space can represent very different underlying faults depending on the vehicle's engine bus type
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?