Dashboard Sign InKR

Reports

Create Reports

  • Asleep.createReports :Generate Reports to get results for sleep tracking.
fun createReports(asleepConfig: AsleepConfig?): Reports?
Parameter NameTypeDescription
asleepConfigAsleepConfig?Enter the set value received by the callback in the initasleepconfig call

Get Single Report

  • Asleep.Reports.getReport :Bring sessionId Report.
fun getReport(sessionId: String, reportListener: ReportListener)
Parameter NameTypeDescription
sessionIdStringWhen Sleep Tracking stops, sessionId value
reportListenerReportListenerReport Callback listener
  • Asleep.Reports.ReportListener
interface ReportListener {
    fun onSuccess(report: Report?)
    fun onFail(errorCode: Int, detail: String)
}
  • If success, onSuccess() is called.
data class Report(
    val timezone: String,
    val peculiarities: List<String>,
    val missingDataRatio: Float,
    val session: Session?,
    val stat: Stat?
)

data class Session(
    val id: String,  
    val state: String,
    val startTime: String,
    val endTime: String?,
    val sleepStages: List<Int>?,  
    val createdTimezone: String,
    val unexpectedEndTime: String?
)

data class Stat(
    val sleepEfficiency: Float?,
    val sleepLatency: Int?,
    val sleepTime: String?,
    val wakeupLatency: Int?,
    val wakeTime: String?,
    val timeInWake: Int?,
    val timeInSleepPeriod: Int?,
    val timeInSleep: Int?,  
    val timeInBed: Int?,
    val timeInRem: Int?,  
    val timeInLight: Int?,  
    val timeInDeep: Int?,
    val wakeRatio: Float?,  
    val sleepRatio: Float?,
    val remRatio: Float?,    
    val lightRatio: Float?,  
    val deepRatio: Float?,
    val sleepCycle: Int?,
    val sleepCycleCount: Int?,
    val wasoCount: Int?,
    val longestWaso: Int?,
    val lightLatency: Int?,
    val remLatency: Int?,
    val deepLatency: Int?
    val sleepIndex: Int?,
    val timeInSnoring: Int?,
    val timeInNoSnoring: Int?,
    val snoringRatio: Float?,
    val noSnoringRatio: Float?,
    val snoringCount: Int?,
    val sleepCycleTime: List<String>?
)
Parameter NameTypeDescription
timezoneStringRequested timezone (e.g., UTC, Asia/Seoul)
startDateStringRequested start date
endDateStringRequested end date

AverageStats

Parameter NameTypeDescription
startTimeStringSession start time
endTimeStringSession end time
sleepTimeStringTime to fall asleep after sleep staging start
wakeTimeStringWake time
sleepLatencyIntTime to fall asleep
wakeupLatencyIntTime to wake up and end sleep measurement
timeInBedIntTotal time from sleep measurement start to end
timeInSleepPeriodIntSleep measurement time excluding sleep onset and wake periods
timeInSleepIntActual sleep time (deep, light, rem stages)
timeInWakeIntWake time during sleep
timeInLightInt?Total light sleep time
timeInDeepInt?Total deep sleep time
timeInRemInt?Total REM sleep time
sleepEfficiencyFloat?Percentage of time actually slept during measurement
wakeRatioFloat?Rate of waking time during sleep stage
sleepRatioFloat?Sleep ratio during sleep stage
lightRatioFloat?Light sleep ratio
deepRatioFloat?Deep sleep ratio
remRatioFloat?REM sleep ratio
wasoCountInt?Number of 'wake' occurrences during sleep
longestWasoInt?Duration of longest 'wake' period
sleepCycleCountInt?Number of sleep cycles
timeInSnoringInt?Total snoring time
timeInNoSnoringInt?Total non-snoring time
snoringRatioFloat?Percentage of time spent snoring
noSnoringRatioFloat?Percentage of time not snoring
snoringCountInt?Number of snoring episodes

Get Multiple Reports

  • Asleep.Reports.getReports :Gets a list of Report that are within the range of the date you entered.
fun getReports(
    fromDate: String, 
  	toDate: String, 
  	orderBy: String = "DESC", 
  	offset: Int = 0, 
  	limit: Int = 20, 
  	reportsListener: ReportsListener?)
    
Parameter NameTypeDescription
fromDateString (YYYY-MM-DD)View start date
toDateString (YYYY-MM-DD)View last date
orderBy = "DESC"StringDESC: descending order, ASC: ascending order
offset = 0Intnumber of skipped Report
limit = 20Intmax number of Report (0~100)
reportsListenerReportsListener?Report list callback listener
  • Asleep.Reports.ReportsListener
interface ReportsListener {
    fun onSuccess(reports: List<SleepSession>?)
    fun onFail(errorCode: Int, detail: String)
}
  • If success, onSuccess() is called.
