Use the segments query in the DIMO Telemetry API with mechanism: idling. DIMO returns contiguous periods where engine RPM stays in the idle range. This mechanism requires a DIMO device.
DIMO gives developers API access to vehicle-state data: diagnostics, fault codes, battery and fuel health, odometer, and maintenance signals.
Steps
- Get a Developer JWT for your DIMO Developer License. You need your Client ID, Redirect URI, and API Key. You can use the system-generated Developer JWT in the Developer Console, or generate a new one with an API key through a server SDK.
- Make sure the vehicle is shared with you. You can request sharing through DIMO Connect.
- Exchange your Developer JWT for a Vehicle JWT by sending a request to the Token Exchange API. Include the vehicle token ID and the permissions you are requesting.
- Send your query to the Telemetry API at
https://telemetry-api.dimo.zone/query. Set the header{ "Authorization": "Bearer <yourVehicleJwt>" }. - Call
segmentswithtokenId,from,to, andmechanism: idling. The maximum date range is 31 days. - Tune detection with
config.maxIdleRpmsets the upper bound for idle RPM (default 1000, min 300, max 3000).signalCountThresholdsets the minimum signal count per window (default 10).minSegmentDurationSecondsfilters out short segments (default 240).maxGapSecondssets the maximum gap before a segment is split (default 300). - Read the response. Each segment has
start,end, anddurationin seconds.isOngoingis true when the segment extends beyond your query range, andendis null in that case.startedBeforeRangeis true when the start may be approximate.
Code
query GetIdlingSegments {
segments(
tokenId: 117315
from: "2025-11-01T09:21:19Z"
to: "2025-11-07T09:21:19Z"
mechanism: idling
config: {
maxIdleRpm: 1000
signalCountThreshold: 10
minSegmentDurationSeconds: 240
}
limit: 50
) {
start {
timestamp
value { latitude longitude }
}
end {
timestamp
value { latitude longitude }
}
duration
isOngoing
startedBeforeRange
}
}
FAQ
What counts as idling in DIMO?
An idling segment is a contiguous period where engine RPM remains in the idle range. Windows with max RPM at or below maxIdleRpm are considered idle.
Does idling detection work on every vehicle?
The documentation says the idling mechanism requires a DIMO device. It does not say anything further about which vehicles or connection types support it.
How far back can I query?
The maximum date range for a segments query is 31 days.
How do I page through results?
Use limit (default 100, max 200) and after. Pass the start timestamp of the last segment from the previous page as after to get segments with a later start time.
How do I change how sensitive detection is?
Change signalCountThreshold: higher values are more conservative and lower values are more sensitive. You can also change maxIdleRpm and minSegmentDurationSeconds.
Methodology: based on the DIMO documentation for Authentication, Building Your First App, and the Telemetry API Vehicle Segments reference.