[GET] List Sessions
You can request a list of sleep sessions for a specific user.
Request
URL
GET
https://api.asleep.ai/data/v1/sessions
Header
Field | Type | Required | Default | Description |
---|---|---|---|---|
x-api-key | String | O | - | API Key |
x-user-id | String | O | - | Issued user id |
timezone | String | X | UTC | Return the analysis results in the timezone specified by the header. For example, UTC, Asia/Seoul |
Query parameter
- "date_gte, date_lte, order_by" are based on the session_start_time.
Field | Type | Required | Default | Description |
---|---|---|---|---|
date_gte | String ( | X | Return sessions that are greater than or equal to date_gte based on the timezone in the header | |
date_lte | String ( | X | Return sessions that are less than or equal to date_lte based on the timezone in the header | |
order_by | String ( | X |
|
|
offset | Int | X | 0 | Number of sessions to skip |
limit | Int ( | X | 20 | Number of sessions to receive |
Example
curl "https://api.asleep.ai/data/v1/sessions?date_gte=2022-01-01&offset=10&limit=10&order_by=ASC" -XGET \
-H "x-api-key: <YOUR_API_KEY>" \
-H "x-user-id: <USER_ID>"
Response
200 OK
- Successful session list retrieval
{
"detail": "OK",
"result": {
"timezone": "UTC",
"sleep_session_list": [
{
"session_id": "20250114182518_eq85p",
"state": "COMPLETE",
"session_start_time": "2025-01-14T18:25:18+00:00",
"session_end_time": "2025-01-14T22:55:55+00:00",
"created_timezone": "Asia/Seoul",
"unexpected_end_time": null,
"last_received_seq_num": 540,
"time_in_bed": 16237
},
{
"session_id": "20250113172906_1zch9",
"state": "COMPLETE",
"session_start_time": "2025-01-13T17:29:06+00:00",
"session_end_time": "2025-01-13T23:00:53+00:00",
"created_timezone": "Asia/Seoul",
"unexpected_end_time": null,
"last_received_seq_num": 661,
"time_in_bed": 19907
},
{
"session_id": "20250112180001_8sqei",
"state": "COMPLETE",
"session_start_time": "2025-01-12T18:00:01+00:00",
"session_end_time": "2025-01-12T23:03:11+00:00",
"created_timezone": "Asia/Seoul",
"unexpected_end_time": null,
"last_received_seq_num": 605,
"time_in_bed": 18190
},
{
"session_id": "20250111180000_9sk5t",
"state": "COMPLETE",
"session_start_time": "2025-01-11T18:00:00+00:00",
"session_end_time": "2025-01-11T23:05:08+00:00",
"created_timezone": "Asia/Seoul",
"unexpected_end_time": null,
"last_received_seq_num": 609,
"time_in_bed": 18308
},
{
"session_id": "20250110180001_csktb",
"state": "COMPLETE",
"session_start_time": "2025-01-10T18:00:01+00:00",
"session_end_time": "2025-01-10T23:05:08+00:00",
"created_timezone": "Asia/Seoul",
"unexpected_end_time": null,
"last_received_seq_num": 609,
"time_in_bed": 18307
}
]
}
}
Body (result field)
Field | Type | Description |
---|---|---|
timezone | String | Timezone |
sleep_session_list | List of Sleep Session Objects | List of session data |
Sleep Session Object
if state == OPEN
: session_end_time is null
Field | Type | Description |
---|---|---|
session_id | String | Session ID |
state | String ( | Session state |
session_start_time | String ( | Session start time |
session_end_time | String ( | Session end time |
created_timezone | String | Timezone of session creation (Timezone List) |
unexpected_end_time | String( | If a session fails to proceed and terminate properly due to app crashes or similar issues, and the client later ends the session with an unexpected parameter set to 1, the time at which this happens is recorded. In this case, the "end_time" is calculated based on the sequence number of the last uploaded audio file. Therefore, if "end_time" is not null, it indicates an abnormal session. |
last_received_seq_num | Int? | Sequence number of the last uploaded audio file |
time_in_bed | Int ( | Time spent in bed |
400 Bad Request
- Invalid
timezone
is provided
{
"detail": "The invalid timezone is provided"
}
Updated 17 days ago