Why do I get multiple Garmin sleep sessions for one night, or a sleep payload that looks incomplete?
Two separate things commonly look like a problem with Garmin sleep, but both are expected.
Two separate things commonly look like a problem with Garmin sleep, but both are expected.
1. Multiple sleep sessions from the same night
Garmin can send more than one sleep session for a single night (this is device-dependent, and includes naps). Each session is its own payload with its own metadata.summary_id, and naps are flagged with metadata.is_nap. Treat each summary_id as a distinct sleep session rather than assuming one night equals one payload, and store them independently. Field locations are in the data models reference.
2. A sleep payload that arrives looking incomplete
A sleep session can be delivered more than once with the same summary_id, where a later push fills in fields (durations, efficiency, hypnogram, score) that the first push left empty. Per the data models reference, when a session comes in again with the same summary_id you should update the previous entry with the newer data.
A night can look stuck on null if:
Your dedup key includes
end_time(it can shift between pushes), orYou treat the first webhook for a
summary_idas final and drop the later one.
Key on summary_id alone and let the later payload overwrite the earlier one. If a session still shows missing fields after the later push, contact support with the summary_id.
Last updated
Was this helpful?