Get User's Average Stats
사용자의 특정 기간 내 수면 메트릭들의 평균을 확인할 수 있습니다. 현재 100일까지 조회 가능합니다.
1. Request
1.1 URL
GET
https://api.asleep.ai/data/v1/users/{user_id}/average-stats
1.2 Header
Field | Type | Required | Default | Description |
---|---|---|---|---|
x-api-key | String | O | - | API Key |
timezone | String | X | UTC | 분석 결과의 시간대를 해당 timezone으로 변경해서 반환 예. UTC, Asia/Seoul |
1.3 Path parameter
Field | Type | Required | Description |
---|---|---|---|
user_id | String | O | 데이터를 요청하고자 하는 사용자의 id |
1.4 Query string
Field | Type | Required | Default | Description |
---|---|---|---|---|
start_date | String | O | - | 평균을 확인하고자 하는 기간의 시작 시간 |
end_date | String | O | - | 평균을 확인하고자 하는 기간의 종료 시간 |
Example
curl "https://api.asleep.ai/data/v1/users/{user_id}/average-stats?start_date=2023-10-20&end_date=2023-10-30" -XGET \
-H "x-api-key: <YOUR_API_KEY>"
2. Response
2.1 200 OK
- 조회 성공
2.1.1 Body (result field)
Field | Type | Description |
---|---|---|
period | Period Object | 타임존 (Timezone List) |
peculiarities | List | 수면 세션들의 평균을 구할 때 특이사항.NO_BREATHING_STABILITY : 고객의 계약 조건상 호흡 안정 분석을 지원하지 않는 경우 |
average_stats | Average Stats Object? | slept_sessions의 수면 메트릭들의 평균들을 가지는 객체 |
never_slept_sessions | List of Never Slept Session Object | 세션 측정시간 동안 전혀 잠을 자지 않았다고 판단 되는 세션들의 목록 |
slept_sessions | List of Slept Session Object | 세션 측정시간 동안 잠을 잤다고 판단 되는 세션들의 목록 |
2.1.2 Period Object
Field | Type | Description |
---|---|---|
timezone | String | 요청한 타임존 예. UTC, Asia/Seoul |
start_date | String(YYYY-MM-DD ) | 요청한 시작 시간 |
end_date | String (YYYY-MM-DD ) | 요청한 종료 시간 |
2.1.3 Average Stats Object
Field | Type | Description |
---|---|---|
start_time | String(hh:mm:ss ) | 세션 시작 시각 |
end_time | String(hh:mm:ss ) | 세션 종료 시각 |
sleep_time | String (hh:mm:ss ) | 잠들때까지 걸린 시각 |
wake_time | String (hh:mm:ss ) | 잠에서 깨어난 시각 |
sleep_latency | Int | 잠들때까지 걸린 시각 |
wakeup_latency | Int | 잠에서 깨어난 후 수면 측정을 종료하기까지 걸린 시간 |
time_in_bed | Int | 수면 측정 시작 시각부터 수면 측정 종료 시각 까지의 시간 |
time_in_sleep_period | Int | 수면 측정 시간 중 수면 측정 시작으로부터 잠들기 까지 걸린 시간과 잠에서 깨어난 후로부터 수면 측정을 종료하기까지 걸린 시간을 제외한 시간 (time_in_bed - sleep_latency - wakeup_latency) |
time_in_sleep | Int | 수면 측정 시간 중 실제로 수면 중이었던 시간 이 시간이 deep, light, rem의 3단계로 구분됨 |
time_in_wake | Int | 수면 도중에 깬 시간 |
time_in_light | Int? | 수면 단계가 light 로 진행된 총 시간 |
time_in_deep | Int? | 수면 단계가 deep로 진행된 총 시간 |
time_in_rem | Int? | 수면 단계가 rem 으로 진행된 총 시간 |
time_in_stable_breath | Int? | 호흡 안정 구간이었던 총 시간 |
time_in_unstable_breath | Int? | 호흡 불안정 구간이었던 총 시간 |
time_in_snoring | Int? | 코골이가 발생한 총 시간 |
time_in_no_snoring | Int? | 코골이가 발생하지 않은 총 시간 |
sleep_efficiency | float(0~1 범위 소수점 둘째자리 ) | 수면 측정 시간 중 실제로 잠든 시간의 비율 |
wake_ratio | float(0~1 범위 소수점 둘째자리 ) | 수면 단계 도중 중간에 깬 시간의 비율 |
sleep_ratio | float(0~1 범위 소수점 둘째자리 ) | 수면 단계 도중 깨지 않고 잔 시간의 비율 |
light_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 light 수면의 비율 |
deep_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 deep 수면의 비율 |
rem_ratio | float(0~1 범위 소수점 둘째자리 )? | rem sleep 비율 |
stable_breath_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 호흡 안정 구간이었던 시간의 비율 |
unstable_breath_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 호흡 불안정 구간이었던 시간의 비율 |
snoring_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 코골이었던 시간의 비율 |
no_snoring_ratio | float(0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 코골이가 아니었던 시간의 비율 |
breathing_index | float(0~1 범위 소수점 둘째자리 )? | 호흡 불안정 레벨을 판단하기 위한 값 |
waso_count | Int? | 수면 구간 중 wake가 발생한 횟수 |
longest_waso | Int? | 수면 구간 중 가장 긴 wake의 시간 |
unstable_breath_count | Int? | 불안정 호흡이 발생한 횟수 |
sleep_cycle_count | Int? | 수면 주기의 횟수 |
snoring_count | Int? | 코골이 구간의 발생한 횟수 |
2.1.4 Never Slept Session Object
Field | Type | Description |
---|---|---|
id | String | session id |
start_time | String (YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 시작 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
end_time | String (YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 종료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
completed_time | String(YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 분석 완료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
2.1.5 Slept Session Object
Field | Type | Description |
---|---|---|
id | String | session id |
created_timezone | String | 세션이 생성된 타임존 (Timezone List) |
start_time | String(YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 종료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
end_time | String(YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 종료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
completed_time | String(YYYY-MM-DDThh:mm:ss+-hh:mm ) | 세션 분석 완료 시각 예) 2022-08-01T01:31:17+09:00 (요청 타임존이 Asia/Seoul 일 경우) |
sleep_time | String (YYYY-MM-DDThh:mm:ss+-hh:mm )? | 수면 측정 시작 후 잠들기 까지 걸린 시간 |
wake_time | String (YYYY-MM-DDThh:mm:ss+-hh:mm )? | 잠에서 깨어난 시각 |
sleep_latency | int (seconds )? | 잠들때까지 걸린 시각 |
wakeup_latency | int (seconds )? | 잠에서 깨어난 후 수면 측정을 종료하기까지 걸린 시간 |
sleep_efficiency | float (0~1 범위 소수점 둘째자리 ) | 수면 측정 시간 중 실제로 잠든 시간의 비율 |
light_latency | int(seconds )? | 첫 수면 시작으로부터 첫 번째 light가 발생하기까지의 시간 |
deep_latency | int(seconds )? | 첫 수면 시작으로부터 첫 번째 deep이 발생하기까지의 시 |
rem_latency | int(seconds )? | 첫 수면 시작으로부터 첫 번째 rem이 발생하기까지의 시간 |
time_in_bed | int (seconds ) | 수면 측정 시작 시각부터 수면 측정 종료 시각 까지의 시간 |
time_in_sleep_period | int (seconds ) | 수면 측정 시간 중 수면 측정 시작으로부터 잠들기 까지 걸린 시간과 잠에서 깨어난 후로부터 수면 측정을 종료하기까지 걸린 시간을 제외한 시간 (time_in_bed - sleep_latency - wakeup_latency) |
time_in_sleep | int (seconds ) | 수면 측정 시간 중 실제로 수면 중이었던 시간 이 시간이 deep, light, rem의 3단계로 구분됨 |
time_in_wake | int (seconds ) | 수면 도중에 깬 시간 |
time_in_rem | int (seconds )? | 수면 단계가 rem 으로 진행된 총 시간 |
time_in_light | int (seconds )? | 수면 단계가 light 로 진행된 총 시간 |
time_in_deep | int (seconds )? | 수면 단계가 deep로 진행된 총 시간 |
time_in_stable_breath | int (seconds )? | 호흡 안정 구간이었던 총 시간 |
time_in_unstable_breath | int (seconds )? | 호흡 불안정 구간이었던 총 시간 |
time_in_snoring | int (seconds )? | 코골이가 발생한 총 시간 |
time_in_no_snoring | int (seconds )? | 코골이가 발생하지 않은 총 시간 |
wake_ratio | float (0~1 범위 소수점 둘째자리 ) | 수면 단계 도중 중간에 깬 시간의 비율 |
sleep_ratio | float (0~1 범위 소수점 둘째자리 ) | 수면 단계 도중 깨지 않고 잔 시간의 비율 |
light_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 light 수면의 비율 |
deep_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 deep 수면의 비율 |
rem_ratio | float (0~1 범위 소수점 둘째자리 )? | rem sleep 비율 |
stable_breath_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 호흡 안정 구간이었던 시간의 비율 |
unstable_breath_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 호흡 불안정 구간이었던 시간의 비율 |
snoring_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 코골이었던 시간의 비율 |
no_snoring_ratio | float (0~1 범위 소수점 둘째자리 )? | 수면 단계 도중 코골이가 아니었던 시간의 비율 |
breathing_pattern | String (STABLE_BREATH ,MILDLY_UNSTABLE_BREATH ,MODERATELY_UNSTABLE_BREATH , SEVERELY_UNSTABLE_BREATH )? | 호흡 불안정의 단계STABLE_BREATH : 안정MILDLY_UNSTABLE_BREATH : 조금 불안정MODERATELY_UNSTABLE_BREATH : 불안정SEVERELY_UNSTABLE_BREATH : 심한 불안정 |
breathing_index | float (0~1 범위 소수점 둘째자리 )? | 호흡 불안정 레벨을 판단하기 위한 값 |
waso_count | int? | 수면 구간 중 wake가 발생한 횟수 |
longest_waso | int(seconds )? | 수면 구간 중 가장 긴 wake의 시간 |
sleep_cycle_count | int? | 수면 주기의 횟수 |
sleep_cycle | int(seconds )? | 수면 주기 1회당 평균 시간 |
unstable_breath_count | Int? | 불안정 호흡이 발생한 횟수 |
snoring_count | int? | 코골이 구간이 발생한 횟수 |
{
"detail": "OK",
"result": {
"period": {
"timezone": "UTC",
"start_date": "2023-09-01",
"end_date": "2023-09-05"
},
"peculiarities": [],
"average_stats": {
"start_time": "17:45:45",
"end_time": "00:26:34",
"sleep_time": "18:08:43",
"wake_time": "00:26:03",
"sleep_latency": 1230,
"wakup_latency": 300,
"time_in_bed": 24089,
"time_in_sleep": 19238,
"time_in_wake": 3428,
"time_in_light": 11025,
"time_in_deep": 1732,
"time_in_rem": 6480,
"time_in_stable_breath": 22418,
"time_in_unstable_breath": 248,
"time_in_snoring": 5400,
"time_in_no_snoring": 23400,
"sleep_efficiency": 0.8,
"wake_ratio": 0.15,
"sleep_ratio": 0.75,
"light_ratio": 0.48,
"deep_ratio": 0.08,
"rem_ratio": 0.29,
"stable_breath_ratio": 0.99,
"unstable_breath_ratio": 0.01,
"snoring_ratio": 0.3,
"no_snoring_ratio": 0.7,
"breathing_index": 64.83,
"waso_count": 0,
"longest_waso": 300,
"unstable_breath_count": 1,
"sleep_cycle_count": 4,
"snoring_count": 11
},
"never_slept_sessions": [
{
"id": "20230905141915_5jxau",
"start_time": "2023-09-05T14:19:15+00:00",
"end_time": "2023-09-05T14:49:19+00:00",
"completed_time": "2023-09-05T14:54:56+00:00"
}
],
"slept_sessions": [
{
"id": "20230903222612_ezu0o",
"created_timezone": "UTC",
"start_time": "2023-09-03T22:26:12+00:00",
"end_time": "2023-09-04T05:21:36+00:00",
"completed_time": "2023-09-04T05:28:34+00:00",
"sleep_time": "2023-09-03T22:31:12+00:00",
"wake_time": "2023-09-04T05:23:34+00:00",
"sleep_latency": 300,
"wakeup_latency": 0,
"light_latency": 0,
"deep_latency": 1680,
"rem_latency": 2820,
"time_in_bed": 24924,
"time_in_sleep_period": 24600,
"time_in_sleep": 24060,
"time_in_wake": 540,
"time_in_light": 11580,
"time_in_deep": 3120,
"time_in_rem": 9360,
"time_in_stable_breath": 24300,
"time_in_unstable_breath": 300,
"time_in_snoring": 5400,
"time_in_no_snoring": 23400,
"sleep_efficiency": 0.97,
"sleep_ratio": 0.98,
"wake_ratio": 0.02,
"light_ratio": 0.47,
"deep_ratio": 0.13,
"rem_ratio": 0.38,
"stable_breath_ratio": 0.99,
"unstable_breath_ratio": 0.01,
"snoring_ratio": 0.3,
"no_snoring_ratio": 0.7,
"breathing_pattern": "STABLE_BREATH",
"breathing_index": 64.83,
"waso_count": 14,
"longest_waso": 90,
"sleep_cycle_count": 4,
"sleep_cycle": 5475,
"unstable_breath_count": 2,
"snoring_count": 11
},
{
"id": "20230904182412_g2mfo",
"created_timezone": "UTC",
"start_time": "2023-09-04T18:24:12+00:00",
"end_time": "2023-09-05T01:29:30+00:00",
"completed_time": "2023-09-05T01:34:38+00:00",
"sleep_time": "2023-09-04T18:44:12+00:00",
"wake_time": "2023-09-05T01:29:08+00:00",
"sleep_latency": 1200,
"wakeup_latency": 30,
"light_latency": 0,
"deep_latency": 1890,
"rem_latency": 3240,
"time_in_bed": 25518,
"time_in_sleep_period": 24270,
"time_in_sleep": 23640,
"time_in_wake": 630,
"time_in_light": 15210,
"time_in_deep": 1920,
"time_in_rem": 6510,
"time_in_stable_breath": 24270,
"time_in_unstable_breath": 0,
"time_in_snoring": 5400,
"time_in_no_snoring": 23400,
"sleep_efficiency": 0.93,
"sleep_ratio": 0.97,
"wake_ratio": 0.03,
"light_ratio": 0.62,
"deep_ratio": 0.08,
"rem_ratio": 0.27,
"stable_breath_ratio": 1.0,
"unstable_breath_ratio": 0.0,
"snoring_ratio": 0.3,
"no_snoring_ratio": 0.7,
"breathing_pattern": "STABLE_BREATH",
"breathing_index": 64.83,
"waso_count": 17,
"longest_waso": 60,
"sleep_cycle_count": 4,
"sleep_cycle": 5925,
"unstable_breath_count": 0,
"snoring_count": 11
},
{
"id": "20230730233635_fx2s1",
"created_timezone": "UTC",
"start_time": "2023-09-05T15:38:00+00:00",
"end_time": "2023-09-05T21:32:51+00:00",
"completed_time": "2023-09-05T21:37:51+00:00",
"sleep_time": "2023-09-05T16:15:00+00:00",
"wake_time": "2023-09-05T21:32:51+00:00",
"sleep_latency": 2220,
"wakeup_latency": 0,
"light_latency": 0,
"deep_latency": 480,
"rem_latency": 3180,
"time_in_bed": 21291,
"time_in_sleep_period": 18780,
"time_in_sleep": 17790,
"time_in_wake": 990,
"time_in_light": 9990,
"time_in_deep": 1890,
"time_in_rem": 5910,
"time_in_stable_breath": 18090,
"time_in_unstable_breath": 690,
"time_in_snoring": 5400,
"time_in_no_snoring": 23400,
"sleep_efficiency": 0.84,
"sleep_ratio": 0.95,
"wake_ratio": 0.05,
"light_ratio": 0.54,
"deep_ratio": 0.1,
"rem_ratio": 0.31,
"stable_breath_ratio": 0.96,
"unstable_breath_ratio": 0.04,
"snoring_ratio": 0.3,
"no_snoring_ratio": 0.7,
"breathing_pattern": "STABLE_BREATH",
"breahting_index": 64.83,
"waso_count": 19,
"longest_waso": 240,
"sleep_cycle_count": 2,
"sleep_cycle": 7515,
"unstable_breath_count": 2,
"snoring_count": 11
},
{
"id": "20230905152426_wjvfy",
"created_timezone": "UTC",
"start_time": "2023-09-05T15:24:26+00:00",
"end_time": "2023-09-05T22:14:48+00:00",
"completed_time": "2023-09-05T22:24:21+00:00",
"sleep_time": "2023-09-05T15:44:26+00:00",
"wake_time": "2023-09-05T22:12:51+00:00",
"sleep_latency": 1200,
"wakeup_latency": 390,
"light_latency": 0,
"deep_latency": null,
"rem_latency": 4440,
"time_in_bed": 24622,
"time_in_sleep_period": 23010,
"time_in_sleep": 11460,
"time_in_wake": 11550,
"time_in_light": 7320,
"time_in_deep": 0,
"time_in_rem": 4140,
"time_in_stable_breath": 23010,
"time_in_unstable_breath": 0,
"time_in_snoring": 5400,
"time_in_no_snoring": 23400,
"sleep_efficiency": 0.47,
"sleep_ratio": 0.5,
"wake_ratio": 0.5,
"light_ratio": 0.32,
"deep_ratio": 0.0,
"rem_ratio": 0.18,
"stable_breath_ratio": 1.0,
"unstable_breath_ratio": 0.0,
"snoring_ratio": 0.7,
"no_snoring_ratio": 0.3,
"breathing_pattern": "STABLE_BREATH",
"waso_count": 20,
"longest_waso": 3180,
"sleep_cycle_count": 3,
"sleep_cycle": 6700,
"unstable_breath_count": 0,
"snoring_count": 11
}
]
}
}
2.2 400 Bad Request
- 조회 가능한 기간을 넘어 갔거나,
start_date
또는end_date
의 날짜 형식이 잘못되었을 경우
{
"detail": "The period should be less than or equal to 100 days"
}
2.3 404 Not Found
user_id
에 해당되는 사용자가 존재하지 않는 경우
{
"detail": "Unable to find the user of id {user_id}"
}
Updated 8 months ago