[GET] List Sessions
특정 사용자의 수면 세션 목록을 요청합니다.
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 | 발급받은 user id | |
timezone | String | X | UTC | 분석 결과의 시간대를 해당 timezone으로 변경해서 반환 |
Query parameter
- date_gte, date_lte, order_by 등은 session_start_time 기준
Field | Type | Required | Default | Description |
---|---|---|---|---|
date_gte | String ( | X | Header의 timezone 기준으로 date_gte 보다 같거나 큰 세션들 반환 | |
date_lte | String ( | X | Header의 timezone 기준으로 date_lte 보다 같거나 작은 세션들 반환 | |
order_by | String ( | X |
|
|
offset | Int | X | 0 | 스킵할 세션 개수 |
limit | Int ( | X | 20 | 받고 싶은 세션 개수 |
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
- 세션 목록 조회 성공
{
"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 | 타임존 |
sleep_session_list | List of Sleep Session Objects | 세션 데이터 목록 |
Sleep Session Object
if state == OPEN
: session_end_time은 null
Field | Type | Description |
---|---|---|
session_id | String | session id |
state | String ( | 세션의 상태 |
session_start_time | String ( | 세션 시작 시각 |
session_end_time | String ( | 세션 종료 시각 |
created_timezone | String | 세션이 생성된 타임존 (Timezone List) |
unexpected_end_time | String( | 비정상 세션 종료 시각. 앱 크래시 등으로 세션이 정상적으로 진행 및 종료되지 못했을 경우, 나중에 클라이언트가 unexpected 파라미터를 1로 하여 세션을 종료시킬 경우 해당 시간이 기록됨. 이 경우 end_time은 마지막까지 업로드된 오디오 파일의 순서 번호를 기준으로 계산됨. 따라서 null이 아닐 경우 비정상 세션. |
last_received_seq_num | Int? | 마지막으로 업로드 받은 오디오 파일의 순서 번호 |
time_in_bed | Int ( | 침대에 있었던 시간 |
400 Bad Request
timezone
이 잘못 들어온 경우
{
"detail": "The invalid timezone is provided"
}
Updated 26 days ago