Garmin Manually Entered Sleep Data

The Garmin Connect app allows a user to manually enter some very basic sleep data. A user can enter their bedtime and wake time and the Garmin Connect app then shows the sleep duration based on that.

This does create a sleep record in the Garmin Connect API that is then available in the Validic Inform API.

The catch here is that all of the main and expected sleep metrics will be show a “0” value. Garmin does not pass the sleep duration that is shown in the Garmin Connect app through the API. You will see the correct start_time and end_time values that will line up with what the user entered as bedtime and wake time, but those times do not get calculated into any sort of sleep duration metric in the API.

Here is an example:

"checksum": "removed", "created_at": "2024-10-28T14:50:48.007Z", "deleted_at": null, "end_time": "2024-10-23T10:00:00Z", "id": "also removed", "log_id": "yep, removed this as well", "metrics": [ { "origin": "manual", "type": "awake_duration", "unit": "s", "value": 0 }, { "origin": "manual", "type": "deep_sleep", "unit": "s", "value": 0 }, { "origin": "manual", "type": "sleep_duration", "unit": "s", "value": 0 }, { "origin": "manual", "type": "rem_sleep", "unit": "s", "value": 0 }, { "origin": "manual", "type": "light_sleep", "unit": "s", "value": 0 } ], "offset_origin": "source", "source": { "device": null, "type": "garmin" }, "start_time": "2024-10-23T04:00:00Z", "tags": [], "type": "sleep",