data class SleepSession(
    val sessionId: String?,
    val lastReceivedSeqNum: Int?,
    val sessionEndTime: String?,  
    val sessionStartTime: String?,
    val state: String?,
    val timeInBed: Int?,
    val createdTimezone: String,
    val unexpectedEndTime: String?
)
Parameter NameTypeDescriptionVersion
sessionIdString?Sleep session ID
lastReceivedSeqNumInt?The sequence number of the last uploaded audio file
sessionEndTimeString?Session end time
sessionStartTimeString?Session start time
stateString?Sleep session state (OPEN, CLOSED or COMPLETE)
timeInBedInt?The time from the start of the sleep measurement to the end of the sleep measurement
createdTimezoneStringTimezone of session creation (Timezone List)
unexpectedEndTimeString?Abnormal session termination time. This assign the next initAsleepConfig time.
  • When getReport() is called with a sessionId, it acquires a comprehensive report.
  • If failure, onFail() is called.
Parameter NameTypeDescription
errorCodeIntError Code Number
domainStringError Domain
detailStringerrorCode Message

Average-stats

  • Asleep.Reports.getAverageReport
  • You can check the average sleep metrics for a specific period of time.
fun getAverageReport(fromDate: String, toDate: String, averageReportListener: AverageReportListener?)
Parameter NameTypeDescription
fromDateStringThe starting time for the period you want to check the average
toDateStringThe ending time for the period you want to check the average
averageReportListenerAverageReportListenerAverage Report callback listener
  • Asleep.Reports.AverageReportListener
interface AverageReportListener {
    fun onSuccess(averageReport: AverageReport?)
    fun onFail(errorCode: Int, detail: String)
}
  • If success, onSuccess() is called.

AverageReport

data class AverageReport (
    val period: Period,
    val peculiarities: List<String>,
    val averageStats: AverageStats?,
    val neverSleptSessions: List<NeverSleptSessions>,
    val sleptSessions: List<SleptSessions>
)
Parameter NameTypeDescription
periodPeriodTimezone
peculiaritiesList<String>Special considerations when calculating the average of sleep sessions
averageStatsAverageStats?An object containing the averages of sleep metrics for "sleptSessions"
neverSleptSessionsList<NeverSleptSession>A list of sessions during which it is determined that no sleep occurred at all during the measurement time.
sleptSessionsList<SleptSession>A list of sessions during which it is determined that sleep occurred during the measurement time.

Period

Parameter NameTypeDescription
timezoneStringRequested timezone (e.g., UTC, Asia/Seoul)
startDateStringRequested start date
endDateStringRequested end date

NeverSleptSessions

Parameter NameTypeDescription
idStringSession ID
startTimeStringSession start time (e.g., 2022-08-01T01:31:17+09:00)
endTimeStringSession end time (e.g., 2022-08-01T01:31:17+09:00)
completedTimeStringTime of session analysis completion (e.g., 2022-08-01T01:31:17+09:00)

SleptSessions

Parameter NameTypeDescription
idStringSession ID
createdTimezoneStringTimezone of session creation (Timezone List)
startTimeStringSession start time (e.g., 2022-08-01T01:31:17+09:00)
endTimeStringSession end time (e.g., 2022-08-01T01:31:17+09:00)
completedTimeStringTime of session analysis completion (e.g., 2022-08-01T01:31:17+09:00)
sleepEfficiencyFloatPercentage of time actually slept during sleep measurement
sleepLatencyInt?Time to fall asleep
sleepTimeString?Time to fall asleep after sleep staging start
wakeupLatencyInt?Time to wake up and end sleep measurement
wakeTimeString?Wake time
lightLatencyInt?Time to first light sleep stage
deepLatencyInt?Time to first deep sleep stage
remLatencyInt?Time to first REM sleep stage
timeInWakeIntWake time during sleep
timeInSleepPeriodIntSleep measurement time excluding sleep onset and wake periods
timeInSleepIntActual sleep time (deep, light, rem stages)
timeInBedIntTotal time from sleep measurement start to end
timeInRemInt?Total REM sleep time
timeInLightInt?Total light sleep time
timeInDeepInt?Total deep sleep time
wakeRatioFloatRate of waking time during sleep stage
sleepRatioFloatSleep ratio during sleep stage
remRatioFloat?REM sleep ratio
lightRatioFloat?Light sleep ratio
deepRatioFloat?Deep sleep ratio
sleepCycleInt?Average duration of one sleep cycle
sleepCycleCountInt?Number of sleep cycles
wasoCountInt?Number of 'wake' occurrences during sleep
longestWasoInt?Duration of longest 'wake' period
timeInSnoringInt?Total snoring time
timeInNoSnoringInt?Total non-snoring time
snoringRatioFloat?Percentage of time spent snoring
noSnoringRatioFloat?Percentage of time not snoring
snoringCountInt?Number of snoring episodes

Delete Report

❗️

When session data is deleted from the Asleep server upon a request, it becomes difficult to provide specific evidence for the deleted sessions during subsequent billing usage analysis.

  • Asleep.deleteReport :Delete sessionId Report.
fun deleteReport(sessionId: String, deleteReportListener: DeleteReportListener)
Parameter NameTypeDescription
sessionIdStringDelete sessionId value
deleteReportListenerDeleteReportListenerReport delete callback listener
  • Asleep.Reports.DeleteReportListener
interface DeleteReportListener {
    fun onSuccess(sessionId: String?)
    fun onFail(errorCode: Int, detail: String)
}
  • If success, onSuccess() is called.
Parameter NameTypeDescription
sessionIdString?delete sessionId value
  • If failure, onFail() is called.
Parameter NameTypeDescription
errorCodeIntError Code Number
domainStringError Domain
detailStringerrorCode Message