Dashboard Sign InKR

[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

FieldTypeRequiredDefaultDescription
x-api-keyStringO-API Key
x-user-idStringO-Issued user id
timezoneStringXUTCReturn 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 (YYYY-MM-DD)

X

Return sessions that are greater than or equal to date_gte based on the timezone in the header

date_lte

String (YYYY-MM-DD)

X

Return sessions that are less than or equal to date_lte based on the timezone in the header

order_by

String (ASCor DESC)

X

DESC

DESC: Sort in descending order
ASC: Sort in ascending order

offset

Int

X

0

Number of sessions to skip

limit

Int (Integer of 0~100)

X

20

Number of sessions to receive
Max value is 100

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)

FieldTypeDescription
timezoneStringTimezone
sleep_session_listList of Sleep Session ObjectsList of session data

Sleep Session Object

if state == OPEN: session_end_time is null

Field

Type

Description

session_id

String

Session ID

state

String (OPEN,CLOSED,COMPLETE)

Session state
OPEN: In-progress session, audio upload is possible
CLOSED: Session has been closed, audio file upload is not possible. Analysis of the uploaded sleep audio is ongoing
COMPLETE: Session has been closed and all sleep analysis is completed

session_start_time

String (YYYY-MM-DDThh:mm:ss+-hh:mm)

Session start time
Example) 2022-08-01T01:31:17+09:00 (for Asia/Seoul timezone in the request)

session_end_time

String (YYYY-MM-DDThh:mm:ss+-hh:mm)?

Session end time
Example) 2022-08-01T01:31:17+09:00 (for Asia/Seoul timezone in the request)

created_timezone

String

Timezone of session creation (Timezone List)

unexpected_end_time

String(YYYY-MM-DDThh:mm:ss+-hh:mm)?

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 (seconds)?

Time spent in bed

400 Bad Request

  • Invalid timezone is provided
{
	"detail": "The invalid timezone is provided"
}