# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-08-08T18:14:28+00:00
from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import Any, Dict, List, Optional
from uuid import UUID
from pydantic import BaseModel, Field, RootModel
class AlarmConfigDto(BaseModel):
smartAlarmDreamNonRemThreshold: float = Field(
...,
description='Number of consecutive non REM stage response to consider user be out of REM',
examples=[0],
)
smartAlarmDreamRemThreshold: float = Field(
...,
description='Number of consecutive REM stage response to consider user be in the REM',
examples=[0],
)
smartAlarmGroggyLightThreshold: float = Field(
...,
description='Number of consecutive light stage response to consider user be in light sleep',
examples=[0],
)
class AlarmConfigUpdateDto(BaseModel):
smartAlarmDreamNonRemThreshold: Optional[float] = Field(
None,
description='Number of consecutive non REM stage response to consider user be out of REM',
examples=[0],
)
smartAlarmDreamRemThreshold: Optional[float] = Field(
None,
description='Number of consecutive REM stage response to consider user be in the REM',
examples=[0],
)
smartAlarmGroggyLightThreshold: Optional[float] = Field(
None,
description='Number of consecutive light stage response to consider user be in light sleep',
examples=[0],
)
class DaysOfWeekEnum(Enum):
sunday = 'sunday'
monday = 'monday'
tuesday = 'tuesday'
wednesday = 'wednesday'
thursday = 'thursday'
friday = 'friday'
saturday = 'saturday'
class SmartMode(Enum):
lessGroggy = 'lessGroggy'
rememberDream = 'rememberDream'
class ActionType(Enum):
hide = 'hide'
view = 'view'
skip = 'skip'
skipBefore5sPlayed = 'skipBefore5sPlayed'
skipBefore1mPlayed = 'skipBefore1mPlayed'
upload = 'upload'
pause = 'pause'
play = 'play'
stop = 'stop'
budDockingChanged = 'budDockingChanged'
budConnectionChanged = 'budConnectionChanged'
budBatteryLevel = 'budBatteryLevel'
casePower = 'casePower'
caseDownloadSpeed = 'caseDownloadSpeed'
caseAvgDownloadSpeed = 'caseAvgDownloadSpeed'
wifiRssi = 'wifiRssi'
wifiConnectionChanged = 'wifiConnectionChanged'
memory = 'memory'
powerOn = 'powerOn'
firmwareVersion = 'firmwareVersion'
sessionStart = 'sessionStart'
sessionStop = 'sessionStop'
error = 'error'
audioDrop = 'audioDrop'
create = 'create'
clone = 'clone'
stateChanged = 'stateChanged'
class Source(Enum):
SOND = 1
TADDY = 2
ASSISTANT = 3
class Type(Enum):
user = 'user'
track = 'track'
page = 'page'
collection = 'collection'
playlist = 'playlist'
sleepPlan = 'sleepPlan'
module = 'module'
class AnalyticEventTargetDto(BaseModel):
id: str
source: Optional[Source] = Field(
None, description='1:SOND\n\n2:TADDY\n\n3:ASSISTANT', examples=[2]
)
type: Type = Field(
...,
description='user:user\n\ntrack:track\n\npage:page\n\ncollection:collection\n\nplaylist:playlist\n\nsleepPlan:sleepPlan\n\nmodule:module',
examples=['track'],
)
class AudioConfigDto(BaseModel):
sfxEnabled: bool
class AudioConfigUpdateDto(BaseModel):
sfxEnabled: Optional[bool] = None
class BasicNotificationEnum(Enum):
comfortIssues = 'comfortIssues'
budsBadRssi = 'budsBadRssi'
budsNotCharging = 'budsNotCharging'
caseNotCharging = 'caseNotCharging'
class BiosignalsDataDto(BaseModel):
max: float = Field(..., description='Max value of biosignal')
min: float = Field(..., description='Min value of biosignal')
time: datetime = Field(..., description='Time of biosignal value')
value: float = Field(..., description='Mean value of biosignal')
class BiosignalsDto(BaseModel):
createdAt: datetime
heartRate: Optional[float] = None
respirationRate: Optional[float] = None
sessionId: str
temperaturePerson: Optional[float] = None
time: datetime
class BiosignalsResponseDto(BaseModel):
data: List[BiosignalsDataDto]
class Buffer(BaseModel):
pass
class CacheDeleteResponseDto(BaseModel):
deletedCount: float
pattern: str
class CategoryEnum(Enum):
asmr = 'asmr'
meditation = 'meditation'
soundscape = 'soundscape'
music = 'music'
masking = 'masking'
story = 'story'
podcast = 'podcast'
audiobook = 'audiobook'
alarm = 'alarm'
lofi = 'lofi'
noise = 'noise'
class ClassifyMode(Enum):
fallAsleep = 'fallAsleep'
asleep = 'asleep'
rememberDream = 'rememberDream'
lessGroggy = 'lessGroggy'
class FilterType(Enum):
iir = 'iir'
fir = 'fir'
class Category(Enum):
ALARM = 'alarm'
ASMR = 'asmr'
AUDIOBOOK = 'audiobook'
COLLECTION = 'collection'
LOFI = 'lofi'
NOISE = 'noise'
MASKING = 'masking'
MEDITATION = 'meditation'
MUSIC = 'music'
PODCAST = 'podcast'
SOUNDSCAPE = 'soundscape'
STORY = 'story'
class CreateBasedOnPremadeSleepPlanDto(BaseModel):
newPlanName: Optional[str] = None
class Type4(Enum):
TYPE_UNSPECIFIED = 0
FALLING_ASLEEP = 1
SLEEPING = 2
WAKING_UP = 3
class DeviceDetailsDto(BaseModel):
createdAt: datetime
deviceName: str
deviceSerial: str
id: str
macAddress: Optional[str] = None
mobile: bool
notificationKey: Optional[str] = None
pairingKey: Optional[str] = None
class DeviceDto(BaseModel):
id: str
name: str
class DeviceWithUserIdDetailsDto(BaseModel):
createdAt: datetime
deviceName: str
deviceSerial: str
id: str
macAddress: Optional[str] = None
mobile: bool
notificationKey: Optional[str] = None
userId: str
class Type6(Enum):
PrivacyPolicy = 'privacyPolicy'
TermsOfConditions = 'termsOfConditions'
class DocDto(BaseModel):
id: str
text: Optional[str] = None
type: Type6 = Field(
...,
description='privacyPolicy:PrivacyPolicy\n\ntermsOfConditions:TermsOfConditions',
examples=['termsOfConditions'],
)
url: Optional[str] = None
validFrom: datetime
validTo: datetime
class EndUserSessionDto(BaseModel):
endTime: datetime
sessionId: str
class EspInsightsConfigDto(BaseModel):
enabled: bool = Field(..., description='Is ESP Insights enabled')
encryptedToken: str = Field(..., description='Encrypted key')
token: str = Field(..., description='Key')
class EventType(Enum):
SleepScore_Events_SleepRecord_Created = 'SleepScore.Events.SleepRecord.Created'
SleepScore_Events_Nugget_Delivered = 'SleepScore.Events.Nugget.Delivered'
class NuggetStyle(Enum):
TextNugget = 'TextNugget'
IconNugget = 'IconNugget'
ZoomedHypnogramNugget = 'ZoomedHypnogramNugget'
FullHypnogramNugget = 'FullHypnogramNugget'
ScoreNugget = 'ScoreNugget'
class NuggetType(Enum):
General = 'General'
Insight = 'Insight'
Educational = 'Educational'
Advice = 'Advice'
WeeklyAdvice = 'WeeklyAdvice'
MonthlyAdvice = 'MonthlyAdvice'
Seasonal = 'Seasonal'
DoctorReport = 'DoctorReport'
News = 'News'
Prompt = 'Prompt'
Recommendation = 'Recommendation'
Goal = 'Goal'
SocialInsight = 'SocialInsight'
class EventNuggetDeliveredProperties(BaseModel):
body: str
dateGenerated: datetime = Field(..., examples=['2025-08-08T16:33:37.524Z'])
dateScheduled: datetime = Field(..., examples=['2025-08-08T16:33:37.524Z'])
imageUrl: str
infoUrl: str
nuggetId: float
nuggetStyle: NuggetStyle = Field(..., examples=['TextNugget'])
nuggetType: NuggetType = Field(..., examples=['Advice'])
recordId: float
title: str
class EventRecordCreatedProperties(BaseModel):
averageRespirationRate: float
bodyScore: float
endDate: datetime
interruptions: float
mindScore: float
perceivedNight: datetime
recordId: float
sessionId: str = Field(..., examples=['test-session'])
sleepScore: float
startDate: datetime
timeInBed: str
totalRecords: float
totalSleepTime: str
class Type7(Enum):
oxygenSaturation = 'HKQuantityTypeIdentifierOxygenSaturation'
restingHeartRate = 'HKQuantityTypeIdentifierRestingHeartRate'
heartRate = 'HKQuantityTypeIdentifierHeartRate'
sleepAnalysis = 'HKCategoryTypeIdentifierSleepAnalysis'
respiratoryRate = 'HKQuantityTypeIdentifierRespiratoryRate'
class ExternalSleepDataDto(BaseModel):
endDate: Optional[datetime] = Field(
None, description='End of sample time', examples=['2025-08-08T16:33:37.467Z']
)
sourceName: str = Field(
..., description='Name of source from which the data is coming from'
)
startDate: Optional[datetime] = Field(
None, description='Start of sample time', examples=['2025-08-08T16:33:37.467Z']
)
type: Type7 = Field(
...,
description='HKQuantityTypeIdentifierOxygenSaturation:oxygenSaturation\n\nHKQuantityTypeIdentifierRestingHeartRate:restingHeartRate\n\nHKQuantityTypeIdentifierHeartRate:heartRate\n\nHKCategoryTypeIdentifierSleepAnalysis:sleepAnalysis\n\nHKQuantityTypeIdentifierRespiratoryRate:respiratoryRate',
examples=['HKQuantityTypeIdentifierRestingHeartRate'],
)
value: str = Field(..., description='Value of sleep data sample')
class ExternalSleepDataPayload(BaseModel):
data: List[ExternalSleepDataDto]
class FeaturesConfigDto(BaseModel):
a2dpEnabled: bool = Field(..., examples=[False])
tapsEnabled: bool = Field(..., examples=[False])
class FeaturesConfigUpdateDto(BaseModel):
a2dpEnabled: Optional[bool] = Field(None, examples=[False])
tapsEnabled: Optional[bool] = Field(None, examples=[False])
class FirmwareType(Enum):
bundle = 'bundle'
nordic = 'nordic'
qcc = 'qcc'
esp = 'esp'
class Type8(Enum):
bundle = 'bundle'
nordic = 'nordic'
qcc = 'qcc'
esp = 'esp'
class FirmwareVersionDto(BaseModel):
beta: bool
commitHash: Optional[str] = None
filename: str
id: str
md5: str
releaseDate: datetime
symbolsFilename: Optional[str] = None
type: Type8 = Field(
...,
description='bundle:bundle\n\nnordic:nordic\n\nqcc:qcc\n\nesp:esp',
examples=['nordic'],
)
url: str
version: str
class FirmwareVersionWithReleaseNotesDto(BaseModel):
beta: bool
commitHash: Optional[str] = None
filename: str
id: str
md5: str
releaseDate: datetime
releaseNotes: Optional[str] = Field(None, examples=['Release note for version'])
symbolsFilename: Optional[str] = None
type: Type8 = Field(
...,
description='bundle:bundle\n\nnordic:nordic\n\nqcc:qcc\n\nesp:esp',
examples=['nordic'],
)
url: str
version: str
class FreeFormNotificationDto(BaseModel):
body: str
confirmationText: str = Field(
...,
description='Confirmation text to trigger the free form notification: "send free form notification to user {userId}"',
)
title: str
class GetRecommendedTracksRequestDto(BaseModel):
pageSize: float = Field(..., description='Number of requested recommended tracks')
class GetSleepSessionResponseDto(BaseModel):
id: str
class GuestSignUpUserDto(BaseModel):
id: str
previouslyPairedCase: bool
timezone: str = Field(
..., description='IANA time zone as string', examples=['Etc/GMT']
)
class HardwareFixesConfigDto(BaseModel):
btn1Threshold: float = Field(..., examples=[0])
btn2Threshold: float = Field(..., examples=[0])
btn3Threshold: float = Field(..., examples=[0])
btn4Threshold: float = Field(..., examples=[0])
extendedWifiSpeedTest: bool = Field(..., examples=[False])
frequentlyReportDownloadSpeed: bool = Field(..., examples=[False])
lidPolarityReversed: bool = Field(..., examples=[False])
lidThreshold: float = Field(..., examples=[0])
preloadContent: bool = Field(..., examples=[False])
rfGain: float = Field(..., examples=[8])
class HardwareFixesConfigUpdateDto(BaseModel):
btn1Threshold: Optional[float] = Field(None, examples=[0])
btn2Threshold: Optional[float] = Field(None, examples=[0])
btn3Threshold: Optional[float] = Field(None, examples=[0])
btn4Threshold: Optional[float] = Field(None, examples=[0])
extendedWifiSpeedTest: Optional[bool] = Field(None, examples=[False])
frequentlyReportDownloadSpeed: Optional[bool] = Field(None, examples=[False])
lidPolarityReversed: Optional[bool] = Field(None, examples=[False])
lidThreshold: Optional[float] = Field(None, examples=[0])
preloadContent: Optional[bool] = Field(None, examples=[False])
rfGain: Optional[float] = Field(None, examples=[8])
class HwPremadeSleepPlanDescDto(BaseModel):
id: UUID
name: str
class HwPremadeSleepPlanDescResponseDto(BaseModel):
data: List[HwPremadeSleepPlanDescDto]
nextPageToken: Optional[str] = None
class HwUploadType(Enum):
nordicCoreDump = 'nordicCoreDump'
espCoreDump = 'espCoreDump'
qccCoreDump = 'qccCoreDump'
class Stage(Enum):
awake = 'awake'
light = 'light'
deep = 'deep'
rem = 'rem'
asleep = 'asleep'
class HypnogramDataDto(BaseModel):
endTime: datetime = Field(..., description='End of stage')
stage: Stage = Field(..., description='Sleep stage')
startTime: datetime = Field(..., description='Start of stage')
class HypnogramResponseDto(BaseModel):
data: List[HypnogramDataDto]
class IdentifierDto(BaseModel):
id: str = Field(..., examples=['99416470-a7bb-4f2b-8595-daef57c7ece0'])
source: Source = Field(
..., description='1:SOND\n\n2:TADDY\n\n3:ASSISTANT', examples=[2]
)
class LcdConfigDto(BaseModel):
idleClockEnabled: bool = Field(..., examples=[True])
newIcons: bool = Field(..., examples=[False])
showIconsWithText: bool = Field(..., examples=[False])
class LcdConfigUpdateDto(BaseModel):
idleClockEnabled: Optional[bool] = Field(None, examples=[True])
newIcons: Optional[bool] = Field(None, examples=[False])
showIconsWithText: Optional[bool] = Field(None, examples=[False])
class LedConfigDto(BaseModel):
brightness: float
enabled: bool = Field(..., examples=[True])
class LedConfigUpdateDto(BaseModel):
brightness: Optional[float] = None
enabled: Optional[bool] = Field(None, examples=[True])
class LifeLogType(Enum):
dream = 'dream'
generic = 'generic'
class ListTrackIdsResponseDto(BaseModel):
ids: List[IdentifierDto]
class LoginOtpDto(BaseModel):
deviceName: Optional[str] = None
deviceSerial: str
otp: str = Field(..., description='OTP received after requesting a login')
otpRequestId: str = Field(
..., description='OTP unique requestId received after requesting a login'
)
timezone: Optional[str] = Field(
None, description='IANA time zone as string', examples=['Etc/GMT']
)
class LogzConfigDto(BaseModel):
enabled: bool = Field(..., description='Is Logz enabled')
encryptedToken: str = Field(..., description='Encrypted token')
token: str = Field(..., description='Token')
url: str = Field(..., description='Logz url')
class MinMaxMeanDto(BaseModel):
max: float = Field(..., description='To value')
mean: float = Field(..., description='Mean value')
min: float = Field(..., description='From value')
stdDev: float = Field(..., description='Standard de value')
class MinMaxMsDto(BaseModel):
max: float = Field(
..., description='Maximum value of the property.', examples=[300]
)
min: float = Field(
..., description='Minimum value of the property.', examples=[100]
)
class NewUserRecommendationsDto(BaseModel):
trackIds: List[IdentifierDto]
userId: str = Field(..., examples=['9322c384-fd8e-4a13-80cd-1cbd1ef95ba8'])
class NewsletterSubscriptionDto(BaseModel):
email: str
class NewsletterUserSubscriptionDto(BaseModel):
email: str
previouslyUsedSimilarProducts: Optional[bool] = None
class NotificationDto(BaseModel):
type: BasicNotificationEnum
class NotificationKeyDto(BaseModel):
key: str
class OnboardingAnswerDto(BaseModel):
answers: List[str]
questionId: str
questionText: str
class OnboardingDto(BaseModel):
answers: List[OnboardingAnswerDto]
timestamp: datetime
class OtpRequestDto(BaseModel):
email: str = Field(..., description='Email to send verification')
class OtpResponseDto(BaseModel):
otpRequestId: str = Field(
..., description='OTP request id to be used during verification'
)
otpRetryDelayInMin: float = Field(
..., description='Required delay to re-trigger verification email'
)
otpTtlInMin: float = Field(
..., description='Time-to-live in minutes for the OTP code'
)
class OtpVerification(BaseModel):
otp: str = Field(..., description='OTP received after requesting a login')
otpRequestId: str = Field(
..., description='OTP unique requestId received after requesting a login'
)
class PosixTzDto(BaseModel):
posixTz: str = Field(..., description='Posix timezone string')
class PowerConfigDto(BaseModel):
deepSleepCountdownMin: float = Field(
..., description='Number of min before case deep sleep', examples=[10]
)
class PowerConfigUpdateDto(BaseModel):
deepSleepCountdownMin: Optional[float] = Field(
None, description='Number of min before case deep sleep', examples=[10]
)
class Type12(Enum):
TYPE_UNSPECIFIED = 0
FALLING_ASLEEP = 1
SLEEPING = 2
WAKING_UP = 3
class PremadeSleepPhaseDefinitionDto(BaseModel):
trackIds: List[IdentifierDto]
type: Type12 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class PremadeSleepPlanDefinitionDto(BaseModel):
description: Optional[str] = None
id: UUID
imageUri: str
name: str
sleepPhases: List[PremadeSleepPhaseDefinitionDto]
class PremadeSleepPlanDefinitionWithoutTracksDto(BaseModel):
description: Optional[str] = None
id: UUID
imageUri: str
key: str
name: str
class PremadeSleepPlanDefinitionWithoutTracksResultDto(BaseModel):
sleepPlan: Optional[PremadeSleepPlanDefinitionWithoutTracksDto] = None
class PremadeSleepPlanDescDto(BaseModel):
description: Optional[str] = None
id: UUID
imageUri: str
name: str
class PremadeSleepPlanDescResultDto(BaseModel):
sleepPlan: Optional[PremadeSleepPlanDescDto] = None
class RegisterDeviceDto(BaseModel):
deviceName: Optional[str] = None
deviceSerial: str
macAddress: Optional[str] = Field(None, examples=['00:00:00:00:00:00'])
class ResetConfigDto(BaseModel):
deviceSerial: Optional[str] = Field(
None,
description='Device serial number used for determining the configuration override',
)
class SearchRequestFilterDto(BaseModel):
category: Optional[List[CategoryEnum]] = None
creatorId: Optional[List[IdentifierDto]] = None
filtersAttributeId: Optional[List[str]] = None
trackId: Optional[List[IdentifierDto]] = None
class SignUpDto(BaseModel):
deviceName: Optional[str] = None
deviceSerial: str
timezone: Optional[str] = Field(
None, description='IANA time zone as string', examples=['Etc/GMT']
)
class Prediction(Enum):
UNKNOWN = 0
ASLEEP = 1
AWAKE = 2
OUT_OF_EARS = 3
class Stage1(Enum):
awake = 'awake'
light = 'light'
rem = 'rem'
deep = 'deep'
class SleepClassificationDto(BaseModel):
prediction: Prediction = Field(
...,
description='0:UNKNOWN\n\n1:ASLEEP\n\n2:AWAKE\n\n3:OUT_OF_EARS',
examples=[1],
)
stage: Optional[Stage1] = Field(
None,
description='awake:awake\n\nlight:light\n\nrem:rem\n\ndeep:deep',
examples=['light'],
)
class SensorStreamingMode(Enum):
none = 'none'
leftBud = 'leftBud'
rightBud = 'rightBud'
both = 'both'
switching = 'switching'
class SleepConfigDto(BaseModel):
asleepTransitionDebounce: float = Field(
...,
description='Number of following asleep stage needed to transition to masking sound',
examples=[10],
)
awakeTransitionDebounce: float = Field(
...,
description='Number of following awake stage needed to transition to falling asleep sound',
examples=[10],
)
biosignalsSendPeriodInSec: float = Field(
...,
description='Time in seconds for sending biosignals to the server ',
examples=[0],
)
pauseAudioBatteryPercentage: float = Field(..., examples=[40])
radioOffDelayDebounce: float = Field(
..., description='Number of cycles to disable radio', examples=[10]
)
sensorStreamingCycleInSec: float = Field(
...,
description='Time in seconds for sending sensor data from one bud before switching to second bud',
examples=[1800],
)
sensorStreamingMode: SensorStreamingMode = Field(
..., description='Sensor streaming mode', examples=['switching']
)
sensorStreamingOverlapInSec: float = Field(
...,
description='Overlap time in seconds for sensor data when switching between buds',
examples=[0],
)
whileAsleepStageTransition: bool = Field(..., examples=[False])
class SleepConfigUpdateDto(BaseModel):
asleepTransitionDebounce: Optional[float] = Field(
None,
description='Number of following asleep stage needed to transition to masking sound',
examples=[10],
)
awakeTransitionDebounce: Optional[float] = Field(
None,
description='Number of following awake stage needed to transition to falling asleep sound',
examples=[10],
)
biosignalsSendPeriodInSec: Optional[float] = Field(
None,
description='Time in seconds for sending biosignals to the server ',
examples=[0],
)
pauseAudioBatteryPercentage: Optional[float] = Field(None, examples=[40])
radioOffDelayDebounce: Optional[float] = Field(
None, description='Number of cycles to disable radio', examples=[10]
)
sensorStreamingCycleInSec: Optional[float] = Field(
None,
description='Time in seconds for sending sensor data from one bud before switching to second bud',
examples=[1800],
)
sensorStreamingMode: Optional[SensorStreamingMode] = Field(
None, description='Sensor streaming mode', examples=['switching']
)
sensorStreamingOverlapInSec: Optional[float] = Field(
None,
description='Overlap time in seconds for sensor data when switching between buds',
examples=[0],
)
whileAsleepStageTransition: Optional[bool] = Field(None, examples=[False])
class SleepStage(Enum):
awake = 'awake'
light = 'light'
deep = 'deep'
rem = 'rem'
asleep = 'asleep'
class SleepDataPointDto(BaseModel):
hr: Optional[float] = Field(None, description='Heart rate')
hrv: Optional[float] = Field(None, description='Heart rate variability')
rr: Optional[float] = Field(None, description='Respiration rate')
sleepStage: SleepStage = Field(..., description='Sleep stage')
time: datetime = Field(..., description='Data point time stamp UTC')
class SleepPlanAssistantWithoutTracksDto(BaseModel):
createdAt: datetime
id: UUID
name: str
tracksCount: float
updatedAt: datetime
class SleepPlanHwWithoutTracksDto(BaseModel):
createdAt: float
id: UUID
loop: bool
name: str
shuffle: bool
tracksCount: float
updatedAt: float
class SleepPhase(Enum):
number_0 = 0
number_1 = 1
number_2 = 2
number_3 = 3
class SleepPlanTrackMapDto(BaseModel):
id: UUID
name: str
sleepPhases: List[SleepPhase] = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[[1]],
)
class SleepPlanUpdatedNotificationDto(BaseModel):
sleepPlanId: str = Field(
...,
description='Id of the updated sleep plan. This is used to identify which sleep plan was updated.',
)
class SocketNamespacesConfigDto(BaseModel):
assistant: str = Field(
..., description='Assistant socket namespace', examples=['/']
)
proxyREST: str = Field(
..., description='Proxy REST calls socket namespace', examples=['/proxyREST']
)
class Sort(Enum):
publishTimeAsc = 'publishTimeAsc'
publishTimeDesc = 'publishTimeDesc'
class TestFiles(BaseModel):
filesOrderBySize: List[str]
class TimeOfDayDto(BaseModel):
hour: int
minute: int
class TimesInStagesDto(BaseModel):
awake: float = Field(
..., description='Time in awake stage (wakefulness after sleep onset)'
)
deep: float = Field(..., description='Time in deep stage')
light: float = Field(..., description='Time in light stage')
rem: float = Field(..., description='Time in REM stage')
class TimezoneIanaEnum(Enum):
Africa_Abidjan = 'Africa/Abidjan'
Africa_Accra = 'Africa/Accra'
Africa_Addis_Ababa = 'Africa/Addis_Ababa'
Africa_Algiers = 'Africa/Algiers'
Africa_Asmera = 'Africa/Asmera'
Africa_Bamako = 'Africa/Bamako'
Africa_Bangui = 'Africa/Bangui'
Africa_Banjul = 'Africa/Banjul'
Africa_Bissau = 'Africa/Bissau'
Africa_Blantyre = 'Africa/Blantyre'
Africa_Brazzaville = 'Africa/Brazzaville'
Africa_Bujumbura = 'Africa/Bujumbura'
Africa_Cairo = 'Africa/Cairo'
Africa_Casablanca = 'Africa/Casablanca'
Africa_Ceuta = 'Africa/Ceuta'
Africa_Conakry = 'Africa/Conakry'
Africa_Dakar = 'Africa/Dakar'
Africa_Dar_es_Salaam = 'Africa/Dar_es_Salaam'
Africa_Djibouti = 'Africa/Djibouti'
Africa_Douala = 'Africa/Douala'
Africa_El_Aaiun = 'Africa/El_Aaiun'
Africa_Freetown = 'Africa/Freetown'
Africa_Gaborone = 'Africa/Gaborone'
Africa_Harare = 'Africa/Harare'
Africa_Johannesburg = 'Africa/Johannesburg'
Africa_Juba = 'Africa/Juba'
Africa_Kampala = 'Africa/Kampala'
Africa_Khartoum = 'Africa/Khartoum'
Africa_Kigali = 'Africa/Kigali'
Africa_Kinshasa = 'Africa/Kinshasa'
Africa_Lagos = 'Africa/Lagos'
Africa_Libreville = 'Africa/Libreville'
Africa_Lome = 'Africa/Lome'
Africa_Luanda = 'Africa/Luanda'
Africa_Lubumbashi = 'Africa/Lubumbashi'
Africa_Lusaka = 'Africa/Lusaka'
Africa_Malabo = 'Africa/Malabo'
Africa_Maputo = 'Africa/Maputo'
Africa_Maseru = 'Africa/Maseru'
Africa_Mbabane = 'Africa/Mbabane'
Africa_Mogadishu = 'Africa/Mogadishu'
Africa_Monrovia = 'Africa/Monrovia'
Africa_Nairobi = 'Africa/Nairobi'
Africa_Ndjamena = 'Africa/Ndjamena'
Africa_Niamey = 'Africa/Niamey'
Africa_Nouakchott = 'Africa/Nouakchott'
Africa_Ouagadougou = 'Africa/Ouagadougou'
Africa_Porto_Novo = 'Africa/Porto-Novo'
Africa_Sao_Tome = 'Africa/Sao_Tome'
Africa_Tripoli = 'Africa/Tripoli'
Africa_Tunis = 'Africa/Tunis'
Africa_Windhoek = 'Africa/Windhoek'
America_Anchorage = 'America/Anchorage'
America_Anguilla = 'America/Anguilla'
America_Antigua = 'America/Antigua'
America_Araguaina = 'America/Araguaina'
America_Argentina_La_Rioja = 'America/Argentina/La_Rioja'
America_Argentina_Rio_Gallegos = 'America/Argentina/Rio_Gallegos'
America_Argentina_Salta = 'America/Argentina/Salta'
America_Argentina_San_Juan = 'America/Argentina/San_Juan'
America_Argentina_San_Luis = 'America/Argentina/San_Luis'
America_Argentina_Tucuman = 'America/Argentina/Tucuman'
America_Argentina_Ushuaia = 'America/Argentina/Ushuaia'
America_Aruba = 'America/Aruba'
America_Asuncion = 'America/Asuncion'
America_Bahia = 'America/Bahia'
America_Bahia_Banderas = 'America/Bahia_Banderas'
America_Barbados = 'America/Barbados'
America_Belem = 'America/Belem'
America_Belize = 'America/Belize'
America_Blanc_Sablon = 'America/Blanc-Sablon'
America_Boa_Vista = 'America/Boa_Vista'
America_Bogota = 'America/Bogota'
America_Boise = 'America/Boise'
America_Buenos_Aires = 'America/Buenos_Aires'
America_Cambridge_Bay = 'America/Cambridge_Bay'
America_Campo_Grande = 'America/Campo_Grande'
America_Cancun = 'America/Cancun'
America_Caracas = 'America/Caracas'
America_Catamarca = 'America/Catamarca'
America_Cayenne = 'America/Cayenne'
America_Cayman = 'America/Cayman'
America_Chicago = 'America/Chicago'
America_Chihuahua = 'America/Chihuahua'
America_Coral_Harbour = 'America/Coral_Harbour'
America_Cordoba = 'America/Cordoba'
America_Costa_Rica = 'America/Costa_Rica'
America_Creston = 'America/Creston'
America_Cuiaba = 'America/Cuiaba'
America_Curacao = 'America/Curacao'
America_Danmarkshavn = 'America/Danmarkshavn'
America_Dawson = 'America/Dawson'
America_Dawson_Creek = 'America/Dawson_Creek'
America_Denver = 'America/Denver'
America_Detroit = 'America/Detroit'
America_Dominica = 'America/Dominica'
America_Edmonton = 'America/Edmonton'
America_Eirunepe = 'America/Eirunepe'
America_El_Salvador = 'America/El_Salvador'
America_Fortaleza = 'America/Fortaleza'
America_Glace_Bay = 'America/Glace_Bay'
America_Godthab = 'America/Godthab'
America_Goose_Bay = 'America/Goose_Bay'
America_Grand_Turk = 'America/Grand_Turk'
America_Grenada = 'America/Grenada'
America_Guadeloupe = 'America/Guadeloupe'
America_Guatemala = 'America/Guatemala'
America_Guayaquil = 'America/Guayaquil'
America_Guyana = 'America/Guyana'
America_Halifax = 'America/Halifax'
America_Havana = 'America/Havana'
America_Hermosillo = 'America/Hermosillo'
America_Indiana_Knox = 'America/Indiana/Knox'
America_Indiana_Marengo = 'America/Indiana/Marengo'
America_Indiana_Petersburg = 'America/Indiana/Petersburg'
America_Indiana_Tell_City = 'America/Indiana/Tell_City'
America_Indiana_Vevay = 'America/Indiana/Vevay'
America_Indiana_Vincennes = 'America/Indiana/Vincennes'
America_Indiana_Winamac = 'America/Indiana/Winamac'
America_Indianapolis = 'America/Indianapolis'
America_Inuvik = 'America/Inuvik'
America_Iqaluit = 'America/Iqaluit'
America_Jamaica = 'America/Jamaica'
America_Jujuy = 'America/Jujuy'
America_Juneau = 'America/Juneau'
America_Kentucky_Monticello = 'America/Kentucky/Monticello'
America_Kralendijk = 'America/Kralendijk'
America_La_Paz = 'America/La_Paz'
America_Lima = 'America/Lima'
America_Los_Angeles = 'America/Los_Angeles'
America_Louisville = 'America/Louisville'
America_Lower_Princes = 'America/Lower_Princes'
America_Maceio = 'America/Maceio'
America_Managua = 'America/Managua'
America_Manaus = 'America/Manaus'
America_Marigot = 'America/Marigot'
America_Martinique = 'America/Martinique'
America_Matamoros = 'America/Matamoros'
America_Mazatlan = 'America/Mazatlan'
America_Mendoza = 'America/Mendoza'
America_Menominee = 'America/Menominee'
America_Merida = 'America/Merida'
America_Mexico_City = 'America/Mexico_City'
America_Moncton = 'America/Moncton'
America_Monterrey = 'America/Monterrey'
America_Montevideo = 'America/Montevideo'
America_Montreal = 'America/Montreal'
America_Montserrat = 'America/Montserrat'
America_Nassau = 'America/Nassau'
America_New_York = 'America/New_York'
America_Nipigon = 'America/Nipigon'
America_Nome = 'America/Nome'
America_Noronha = 'America/Noronha'
America_North_Dakota_Beulah = 'America/North_Dakota/Beulah'
America_North_Dakota_Center = 'America/North_Dakota/Center'
America_North_Dakota_New_Salem = 'America/North_Dakota/New_Salem'
America_Ojinaga = 'America/Ojinaga'
America_Panama = 'America/Panama'
America_Pangnirtung = 'America/Pangnirtung'
America_Paramaribo = 'America/Paramaribo'
America_Phoenix = 'America/Phoenix'
America_Port_au_Prince = 'America/Port-au-Prince'
America_Port_of_Spain = 'America/Port_of_Spain'
America_Porto_Velho = 'America/Porto_Velho'
America_Puerto_Rico = 'America/Puerto_Rico'
America_Rainy_River = 'America/Rainy_River'
America_Rankin_Inlet = 'America/Rankin_Inlet'
America_Recife = 'America/Recife'
America_Regina = 'America/Regina'
America_Resolute = 'America/Resolute'
America_Rio_Branco = 'America/Rio_Branco'
America_Santarem = 'America/Santarem'
America_Santiago = 'America/Santiago'
America_Santo_Domingo = 'America/Santo_Domingo'
America_Sao_Paulo = 'America/Sao_Paulo'
America_Scoresbysund = 'America/Scoresbysund'
America_Sitka = 'America/Sitka'
America_St_Barthelemy = 'America/St_Barthelemy'
America_St_Johns = 'America/St_Johns'
America_St_Kitts = 'America/St_Kitts'
America_St_Lucia = 'America/St_Lucia'
America_St_Thomas = 'America/St_Thomas'
America_St_Vincent = 'America/St_Vincent'
America_Swift_Current = 'America/Swift_Current'
America_Tegucigalpa = 'America/Tegucigalpa'
America_Thule = 'America/Thule'
America_Thunder_Bay = 'America/Thunder_Bay'
America_Tijuana = 'America/Tijuana'
America_Toronto = 'America/Toronto'
America_Tortola = 'America/Tortola'
America_Vancouver = 'America/Vancouver'
America_Whitehorse = 'America/Whitehorse'
America_Winnipeg = 'America/Winnipeg'
America_Yakutat = 'America/Yakutat'
America_Yellowknife = 'America/Yellowknife'
Antarctica_Casey = 'Antarctica/Casey'
Antarctica_Davis = 'Antarctica/Davis'
Antarctica_DumontDUrville = 'Antarctica/DumontDUrville'
Antarctica_Macquarie = 'Antarctica/Macquarie'
Antarctica_Mawson = 'Antarctica/Mawson'
Antarctica_McMurdo = 'Antarctica/McMurdo'
Antarctica_Palmer = 'Antarctica/Palmer'
Antarctica_Rothera = 'Antarctica/Rothera'
Antarctica_Syowa = 'Antarctica/Syowa'
Antarctica_Vostok = 'Antarctica/Vostok'
Arctic_Longyearbyen = 'Arctic/Longyearbyen'
Asia_Aden = 'Asia/Aden'
Asia_Almaty = 'Asia/Almaty'
Asia_Amman = 'Asia/Amman'
Asia_Anadyr = 'Asia/Anadyr'
Asia_Aqtau = 'Asia/Aqtau'
Asia_Aqtobe = 'Asia/Aqtobe'
Asia_Ashgabat = 'Asia/Ashgabat'
Asia_Baghdad = 'Asia/Baghdad'
Asia_Bahrain = 'Asia/Bahrain'
Asia_Baku = 'Asia/Baku'
Asia_Bangkok = 'Asia/Bangkok'
Asia_Beirut = 'Asia/Beirut'
Asia_Bishkek = 'Asia/Bishkek'
Asia_Brunei = 'Asia/Brunei'
Asia_Calcutta = 'Asia/Calcutta'
Asia_Chita = 'Asia/Chita'
Asia_Choibalsan = 'Asia/Choibalsan'
Asia_Colombo = 'Asia/Colombo'
Asia_Damascus = 'Asia/Damascus'
Asia_Dhaka = 'Asia/Dhaka'
Asia_Dili = 'Asia/Dili'
Asia_Dubai = 'Asia/Dubai'
Asia_Dushanbe = 'Asia/Dushanbe'
Asia_Hong_Kong = 'Asia/Hong_Kong'
Asia_Hovd = 'Asia/Hovd'
Asia_Irkutsk = 'Asia/Irkutsk'
Asia_Jakarta = 'Asia/Jakarta'
Asia_Jayapura = 'Asia/Jayapura'
Asia_Jerusalem = 'Asia/Jerusalem'
Asia_Kabul = 'Asia/Kabul'
Asia_Kamchatka = 'Asia/Kamchatka'
Asia_Karachi = 'Asia/Karachi'
Asia_Kathmandu = 'Asia/Kathmandu'
Asia_Khandyga = 'Asia/Khandyga'
Asia_Kolkata = 'Asia/Kolkata'
Asia_Krasnoyarsk = 'Asia/Krasnoyarsk'
Asia_Kuala_Lumpur = 'Asia/Kuala_Lumpur'
Asia_Kuching = 'Asia/Kuching'
Asia_Kuwait = 'Asia/Kuwait'
Asia_Macau = 'Asia/Macau'
Asia_Magadan = 'Asia/Magadan'
Asia_Makassar = 'Asia/Makassar'
Asia_Manila = 'Asia/Manila'
Asia_Muscat = 'Asia/Muscat'
Asia_Nicosia = 'Asia/Nicosia'
Asia_Novokuznetsk = 'Asia/Novokuznetsk'
Asia_Novosibirsk = 'Asia/Novosibirsk'
Asia_Omsk = 'Asia/Omsk'
Asia_Oral = 'Asia/Oral'
Asia_Phnom_Penh = 'Asia/Phnom_Penh'
Asia_Pontianak = 'Asia/Pontianak'
Asia_Pyongyang = 'Asia/Pyongyang'
Asia_Qatar = 'Asia/Qatar'
Asia_Qyzylorda = 'Asia/Qyzylorda'
Asia_Rangoon = 'Asia/Rangoon'
Asia_Riyadh = 'Asia/Riyadh'
Asia_Saigon = 'Asia/Saigon'
Asia_Sakhalin = 'Asia/Sakhalin'
Asia_Samarkand = 'Asia/Samarkand'
Asia_Seoul = 'Asia/Seoul'
Asia_Shanghai = 'Asia/Shanghai'
Asia_Singapore = 'Asia/Singapore'
Asia_Srednekolymsk = 'Asia/Srednekolymsk'
Asia_Taipei = 'Asia/Taipei'
Asia_Tashkent = 'Asia/Tashkent'
Asia_Tbilisi = 'Asia/Tbilisi'
Asia_Tehran = 'Asia/Tehran'
Asia_Thimphu = 'Asia/Thimphu'
Asia_Tokyo = 'Asia/Tokyo'
Asia_Ulaanbaatar = 'Asia/Ulaanbaatar'
Asia_Urumqi = 'Asia/Urumqi'
Asia_Ust_Nera = 'Asia/Ust-Nera'
Asia_Vientiane = 'Asia/Vientiane'
Asia_Vladivostok = 'Asia/Vladivostok'
Asia_Yakutsk = 'Asia/Yakutsk'
Asia_Yekaterinburg = 'Asia/Yekaterinburg'
Asia_Yerevan = 'Asia/Yerevan'
Atlantic_Azores = 'Atlantic/Azores'
Atlantic_Bermuda = 'Atlantic/Bermuda'
Atlantic_Canary = 'Atlantic/Canary'
Atlantic_Cape_Verde = 'Atlantic/Cape_Verde'
Atlantic_Faeroe = 'Atlantic/Faeroe'
Atlantic_Madeira = 'Atlantic/Madeira'
Atlantic_Reykjavik = 'Atlantic/Reykjavik'
Atlantic_South_Georgia = 'Atlantic/South_Georgia'
Atlantic_St_Helena = 'Atlantic/St_Helena'
Atlantic_Stanley = 'Atlantic/Stanley'
Australia_Adelaide = 'Australia/Adelaide'
Australia_Brisbane = 'Australia/Brisbane'
Australia_Broken_Hill = 'Australia/Broken_Hill'
Australia_Currie = 'Australia/Currie'
Australia_Darwin = 'Australia/Darwin'
Australia_Hobart = 'Australia/Hobart'
Australia_Lindeman = 'Australia/Lindeman'
Australia_Melbourne = 'Australia/Melbourne'
Australia_Perth = 'Australia/Perth'
Australia_Sydney = 'Australia/Sydney'
CST6CDT = 'CST6CDT'
EST5EDT = 'EST5EDT'
Etc_GMT = 'Etc/GMT'
Etc_GMT_1 = 'Etc/GMT+1'
Etc_GMT_10 = 'Etc/GMT+10'
Etc_GMT_11 = 'Etc/GMT+11'
Etc_GMT_12 = 'Etc/GMT+12'
Etc_GMT_2 = 'Etc/GMT+2'
Etc_GMT_3 = 'Etc/GMT+3'
Etc_GMT_4 = 'Etc/GMT+4'
Etc_GMT_5 = 'Etc/GMT+5'
Etc_GMT_6 = 'Etc/GMT+6'
Etc_GMT_7 = 'Etc/GMT+7'
Etc_GMT_1_1 = 'Etc/GMT-1'
Etc_GMT_10_1 = 'Etc/GMT-10'
Etc_GMT_11_1 = 'Etc/GMT-11'
Etc_GMT_12_1 = 'Etc/GMT-12'
Etc_GMT_13 = 'Etc/GMT-13'
Etc_GMT_2_1 = 'Etc/GMT-2'
Etc_GMT_3_1 = 'Etc/GMT-3'
Etc_GMT_4_1 = 'Etc/GMT-4'
Etc_GMT_5_1 = 'Etc/GMT-5'
Etc_GMT_6_1 = 'Etc/GMT-6'
Etc_GMT_7_1 = 'Etc/GMT-7'
Etc_GMT_8 = 'Etc/GMT-8'
Etc_GMT_9 = 'Etc/GMT-9'
Europe_Amsterdam = 'Europe/Amsterdam'
Europe_Andorra = 'Europe/Andorra'
Europe_Astrakhan = 'Europe/Astrakhan'
Europe_Athens = 'Europe/Athens'
Europe_Belgrade = 'Europe/Belgrade'
Europe_Berlin = 'Europe/Berlin'
Europe_Bratislava = 'Europe/Bratislava'
Europe_Brussels = 'Europe/Brussels'
Europe_Bucharest = 'Europe/Bucharest'
Europe_Budapest = 'Europe/Budapest'
Europe_Busingen = 'Europe/Busingen'
Europe_Chisinau = 'Europe/Chisinau'
Europe_Copenhagen = 'Europe/Copenhagen'
Europe_Dublin = 'Europe/Dublin'
Europe_Gibraltar = 'Europe/Gibraltar'
Europe_Guernsey = 'Europe/Guernsey'
Europe_Helsinki = 'Europe/Helsinki'
Europe_Isle_of_Man = 'Europe/Isle_of_Man'
Europe_Istanbul = 'Europe/Istanbul'
Europe_Jersey = 'Europe/Jersey'
Europe_Kaliningrad = 'Europe/Kaliningrad'
Europe_Kiev = 'Europe/Kiev'
Europe_Kyiv = 'Europe/Kyiv'
Europe_Kirov = 'Europe/Kirov'
Europe_Lisbon = 'Europe/Lisbon'
Europe_Ljubljana = 'Europe/Ljubljana'
Europe_London = 'Europe/London'
Europe_Luxembourg = 'Europe/Luxembourg'
Europe_Madrid = 'Europe/Madrid'
Europe_Malta = 'Europe/Malta'
Europe_Mariehamn = 'Europe/Mariehamn'
Europe_Minsk = 'Europe/Minsk'
Europe_Monaco = 'Europe/Monaco'
Europe_Moscow = 'Europe/Moscow'
Europe_Nicosia = 'Europe/Nicosia'
Europe_Oslo = 'Europe/Oslo'
Europe_Paris = 'Europe/Paris'
Europe_Podgorica = 'Europe/Podgorica'
Europe_Prague = 'Europe/Prague'
Europe_Riga = 'Europe/Riga'
Europe_Rome = 'Europe/Rome'
Europe_Samara = 'Europe/Samara'
Europe_San_Marino = 'Europe/San_Marino'
Europe_Sarajevo = 'Europe/Sarajevo'
Europe_Simferopol = 'Europe/Simferopol'
Europe_Skopje = 'Europe/Skopje'
Europe_Sofia = 'Europe/Sofia'
Europe_Stockholm = 'Europe/Stockholm'
Europe_Tallinn = 'Europe/Tallinn'
Europe_Tirane = 'Europe/Tirane'
Europe_Ulyanovsk = 'Europe/Ulyanovsk'
Europe_Uzhgorod = 'Europe/Uzhgorod'
Europe_Vaduz = 'Europe/Vaduz'
Europe_Vatican = 'Europe/Vatican'
Europe_Vienna = 'Europe/Vienna'
Europe_Vilnius = 'Europe/Vilnius'
Europe_Volgograd = 'Europe/Volgograd'
Europe_Warsaw = 'Europe/Warsaw'
Europe_Zagreb = 'Europe/Zagreb'
Europe_Zaporozhye = 'Europe/Zaporozhye'
Europe_Zurich = 'Europe/Zurich'
Indian_Antananarivo = 'Indian/Antananarivo'
Indian_Chagos = 'Indian/Chagos'
Indian_Christmas = 'Indian/Christmas'
Indian_Cocos = 'Indian/Cocos'
Indian_Comoro = 'Indian/Comoro'
Indian_Kerguelen = 'Indian/Kerguelen'
Indian_Mahe = 'Indian/Mahe'
Indian_Maldives = 'Indian/Maldives'
Indian_Mauritius = 'Indian/Mauritius'
Indian_Mayotte = 'Indian/Mayotte'
Indian_Reunion = 'Indian/Reunion'
MST7MDT = 'MST7MDT'
PST8PDT = 'PST8PDT'
Pacific_Apia = 'Pacific/Apia'
Pacific_Auckland = 'Pacific/Auckland'
Pacific_Efate = 'Pacific/Efate'
Pacific_Enderbury = 'Pacific/Enderbury'
Pacific_Fakaofo = 'Pacific/Fakaofo'
Pacific_Fiji = 'Pacific/Fiji'
Pacific_Funafuti = 'Pacific/Funafuti'
Pacific_Galapagos = 'Pacific/Galapagos'
Pacific_Guadalcanal = 'Pacific/Guadalcanal'
Pacific_Guam = 'Pacific/Guam'
Pacific_Honolulu = 'Pacific/Honolulu'
Pacific_Johnston = 'Pacific/Johnston'
Pacific_Kosrae = 'Pacific/Kosrae'
Pacific_Kwajalein = 'Pacific/Kwajalein'
Pacific_Majuro = 'Pacific/Majuro'
Pacific_Midway = 'Pacific/Midway'
Pacific_Nauru = 'Pacific/Nauru'
Pacific_Niue = 'Pacific/Niue'
Pacific_Noumea = 'Pacific/Noumea'
Pacific_Pago_Pago = 'Pacific/Pago_Pago'
Pacific_Palau = 'Pacific/Palau'
Pacific_Ponape = 'Pacific/Ponape'
Pacific_Port_Moresby = 'Pacific/Port_Moresby'
Pacific_Rarotonga = 'Pacific/Rarotonga'
Pacific_Saipan = 'Pacific/Saipan'
Pacific_Tahiti = 'Pacific/Tahiti'
Pacific_Tarawa = 'Pacific/Tarawa'
Pacific_Tongatapu = 'Pacific/Tongatapu'
Pacific_Truk = 'Pacific/Truk'
Pacific_Wake = 'Pacific/Wake'
Pacific_Wallis = 'Pacific/Wallis'
US_Alaska = 'US/Alaska'
US_Aleutian = 'US/Aleutian'
US_Arizona = 'US/Arizona'
US_Central = 'US/Central'
US_Eastern = 'US/Eastern'
US_East_Indiana = 'US/East=Indiana'
US_Hawaii = 'US/Hawaii'
US_Indiana_Starke = 'US/Indiana-Starke'
US_Michigan = 'US/Michigan'
US_Mountain = 'US/Mountain'
US_Pacific = 'US/Pacific'
US_Samoa = 'US/Samoa'
class TokenDto(BaseModel):
accessToken: str = Field(
...,
description='Token used for accessing all protected resources, it should have `mobile` or `hardware` and `stream` scopes assigned.',
)
refreshToken: str = Field(
...,
description='Refresh token used for refreshing the current token that has expired. Used to authorize on `/auth/refreshTokens` endpoint.',
)
streamToken: str = Field(
...,
description='Token used for accessing protected resources only related with streaming data.',
)
class TotalLikesDto(BaseModel):
count: float
id: IdentifierDto
class Type16(Enum):
TRACK_TYPE_UNSPECIFIED = 0
TRACK = 1
PODCAST = 2
AUDIOBOOK = 3
ALARM = 4
class TrackMetricsDto(BaseModel):
fallAsleep: Optional[int] = None
likes: Optional[int] = None
plays: Optional[int] = None
class Status(Enum):
healthy = 'healthy'
down = 'down'
class UpDto(BaseModel):
message: Optional[str] = None
status: Status
class UpdateFirmwareVersionDto(BaseModel):
beta: Optional[bool] = Field(None, examples=[True])
releaseNotes: Optional[str] = Field(None, examples=['Release note for version'])
class UpdateUserDto(BaseModel):
timezone: str = Field(
..., description='IANA time zone as string', examples=['Etc/GMT']
)
class UserDto(BaseModel):
email: Optional[str] = None
id: str
newsletterSubscribed: bool
previouslyPairedCase: bool
timezone: str = Field(
..., description='IANA time zone as string', examples=['Etc/GMT']
)
class VpnClientConfigDto(BaseModel):
clientIp: str = Field(..., examples=['10.0.0.2'])
enabled: bool = Field(..., description='Client enabled', examples=[False])
outboundPort: float = Field(..., description='Outgoing port', examples=[51820])
privateKey: str = Field(..., description='Client private key')
class VpnClientUpdateDto(BaseModel):
clientIp: Optional[str] = Field(None, examples=['10.0.0.2'])
enabled: Optional[bool] = Field(
None, description='Client enabled', examples=[False]
)
outboundPort: Optional[float] = Field(
None, description='Outgoing port', examples=[51820]
)
privateKey: Optional[str] = Field(None, description='Client private key')
class VpnServerConfigDto(BaseModel):
host: str = Field(..., description='VPN server url', examples=['hwvpn.sond.com'])
keepAlive: float = Field(
..., description='Keep connection alive time', examples=[10]
)
port: float = Field(..., description='VPN server port', examples=[51820])
publicKey: str = Field(..., description='Server PublicKey')
subnetMask: str = Field(
..., description='VPN subnet mask', examples=['255.255.255.0']
)
class WifiAssistantConfigDto(BaseModel):
dnsOverride: Optional[str] = Field(
None, description='DNS override', examples=['8.8.8.8']
)
lowRSSI: float = Field(..., description='Low RSSI', examples=[-85])
preloadTicks: float = Field(..., description='Preload ticks', examples=[100])
thresholdPercent: float = Field(
..., description='Threshold percent, 0 turns off the mechanism', examples=[70]
)
thresholdTicks: float = Field(..., description='Thicks threshold', examples=[15])
underrunRSSI: float = Field(..., description='Underrun RSSI', examples=[-68])
class WifiAssistantConfigUpdateDto(BaseModel):
dnsOverride: Optional[str] = Field(
None, description='DNS override', examples=['8.8.8.8']
)
lowRSSI: Optional[float] = Field(None, description='Low RSSI', examples=[-85])
preloadTicks: Optional[float] = Field(
None, description='Preload ticks', examples=[100]
)
thresholdPercent: Optional[float] = Field(
None, description='Threshold percent, 0 turns off the mechanism', examples=[70]
)
thresholdTicks: Optional[float] = Field(
None, description='Thicks threshold', examples=[15]
)
underrunRSSI: Optional[float] = Field(
None, description='Underrun RSSI', examples=[-68]
)
class AdminDevicesGetResponse(RootModel[List[DeviceWithUserIdDetailsDto]]):
root: List[DeviceWithUserIdDetailsDto]
class AdminDevicesByMacAddressMacAddressGetResponse(
RootModel[List[DeviceWithUserIdDetailsDto]]
):
root: List[DeviceWithUserIdDetailsDto]
class AdminFirmwareVersionsGetResponse(
RootModel[List[FirmwareVersionWithReleaseNotesDto]]
):
root: List[FirmwareVersionWithReleaseNotesDto]
class AssistantBiosignalsGetResponse(RootModel[List[BiosignalsDto]]):
root: List[BiosignalsDto]
class AssistantUsersUserIdSleepPlansGetResponse(
RootModel[List[SleepPlanAssistantWithoutTracksDto]]
):
root: List[SleepPlanAssistantWithoutTracksDto]
class DocsGetResponse(RootModel[List[DocDto]]):
root: List[DocDto]
class Type17(Enum):
privacyPolicy = 'privacyPolicy'
termsOfConditions = 'termsOfConditions'
class Source2(Enum):
number_1 = 1
number_2 = 2
number_3 = 3
class HwFirmwareVersionsGetResponse(RootModel[List[FirmwareVersionDto]]):
root: List[FirmwareVersionDto]
class HwSleepPlansGetResponse(RootModel[List[SleepPlanHwWithoutTracksDto]]):
root: List[SleepPlanHwWithoutTracksDto]
class HwTestAppFirmwareVersionsGetResponse(
RootModel[List[FirmwareVersionWithReleaseNotesDto]]
):
root: List[FirmwareVersionWithReleaseNotesDto]
class MobileAssistantBiosignalsGetResponse(
RootModel[List[FirmwareVersionWithReleaseNotesDto]]
):
root: List[FirmwareVersionWithReleaseNotesDto]
class ContentType(Enum):
collection = 'collection'
class MobileFirmwareVersionsGetResponse(
RootModel[List[FirmwareVersionWithReleaseNotesDto]]
):
root: List[FirmwareVersionWithReleaseNotesDto]
class MobileHwAuthorizationsGetResponse(RootModel[List[DeviceDetailsDto]]):
root: List[DeviceDetailsDto]
class Type19(Enum):
whatsNew = 'whatsNew'
recommended = 'recommended'
mightAlsoLike = 'mightAlsoLike'
recentlyPlayed = 'recentlyPlayed'
class BiosignalsType(Enum):
hr = 'hr'
rr = 'rr'
hrv = 'hrv'
class Source12(Enum):
apple = 'apple'
class Resolution(Enum):
day = 'day'
week = 'week'
month = 'month'
quarter = 'quarter'
year = 'year'
class Source13(Enum):
number_1 = 1
number_2 = 2
number_3 = 3
class MobileSleepPlanTracksGetResponse(RootModel[List[SleepPlanTrackMapDto]]):
root: List[SleepPlanTrackMapDto]
class MobileSleepPlanTracksSleepPlanIdPhasePhaseDeleteResponse(
RootModel[List[SleepPlanTrackMapDto]]
):
root: List[SleepPlanTrackMapDto]
class Phase(Enum):
number_0 = 0
number_1 = 1
number_2 = 2
number_3 = 3
class MobileSleepPlanTracksSleepPlanIdPhasePhasePostResponse(
RootModel[List[SleepPlanTrackMapDto]]
):
root: List[SleepPlanTrackMapDto]
class MobileSleepPlanTracksSleepPlanIdReplaceMaskingSoundPutResponse(
RootModel[List[SleepPlanTrackMapDto]]
):
root: List[SleepPlanTrackMapDto]
class IanaTz(Enum):
Africa_Abidjan = 'Africa/Abidjan'
Africa_Accra = 'Africa/Accra'
Africa_Addis_Ababa = 'Africa/Addis_Ababa'
Africa_Algiers = 'Africa/Algiers'
Africa_Asmera = 'Africa/Asmera'
Africa_Bamako = 'Africa/Bamako'
Africa_Bangui = 'Africa/Bangui'
Africa_Banjul = 'Africa/Banjul'
Africa_Bissau = 'Africa/Bissau'
Africa_Blantyre = 'Africa/Blantyre'
Africa_Brazzaville = 'Africa/Brazzaville'
Africa_Bujumbura = 'Africa/Bujumbura'
Africa_Cairo = 'Africa/Cairo'
Africa_Casablanca = 'Africa/Casablanca'
Africa_Ceuta = 'Africa/Ceuta'
Africa_Conakry = 'Africa/Conakry'
Africa_Dakar = 'Africa/Dakar'
Africa_Dar_es_Salaam = 'Africa/Dar_es_Salaam'
Africa_Djibouti = 'Africa/Djibouti'
Africa_Douala = 'Africa/Douala'
Africa_El_Aaiun = 'Africa/El_Aaiun'
Africa_Freetown = 'Africa/Freetown'
Africa_Gaborone = 'Africa/Gaborone'
Africa_Harare = 'Africa/Harare'
Africa_Johannesburg = 'Africa/Johannesburg'
Africa_Juba = 'Africa/Juba'
Africa_Kampala = 'Africa/Kampala'
Africa_Khartoum = 'Africa/Khartoum'
Africa_Kigali = 'Africa/Kigali'
Africa_Kinshasa = 'Africa/Kinshasa'
Africa_Lagos = 'Africa/Lagos'
Africa_Libreville = 'Africa/Libreville'
Africa_Lome = 'Africa/Lome'
Africa_Luanda = 'Africa/Luanda'
Africa_Lubumbashi = 'Africa/Lubumbashi'
Africa_Lusaka = 'Africa/Lusaka'
Africa_Malabo = 'Africa/Malabo'
Africa_Maputo = 'Africa/Maputo'
Africa_Maseru = 'Africa/Maseru'
Africa_Mbabane = 'Africa/Mbabane'
Africa_Mogadishu = 'Africa/Mogadishu'
Africa_Monrovia = 'Africa/Monrovia'
Africa_Nairobi = 'Africa/Nairobi'
Africa_Ndjamena = 'Africa/Ndjamena'
Africa_Niamey = 'Africa/Niamey'
Africa_Nouakchott = 'Africa/Nouakchott'
Africa_Ouagadougou = 'Africa/Ouagadougou'
Africa_Porto_Novo = 'Africa/Porto-Novo'
Africa_Sao_Tome = 'Africa/Sao_Tome'
Africa_Tripoli = 'Africa/Tripoli'
Africa_Tunis = 'Africa/Tunis'
Africa_Windhoek = 'Africa/Windhoek'
America_Anchorage = 'America/Anchorage'
America_Anguilla = 'America/Anguilla'
America_Antigua = 'America/Antigua'
America_Araguaina = 'America/Araguaina'
America_Argentina_La_Rioja = 'America/Argentina/La_Rioja'
America_Argentina_Rio_Gallegos = 'America/Argentina/Rio_Gallegos'
America_Argentina_Salta = 'America/Argentina/Salta'
America_Argentina_San_Juan = 'America/Argentina/San_Juan'
America_Argentina_San_Luis = 'America/Argentina/San_Luis'
America_Argentina_Tucuman = 'America/Argentina/Tucuman'
America_Argentina_Ushuaia = 'America/Argentina/Ushuaia'
America_Aruba = 'America/Aruba'
America_Asuncion = 'America/Asuncion'
America_Bahia = 'America/Bahia'
America_Bahia_Banderas = 'America/Bahia_Banderas'
America_Barbados = 'America/Barbados'
America_Belem = 'America/Belem'
America_Belize = 'America/Belize'
America_Blanc_Sablon = 'America/Blanc-Sablon'
America_Boa_Vista = 'America/Boa_Vista'
America_Bogota = 'America/Bogota'
America_Boise = 'America/Boise'
America_Buenos_Aires = 'America/Buenos_Aires'
America_Cambridge_Bay = 'America/Cambridge_Bay'
America_Campo_Grande = 'America/Campo_Grande'
America_Cancun = 'America/Cancun'
America_Caracas = 'America/Caracas'
America_Catamarca = 'America/Catamarca'
America_Cayenne = 'America/Cayenne'
America_Cayman = 'America/Cayman'
America_Chicago = 'America/Chicago'
America_Chihuahua = 'America/Chihuahua'
America_Coral_Harbour = 'America/Coral_Harbour'
America_Cordoba = 'America/Cordoba'
America_Costa_Rica = 'America/Costa_Rica'
America_Creston = 'America/Creston'
America_Cuiaba = 'America/Cuiaba'
America_Curacao = 'America/Curacao'
America_Danmarkshavn = 'America/Danmarkshavn'
America_Dawson = 'America/Dawson'
America_Dawson_Creek = 'America/Dawson_Creek'
America_Denver = 'America/Denver'
America_Detroit = 'America/Detroit'
America_Dominica = 'America/Dominica'
America_Edmonton = 'America/Edmonton'
America_Eirunepe = 'America/Eirunepe'
America_El_Salvador = 'America/El_Salvador'
America_Fortaleza = 'America/Fortaleza'
America_Glace_Bay = 'America/Glace_Bay'
America_Godthab = 'America/Godthab'
America_Goose_Bay = 'America/Goose_Bay'
America_Grand_Turk = 'America/Grand_Turk'
America_Grenada = 'America/Grenada'
America_Guadeloupe = 'America/Guadeloupe'
America_Guatemala = 'America/Guatemala'
America_Guayaquil = 'America/Guayaquil'
America_Guyana = 'America/Guyana'
America_Halifax = 'America/Halifax'
America_Havana = 'America/Havana'
America_Hermosillo = 'America/Hermosillo'
America_Indiana_Knox = 'America/Indiana/Knox'
America_Indiana_Marengo = 'America/Indiana/Marengo'
America_Indiana_Petersburg = 'America/Indiana/Petersburg'
America_Indiana_Tell_City = 'America/Indiana/Tell_City'
America_Indiana_Vevay = 'America/Indiana/Vevay'
America_Indiana_Vincennes = 'America/Indiana/Vincennes'
America_Indiana_Winamac = 'America/Indiana/Winamac'
America_Indianapolis = 'America/Indianapolis'
America_Inuvik = 'America/Inuvik'
America_Iqaluit = 'America/Iqaluit'
America_Jamaica = 'America/Jamaica'
America_Jujuy = 'America/Jujuy'
America_Juneau = 'America/Juneau'
America_Kentucky_Monticello = 'America/Kentucky/Monticello'
America_Kralendijk = 'America/Kralendijk'
America_La_Paz = 'America/La_Paz'
America_Lima = 'America/Lima'
America_Los_Angeles = 'America/Los_Angeles'
America_Louisville = 'America/Louisville'
America_Lower_Princes = 'America/Lower_Princes'
America_Maceio = 'America/Maceio'
America_Managua = 'America/Managua'
America_Manaus = 'America/Manaus'
America_Marigot = 'America/Marigot'
America_Martinique = 'America/Martinique'
America_Matamoros = 'America/Matamoros'
America_Mazatlan = 'America/Mazatlan'
America_Mendoza = 'America/Mendoza'
America_Menominee = 'America/Menominee'
America_Merida = 'America/Merida'
America_Mexico_City = 'America/Mexico_City'
America_Moncton = 'America/Moncton'
America_Monterrey = 'America/Monterrey'
America_Montevideo = 'America/Montevideo'
America_Montreal = 'America/Montreal'
America_Montserrat = 'America/Montserrat'
America_Nassau = 'America/Nassau'
America_New_York = 'America/New_York'
America_Nipigon = 'America/Nipigon'
America_Nome = 'America/Nome'
America_Noronha = 'America/Noronha'
America_North_Dakota_Beulah = 'America/North_Dakota/Beulah'
America_North_Dakota_Center = 'America/North_Dakota/Center'
America_North_Dakota_New_Salem = 'America/North_Dakota/New_Salem'
America_Ojinaga = 'America/Ojinaga'
America_Panama = 'America/Panama'
America_Pangnirtung = 'America/Pangnirtung'
America_Paramaribo = 'America/Paramaribo'
America_Phoenix = 'America/Phoenix'
America_Port_au_Prince = 'America/Port-au-Prince'
America_Port_of_Spain = 'America/Port_of_Spain'
America_Porto_Velho = 'America/Porto_Velho'
America_Puerto_Rico = 'America/Puerto_Rico'
America_Rainy_River = 'America/Rainy_River'
America_Rankin_Inlet = 'America/Rankin_Inlet'
America_Recife = 'America/Recife'
America_Regina = 'America/Regina'
America_Resolute = 'America/Resolute'
America_Rio_Branco = 'America/Rio_Branco'
America_Santarem = 'America/Santarem'
America_Santiago = 'America/Santiago'
America_Santo_Domingo = 'America/Santo_Domingo'
America_Sao_Paulo = 'America/Sao_Paulo'
America_Scoresbysund = 'America/Scoresbysund'
America_Sitka = 'America/Sitka'
America_St_Barthelemy = 'America/St_Barthelemy'
America_St_Johns = 'America/St_Johns'
America_St_Kitts = 'America/St_Kitts'
America_St_Lucia = 'America/St_Lucia'
America_St_Thomas = 'America/St_Thomas'
America_St_Vincent = 'America/St_Vincent'
America_Swift_Current = 'America/Swift_Current'
America_Tegucigalpa = 'America/Tegucigalpa'
America_Thule = 'America/Thule'
America_Thunder_Bay = 'America/Thunder_Bay'
America_Tijuana = 'America/Tijuana'
America_Toronto = 'America/Toronto'
America_Tortola = 'America/Tortola'
America_Vancouver = 'America/Vancouver'
America_Whitehorse = 'America/Whitehorse'
America_Winnipeg = 'America/Winnipeg'
America_Yakutat = 'America/Yakutat'
America_Yellowknife = 'America/Yellowknife'
Antarctica_Casey = 'Antarctica/Casey'
Antarctica_Davis = 'Antarctica/Davis'
Antarctica_DumontDUrville = 'Antarctica/DumontDUrville'
Antarctica_Macquarie = 'Antarctica/Macquarie'
Antarctica_Mawson = 'Antarctica/Mawson'
Antarctica_McMurdo = 'Antarctica/McMurdo'
Antarctica_Palmer = 'Antarctica/Palmer'
Antarctica_Rothera = 'Antarctica/Rothera'
Antarctica_Syowa = 'Antarctica/Syowa'
Antarctica_Vostok = 'Antarctica/Vostok'
Arctic_Longyearbyen = 'Arctic/Longyearbyen'
Asia_Aden = 'Asia/Aden'
Asia_Almaty = 'Asia/Almaty'
Asia_Amman = 'Asia/Amman'
Asia_Anadyr = 'Asia/Anadyr'
Asia_Aqtau = 'Asia/Aqtau'
Asia_Aqtobe = 'Asia/Aqtobe'
Asia_Ashgabat = 'Asia/Ashgabat'
Asia_Baghdad = 'Asia/Baghdad'
Asia_Bahrain = 'Asia/Bahrain'
Asia_Baku = 'Asia/Baku'
Asia_Bangkok = 'Asia/Bangkok'
Asia_Beirut = 'Asia/Beirut'
Asia_Bishkek = 'Asia/Bishkek'
Asia_Brunei = 'Asia/Brunei'
Asia_Calcutta = 'Asia/Calcutta'
Asia_Chita = 'Asia/Chita'
Asia_Choibalsan = 'Asia/Choibalsan'
Asia_Colombo = 'Asia/Colombo'
Asia_Damascus = 'Asia/Damascus'
Asia_Dhaka = 'Asia/Dhaka'
Asia_Dili = 'Asia/Dili'
Asia_Dubai = 'Asia/Dubai'
Asia_Dushanbe = 'Asia/Dushanbe'
Asia_Hong_Kong = 'Asia/Hong_Kong'
Asia_Hovd = 'Asia/Hovd'
Asia_Irkutsk = 'Asia/Irkutsk'
Asia_Jakarta = 'Asia/Jakarta'
Asia_Jayapura = 'Asia/Jayapura'
Asia_Jerusalem = 'Asia/Jerusalem'
Asia_Kabul = 'Asia/Kabul'
Asia_Kamchatka = 'Asia/Kamchatka'
Asia_Karachi = 'Asia/Karachi'
Asia_Kathmandu = 'Asia/Kathmandu'
Asia_Khandyga = 'Asia/Khandyga'
Asia_Kolkata = 'Asia/Kolkata'
Asia_Krasnoyarsk = 'Asia/Krasnoyarsk'
Asia_Kuala_Lumpur = 'Asia/Kuala_Lumpur'
Asia_Kuching = 'Asia/Kuching'
Asia_Kuwait = 'Asia/Kuwait'
Asia_Macau = 'Asia/Macau'
Asia_Magadan = 'Asia/Magadan'
Asia_Makassar = 'Asia/Makassar'
Asia_Manila = 'Asia/Manila'
Asia_Muscat = 'Asia/Muscat'
Asia_Nicosia = 'Asia/Nicosia'
Asia_Novokuznetsk = 'Asia/Novokuznetsk'
Asia_Novosibirsk = 'Asia/Novosibirsk'
Asia_Omsk = 'Asia/Omsk'
Asia_Oral = 'Asia/Oral'
Asia_Phnom_Penh = 'Asia/Phnom_Penh'
Asia_Pontianak = 'Asia/Pontianak'
Asia_Pyongyang = 'Asia/Pyongyang'
Asia_Qatar = 'Asia/Qatar'
Asia_Qyzylorda = 'Asia/Qyzylorda'
Asia_Rangoon = 'Asia/Rangoon'
Asia_Riyadh = 'Asia/Riyadh'
Asia_Saigon = 'Asia/Saigon'
Asia_Sakhalin = 'Asia/Sakhalin'
Asia_Samarkand = 'Asia/Samarkand'
Asia_Seoul = 'Asia/Seoul'
Asia_Shanghai = 'Asia/Shanghai'
Asia_Singapore = 'Asia/Singapore'
Asia_Srednekolymsk = 'Asia/Srednekolymsk'
Asia_Taipei = 'Asia/Taipei'
Asia_Tashkent = 'Asia/Tashkent'
Asia_Tbilisi = 'Asia/Tbilisi'
Asia_Tehran = 'Asia/Tehran'
Asia_Thimphu = 'Asia/Thimphu'
Asia_Tokyo = 'Asia/Tokyo'
Asia_Ulaanbaatar = 'Asia/Ulaanbaatar'
Asia_Urumqi = 'Asia/Urumqi'
Asia_Ust_Nera = 'Asia/Ust-Nera'
Asia_Vientiane = 'Asia/Vientiane'
Asia_Vladivostok = 'Asia/Vladivostok'
Asia_Yakutsk = 'Asia/Yakutsk'
Asia_Yekaterinburg = 'Asia/Yekaterinburg'
Asia_Yerevan = 'Asia/Yerevan'
Atlantic_Azores = 'Atlantic/Azores'
Atlantic_Bermuda = 'Atlantic/Bermuda'
Atlantic_Canary = 'Atlantic/Canary'
Atlantic_Cape_Verde = 'Atlantic/Cape_Verde'
Atlantic_Faeroe = 'Atlantic/Faeroe'
Atlantic_Madeira = 'Atlantic/Madeira'
Atlantic_Reykjavik = 'Atlantic/Reykjavik'
Atlantic_South_Georgia = 'Atlantic/South_Georgia'
Atlantic_St_Helena = 'Atlantic/St_Helena'
Atlantic_Stanley = 'Atlantic/Stanley'
Australia_Adelaide = 'Australia/Adelaide'
Australia_Brisbane = 'Australia/Brisbane'
Australia_Broken_Hill = 'Australia/Broken_Hill'
Australia_Currie = 'Australia/Currie'
Australia_Darwin = 'Australia/Darwin'
Australia_Hobart = 'Australia/Hobart'
Australia_Lindeman = 'Australia/Lindeman'
Australia_Melbourne = 'Australia/Melbourne'
Australia_Perth = 'Australia/Perth'
Australia_Sydney = 'Australia/Sydney'
CST6CDT = 'CST6CDT'
EST5EDT = 'EST5EDT'
Etc_GMT = 'Etc/GMT'
Etc_GMT_1 = 'Etc/GMT+1'
Etc_GMT_10 = 'Etc/GMT+10'
Etc_GMT_11 = 'Etc/GMT+11'
Etc_GMT_12 = 'Etc/GMT+12'
Etc_GMT_2 = 'Etc/GMT+2'
Etc_GMT_3 = 'Etc/GMT+3'
Etc_GMT_4 = 'Etc/GMT+4'
Etc_GMT_5 = 'Etc/GMT+5'
Etc_GMT_6 = 'Etc/GMT+6'
Etc_GMT_7 = 'Etc/GMT+7'
Etc_GMT_1_1 = 'Etc/GMT-1'
Etc_GMT_10_1 = 'Etc/GMT-10'
Etc_GMT_11_1 = 'Etc/GMT-11'
Etc_GMT_12_1 = 'Etc/GMT-12'
Etc_GMT_13 = 'Etc/GMT-13'
Etc_GMT_2_1 = 'Etc/GMT-2'
Etc_GMT_3_1 = 'Etc/GMT-3'
Etc_GMT_4_1 = 'Etc/GMT-4'
Etc_GMT_5_1 = 'Etc/GMT-5'
Etc_GMT_6_1 = 'Etc/GMT-6'
Etc_GMT_7_1 = 'Etc/GMT-7'
Etc_GMT_8 = 'Etc/GMT-8'
Etc_GMT_9 = 'Etc/GMT-9'
Europe_Amsterdam = 'Europe/Amsterdam'
Europe_Andorra = 'Europe/Andorra'
Europe_Astrakhan = 'Europe/Astrakhan'
Europe_Athens = 'Europe/Athens'
Europe_Belgrade = 'Europe/Belgrade'
Europe_Berlin = 'Europe/Berlin'
Europe_Bratislava = 'Europe/Bratislava'
Europe_Brussels = 'Europe/Brussels'
Europe_Bucharest = 'Europe/Bucharest'
Europe_Budapest = 'Europe/Budapest'
Europe_Busingen = 'Europe/Busingen'
Europe_Chisinau = 'Europe/Chisinau'
Europe_Copenhagen = 'Europe/Copenhagen'
Europe_Dublin = 'Europe/Dublin'
Europe_Gibraltar = 'Europe/Gibraltar'
Europe_Guernsey = 'Europe/Guernsey'
Europe_Helsinki = 'Europe/Helsinki'
Europe_Isle_of_Man = 'Europe/Isle_of_Man'
Europe_Istanbul = 'Europe/Istanbul'
Europe_Jersey = 'Europe/Jersey'
Europe_Kaliningrad = 'Europe/Kaliningrad'
Europe_Kiev = 'Europe/Kiev'
Europe_Kyiv = 'Europe/Kyiv'
Europe_Kirov = 'Europe/Kirov'
Europe_Lisbon = 'Europe/Lisbon'
Europe_Ljubljana = 'Europe/Ljubljana'
Europe_London = 'Europe/London'
Europe_Luxembourg = 'Europe/Luxembourg'
Europe_Madrid = 'Europe/Madrid'
Europe_Malta = 'Europe/Malta'
Europe_Mariehamn = 'Europe/Mariehamn'
Europe_Minsk = 'Europe/Minsk'
Europe_Monaco = 'Europe/Monaco'
Europe_Moscow = 'Europe/Moscow'
Europe_Nicosia = 'Europe/Nicosia'
Europe_Oslo = 'Europe/Oslo'
Europe_Paris = 'Europe/Paris'
Europe_Podgorica = 'Europe/Podgorica'
Europe_Prague = 'Europe/Prague'
Europe_Riga = 'Europe/Riga'
Europe_Rome = 'Europe/Rome'
Europe_Samara = 'Europe/Samara'
Europe_San_Marino = 'Europe/San_Marino'
Europe_Sarajevo = 'Europe/Sarajevo'
Europe_Simferopol = 'Europe/Simferopol'
Europe_Skopje = 'Europe/Skopje'
Europe_Sofia = 'Europe/Sofia'
Europe_Stockholm = 'Europe/Stockholm'
Europe_Tallinn = 'Europe/Tallinn'
Europe_Tirane = 'Europe/Tirane'
Europe_Ulyanovsk = 'Europe/Ulyanovsk'
Europe_Uzhgorod = 'Europe/Uzhgorod'
Europe_Vaduz = 'Europe/Vaduz'
Europe_Vatican = 'Europe/Vatican'
Europe_Vienna = 'Europe/Vienna'
Europe_Vilnius = 'Europe/Vilnius'
Europe_Volgograd = 'Europe/Volgograd'
Europe_Warsaw = 'Europe/Warsaw'
Europe_Zagreb = 'Europe/Zagreb'
Europe_Zaporozhye = 'Europe/Zaporozhye'
Europe_Zurich = 'Europe/Zurich'
Indian_Antananarivo = 'Indian/Antananarivo'
Indian_Chagos = 'Indian/Chagos'
Indian_Christmas = 'Indian/Christmas'
Indian_Cocos = 'Indian/Cocos'
Indian_Comoro = 'Indian/Comoro'
Indian_Kerguelen = 'Indian/Kerguelen'
Indian_Mahe = 'Indian/Mahe'
Indian_Maldives = 'Indian/Maldives'
Indian_Mauritius = 'Indian/Mauritius'
Indian_Mayotte = 'Indian/Mayotte'
Indian_Reunion = 'Indian/Reunion'
MST7MDT = 'MST7MDT'
PST8PDT = 'PST8PDT'
Pacific_Apia = 'Pacific/Apia'
Pacific_Auckland = 'Pacific/Auckland'
Pacific_Efate = 'Pacific/Efate'
Pacific_Enderbury = 'Pacific/Enderbury'
Pacific_Fakaofo = 'Pacific/Fakaofo'
Pacific_Fiji = 'Pacific/Fiji'
Pacific_Funafuti = 'Pacific/Funafuti'
Pacific_Galapagos = 'Pacific/Galapagos'
Pacific_Guadalcanal = 'Pacific/Guadalcanal'
Pacific_Guam = 'Pacific/Guam'
Pacific_Honolulu = 'Pacific/Honolulu'
Pacific_Johnston = 'Pacific/Johnston'
Pacific_Kosrae = 'Pacific/Kosrae'
Pacific_Kwajalein = 'Pacific/Kwajalein'
Pacific_Majuro = 'Pacific/Majuro'
Pacific_Midway = 'Pacific/Midway'
Pacific_Nauru = 'Pacific/Nauru'
Pacific_Niue = 'Pacific/Niue'
Pacific_Noumea = 'Pacific/Noumea'
Pacific_Pago_Pago = 'Pacific/Pago_Pago'
Pacific_Palau = 'Pacific/Palau'
Pacific_Ponape = 'Pacific/Ponape'
Pacific_Port_Moresby = 'Pacific/Port_Moresby'
Pacific_Rarotonga = 'Pacific/Rarotonga'
Pacific_Saipan = 'Pacific/Saipan'
Pacific_Tahiti = 'Pacific/Tahiti'
Pacific_Tarawa = 'Pacific/Tarawa'
Pacific_Tongatapu = 'Pacific/Tongatapu'
Pacific_Truk = 'Pacific/Truk'
Pacific_Wake = 'Pacific/Wake'
Pacific_Wallis = 'Pacific/Wallis'
US_Alaska = 'US/Alaska'
US_Aleutian = 'US/Aleutian'
US_Arizona = 'US/Arizona'
US_Central = 'US/Central'
US_Eastern = 'US/Eastern'
US_East_Indiana = 'US/East=Indiana'
US_Hawaii = 'US/Hawaii'
US_Indiana_Starke = 'US/Indiana-Starke'
US_Michigan = 'US/Michigan'
US_Mountain = 'US/Mountain'
US_Pacific = 'US/Pacific'
US_Samoa = 'US/Samoa'
class AnalyticEventDto(BaseModel):
actionType: ActionType = Field(
...,
description='hide:hide\n\nview:view\n\nskip:skip\n\nskipBefore5sPlayed:skipBefore5sPlayed\n\nskipBefore1mPlayed:skipBefore1mPlayed\n\nupload:upload\n\npause:pause\n\nplay:play\n\nstop:stop\n\nbudDockingChanged:budDockingChanged\n\nbudConnectionChanged:budConnectionChanged\n\nbudBatteryLevel:budBatteryLevel\n\ncasePower:casePower\n\ncaseDownloadSpeed:caseDownloadSpeed\n\ncaseAvgDownloadSpeed:caseAvgDownloadSpeed\n\nwifiRssi:wifiRssi\n\nwifiConnectionChanged:wifiConnectionChanged\n\nmemory:memory\n\npowerOn:powerOn\n\nfirmwareVersion:firmwareVersion\n\nsessionStart:sessionStart\n\nsessionStop:sessionStop\n\nerror:error\n\naudioDrop:audioDrop\n\ncreate:create\n\nclone:clone\n\nstateChanged:stateChanged',
examples=['view'],
)
data: Optional[Dict[str, Any]] = Field(None, description='Additional event data')
date: Optional[datetime] = None
target: Optional[AnalyticEventTargetDto] = None
class BinaryUploadDto(BaseModel):
commitHash: str = Field(..., description='Hash of the firmware build commit')
data: Optional[Dict[str, Any]] = Field(None, description='Additional upload data')
deviceId: str = Field(..., description='Device Id')
filename: str = Field(..., description='Filename of the uploaded file')
id: str
type: HwUploadType
uploadDate: datetime = Field(..., description='Server time of the upload')
userDate: datetime = Field(
...,
description='User (client) time related to the upload (eg. time when the crash has happened)',
)
userId: str = Field(..., description='User Id')
version: str = Field(..., description='Firmware version')
class CaseConfigUpdateDto(BaseModel):
alarm: Optional[AlarmConfigUpdateDto] = None
audio: Optional[AudioConfigUpdateDto] = None
features: Optional[FeaturesConfigUpdateDto] = None
hardwareFixes: Optional[HardwareFixesConfigUpdateDto] = None
lcd: Optional[LcdConfigUpdateDto] = None
led: Optional[LedConfigUpdateDto] = None
power: Optional[PowerConfigUpdateDto] = None
sleep: Optional[SleepConfigUpdateDto] = None
timezone: Optional[str] = Field(
None, description='IANA time zone as string', examples=['Etc/GMT']
)
vpnClient: Optional[VpnClientUpdateDto] = None
wifiAssistant: Optional[WifiAssistantConfigUpdateDto] = None
class CoefficientsV1DetailsDto(BaseModel):
afterSource: Optional[float] = Field(
None,
description='Information after which source this source should be played.',
examples=[1],
)
coefficients: List[float] = Field(
..., description='Coefficients', examples=[[1, 0.5, 0.2]]
)
durationMs: Optional[float] = Field(
None,
description='Duration of the source in milliseconds. If not given, the source will be played indefinitely.',
examples=[1],
)
fadeInMs: Optional[float] = Field(
None, description='Fade in duration in milliseconds.', examples=[100]
)
fadeMinGain: Optional[float] = Field(
None,
description='Minimum gain when it fades (defaults to fade to black)',
examples=[0.5],
)
fadeOutMs: Optional[float] = Field(
None, description='Fade out duration in milliseconds.', examples=[0]
)
filterType: FilterType = Field(
..., description='Filter type for the given coefficients', examples=['fir']
)
gain: float = Field(
..., description='Gain for the given coefficients', examples=[1]
)
loop: Optional[bool] = Field(
None,
description='Loop the source. Relevant only if duration is given (defaults to true)',
examples=[True],
)
name: str = Field(..., description='Source name', examples=[1])
nextIterationDelayMs: Optional[float] = Field(
None,
description='Delay of next iteration when looping (defaults to no delay) in milliseconds',
examples=[1],
)
order: Optional[float] = Field(None, description='Play order', examples=[1])
randomNextIterationDelayMs: Optional[MinMaxMsDto] = Field(
None,
description="Next iteration delay when looping, used for random delay value between iterations Can't be used when nextIterationDelayMs is used.",
)
randomStartDelayMs: Optional[MinMaxMsDto] = Field(
None, description='Random start delay values in milliseconds.'
)
source: float = Field(..., description='Noise source number', examples=[1])
startDelayMs: Optional[float] = Field(
None,
description='Start delay in milliseconds. If not given, the source will start immediately.',
examples=[1],
)
class ContentCreatorDto(BaseModel):
alias: Optional[str] = None
firstName: Optional[str] = None
id: Optional[IdentifierDto] = None
imageUri: Optional[str] = None
lastName: Optional[str] = None
class CreateBinaryUploadDto(BaseModel):
commitHash: str = Field(..., description='Hash of the firmware build commit')
data: Optional[Dict[str, Any]] = Field(None, description='Additional upload data')
file: bytes
type: HwUploadType
userDate: float = Field(
...,
description='User (client) epoch time related to the upload (eg. time when the crash has happened)',
examples=[1622547802000],
)
version: str = Field(..., description='Firmware version')
class CreateFirmwareVersionDto(BaseModel):
commitHash: Optional[str] = Field(
None, examples=['13c988d4f15e06bcdd0b0af290086a3079cdadb0']
)
file: bytes
md5: Optional[str] = Field(
None, description='MD5 to verify uploaded firmware binary upload'
)
releaseNotes: Optional[str] = Field(None, examples=['Release note for version'])
symbolsFile: Optional[bytes] = None
symbolsMd5: Optional[str] = Field(
None, description='MD5 to verify uploaded symbols binary upload'
)
type: FirmwareType
version: str = Field(..., examples=['1.0.0'])
class CreateUpdateAlarmDto(BaseModel):
bedtime: Optional[TimeOfDayDto] = None
bedtimeChime: Optional[bool] = None
bedtimeLight: Optional[bool] = None
daysOfWeek: List[DaysOfWeekEnum]
enabled: bool
playlistTrackIds: Optional[List[IdentifierDto]] = None
sleepPlanId: Optional[str] = None
smartMode: Optional[SmartMode] = Field(
None,
description='lessGroggy:lessGroggy\n\nrememberDream:rememberDream',
examples=['rememberDream'],
)
smartThresholdInMin: Optional[int] = Field(
None, description='Time threshold to predict smart alarm'
)
snooze: Optional[bool] = None
timerInSeconds: Optional[int] = None
trackId: IdentifierDto
wakeUpTime: Optional[TimeOfDayDto] = None
class CreateUpdatePremadeSleepPhaseDefinitionDto(BaseModel):
trackIds: List[IdentifierDto]
type: Type4 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class CreateUpdatePremadeSleepPlanDefinitionDto(BaseModel):
description: Optional[str] = None
imageUri: str
key: str
name: str
sleepPhases: List[CreateUpdatePremadeSleepPhaseDefinitionDto]
class CreateUpdateSleepPhaseDto(BaseModel):
trackIds: List[IdentifierDto]
type: Type4 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class CreateUpdateSleepPlanDto(BaseModel):
imageUri: Optional[str] = Field(
None, description='This property will become required in the upcoming versions'
)
loop: Optional[bool] = None
name: str
shuffle: Optional[bool] = None
sleepPhases: Optional[List[CreateUpdateSleepPhaseDto]] = None
class EmbeddedContentDto(BaseModel):
ext: str
id: IdentifierDto
metaUrl: Dict[str, Any]
size: float
url: str
versionTs: float
class EmbeddedContentListDto(BaseModel):
tracks: List[EmbeddedContentDto]
class EmbeddedContentResponseDto(BaseModel):
data: EmbeddedContentListDto
nextPageToken: Optional[str] = None
total: float
class EndSessionDto(BaseModel):
ianaTimezone: Optional[TimezoneIanaEnum] = Field(None, description='IANA timezone')
time: datetime
class EndUserSessionsDto(BaseModel):
ianaTimezone: Optional[TimezoneIanaEnum] = Field(None, description='IANA timezone')
sessions: List[EndUserSessionDto] = Field(
..., description='Array of end-user session objects'
)
class EventNuggetDelivered(BaseModel):
eventType: EventType = Field(
..., examples=['SleepScore.Events.SleepRecord.Created']
)
properties: EventNuggetDeliveredProperties
timestamp: datetime = Field(..., examples=['2025-08-08T16:33:37.524Z'])
userId: str = Field(..., examples=['d290f1ee-6c54-4b01-90e6-d701748f0851'])
class EventRecordCreated(BaseModel):
eventType: EventType = Field(
..., examples=['SleepScore.Events.SleepRecord.Created']
)
properties: EventRecordCreatedProperties
timestamp: datetime = Field(..., examples=['2025-08-08T16:33:37.522Z'])
userId: str = Field(..., examples=['d290f1ee-6c54-4b01-90e6-d701748f0851'])
class GetTracksRequestHwDto(BaseModel):
ids: IdentifierDto
class GuestSignUpResponseDto(BaseModel):
device: DeviceDto = Field(..., description='Basic device information')
tokens: TokenDto = Field(..., description='Set of access and refresh tokens')
user: GuestSignUpUserDto = Field(..., description='Basic user information')
class LifeLog(BaseModel):
createdAt: datetime
id: str
text: str
type: LifeLogType
class LifeLogsResponse(BaseModel):
data: List[LifeLog]
nextPageToken: Optional[str] = None
class LoginResponseDto(BaseModel):
device: DeviceDto = Field(..., description='Basic device information')
tokens: TokenDto = Field(..., description='Set of access and refresh tokens')
user: UserDto = Field(..., description='Basic user information')
class LongTermSleepSummaryDto(BaseModel):
durationInSec: float = Field(..., description='Session duration (time in bed)')
endTime: Optional[datetime] = Field(None, description='End time')
heartRateScore: Optional[float] = Field(None, description='Heart rate score')
hr: Optional[MinMaxMeanDto] = Field(None, description='Heart rate')
hrv: Optional[float] = Field(None, description='Heart rate variability')
hrvScore: Optional[float] = Field(None, description='Heart rate variability score')
respirationScore: Optional[float] = Field(None, description='Respiration score')
rr: Optional[MinMaxMeanDto] = Field(None, description='Respiration rate')
sleepDetected: bool = Field(
..., description='Was sleep detected during the session'
)
sleepDurationScore: Optional[float] = Field(
None, description='Sleep duration score'
)
sleepEfficiency: float = Field(..., description='Sleep efficiency')
sleepScore: Optional[float] = Field(None, description='Sleep score')
startTime: Optional[datetime] = Field(None, description='Start time')
timeInBedAfterWakeUp: Optional[float] = Field(
None, description='Time in bed after wake up (time to get up)'
)
timeInBedBeforeSleep: Optional[float] = Field(
None, description='Time in bed before falling asleep (sleep onset latency)'
)
timeInStages: TimesInStagesDto = Field(
..., description='Time spend in each sleep stage'
)
timeZone: TimezoneIanaEnum = Field(
..., description='Time zone of the sleep session'
)
wakeUps: float = Field(..., description='Number of wake ups')
class NewRecommendationsDto(BaseModel):
data: List[NewUserRecommendationsDto]
class PremadeSleepPlanDefinitionResponseDto(BaseModel):
data: List[PremadeSleepPlanDefinitionWithoutTracksResultDto]
nextPageToken: Optional[str] = None
class PremadeSleepPlanDescResponseDto(BaseModel):
data: List[PremadeSleepPlanDescResultDto]
nextPageToken: Optional[str] = None
class RegisterDeviceResponseDto(BaseModel):
device: DeviceDetailsDto
tokens: TokenDto
class ReportLikesResponseDto(BaseModel):
data: List[TotalLikesDto]
nextPageToken: Optional[str] = None
class SearchRequestDto(BaseModel):
filters: Optional[SearchRequestFilterDto] = None
pageSize: float
pageToken: Optional[str] = None
retrieveMetrics: Optional[bool] = None
skip: Optional[float] = None
term: Optional[str] = None
useOnlyCurated: Optional[bool] = None
class SleepSummaryDto(BaseModel):
durationInSec: float = Field(..., description='Session duration (time in bed)')
endTime: Optional[datetime] = Field(None, description='End time')
heartRateScore: Optional[float] = Field(None, description='Heart rate score')
hr: Optional[MinMaxMeanDto] = Field(None, description='Heart rate')
hrv: Optional[float] = Field(None, description='Heart rate variability')
hrvScore: Optional[float] = Field(None, description='Heart rate variability score')
recoveryScore: Optional[float] = Field(
None,
description="Recovery score, representing the body's readiness to perform. Ranges from 0 to 100, where higher values indicate better recovery. Calculated based on heart rate variability, sleep quality, and other physiological metrics.",
)
respirationScore: Optional[float] = Field(None, description='Respiration score')
rr: Optional[MinMaxMeanDto] = Field(None, description='Respiration rate')
sleepDetected: bool = Field(
..., description='Was sleep detected during the session'
)
sleepDurationScore: Optional[float] = Field(
None, description='Sleep duration score'
)
sleepEfficiency: float = Field(..., description='Sleep efficiency')
sleepScore: Optional[float] = Field(None, description='Sleep score')
startTime: Optional[datetime] = Field(None, description='Start time')
summaryBody: Optional[str] = Field(
None, description='AI-generated text summary of the sleep session'
)
summaryTitle: Optional[str] = Field(
None, description='AI-generated title for the sleep session summary'
)
summaryTrackId: Optional[IdentifierDto] = Field(
None, description='Track ID associated with the sleep summary'
)
timeInBedAfterWakeUp: Optional[float] = Field(
None, description='Time in bed after wake up (time to get up)'
)
timeInBedBeforeSleep: Optional[float] = Field(
None, description='Time in bed before falling asleep (sleep onset latency)'
)
timeInStages: TimesInStagesDto = Field(
..., description='Time spend in each sleep stage'
)
timeZone: TimezoneIanaEnum = Field(
..., description='Time zone of the sleep session'
)
wakeUps: float = Field(..., description='Number of wake ups')
class SleepSummaryResponseDto(BaseModel):
durationInSec: float = Field(..., description='Session duration (time in bed)')
endTime: Optional[datetime] = Field(None, description='End time')
heartRateScore: Optional[float] = Field(None, description='Heart rate score')
hr: Optional[MinMaxMeanDto] = Field(None, description='Heart rate')
hrv: Optional[float] = Field(None, description='Heart rate variability')
hrvScore: Optional[float] = Field(None, description='Heart rate variability score')
recoveryScore: Optional[float] = Field(
None,
description="Recovery score, representing the body's readiness to perform. Ranges from 0 to 100, where higher values indicate better recovery. Calculated based on heart rate variability, sleep quality, and other physiological metrics.",
)
respirationScore: Optional[float] = Field(None, description='Respiration score')
rr: Optional[MinMaxMeanDto] = Field(None, description='Respiration rate')
sessionId: str = Field(..., description='Session id')
sleepDetected: bool = Field(
..., description='Was sleep detected during the session'
)
sleepDurationScore: Optional[float] = Field(
None, description='Sleep duration score'
)
sleepEfficiency: float = Field(..., description='Sleep efficiency')
sleepScore: Optional[float] = Field(None, description='Sleep score')
startTime: Optional[datetime] = Field(None, description='Start time')
summaryBody: Optional[str] = Field(
None, description='AI-generated text summary of the sleep session'
)
summaryTitle: Optional[str] = Field(
None, description='AI-generated title for the sleep session summary'
)
summaryTrackId: Optional[IdentifierDto] = Field(
None, description='Track ID associated with the sleep summary'
)
timeInBedAfterWakeUp: Optional[float] = Field(
None, description='Time in bed after wake up (time to get up)'
)
timeInBedBeforeSleep: Optional[float] = Field(
None, description='Time in bed before falling asleep (sleep onset latency)'
)
timeInStages: TimesInStagesDto = Field(
..., description='Time spend in each sleep stage'
)
timeZone: TimezoneIanaEnum = Field(
..., description='Time zone of the sleep session'
)
wakeUps: float = Field(..., description='Number of wake ups')
class SocketConfigDto(BaseModel):
baseUrl: str = Field(
...,
description='Base url for socket connection',
examples=['https://core-api-dev.sond.com'],
)
namespaces: SocketNamespacesConfigDto = Field(..., description='Socket namespace')
class AdminBinaryUploadsGetResponse(RootModel[List[BinaryUploadDto]]):
root: List[BinaryUploadDto]
class HwAnalyticsEventsPostRequest(RootModel[List[AnalyticEventDto]]):
root: List[AnalyticEventDto]
class MobileAnalyticsEventsPostRequest(RootModel[List[AnalyticEventDto]]):
root: List[AnalyticEventDto]
class AggregatedSleepSummaryDto(BaseModel):
stats: LongTermSleepSummaryDto = Field(..., description='Aggregated data')
timeAggregated: datetime = Field(..., description='Time for aggregated stats')
class ApiConfigDto(BaseModel):
espInsights: EspInsightsConfigDto
logz: LogzConfigDto
socket: SocketConfigDto
vpnServer: VpnServerConfigDto
class CaseConfigDto(BaseModel):
alarm: AlarmConfigDto
api: ApiConfigDto
audio: AudioConfigDto
features: FeaturesConfigDto
hardwareFixes: HardwareFixesConfigDto
lcd: LcdConfigDto
led: LedConfigDto
power: PowerConfigDto
sleep: SleepConfigDto
timezone: str = Field(
..., description='IANA time zone as string', examples=['Etc/GMT']
)
vpnClient: Optional[VpnClientConfigDto] = None
wifiAssistant: WifiAssistantConfigDto
class CoefficientsDto(BaseModel):
v1: List[CoefficientsV1DetailsDto]
class ContentCollectionDto(BaseModel):
category: Category = Field(
...,
description='alarm:ALARM\n\nasmr:ASMR\n\naudiobook:AUDIOBOOK\n\ncollection:COLLECTION\n\nlofi:LOFI\n\nnoise:NOISE\n\nmasking:MASKING\n\nmeditation:MEDITATION\n\nmusic:MUSIC\n\npodcast:PODCAST\n\nsoundscape:SOUNDSCAPE\n\nstory:STORY',
examples=['asmr'],
)
creator: Optional[ContentCreatorDto] = None
description: Optional[str] = None
id: IdentifierDto
imageUri: Optional[str] = None
name: str
publishTime: Optional[datetime] = None
uri: Optional[str] = None
class GetCollectionResponseDto(BaseModel):
collection: ContentCollectionDto
followed: bool
class LongTermSleepDataDto(BaseModel):
summaries: Optional[List[AggregatedSleepSummaryDto]] = Field(
None, description='List of sleep summaries aggregates with aggregate times'
)
class SleepSummaryListResponseDto(BaseModel):
data: List[SleepSummaryResponseDto]
class TrackDto(BaseModel):
category: Optional[str] = None
coefficients: Optional[CoefficientsDto] = Field(
None, description='Coefficients used for masking sound generation.'
)
collection: Optional[ContentCollectionDto] = None
creator: ContentCreatorDto
durationSec: Optional[float] = None
episodeNumber: Optional[int] = None
genre: Optional[str] = None
id: IdentifierDto
imageUri: Optional[str] = None
masking: Optional[bool] = None
mediaUri: Optional[str] = None
metrics: Optional[TrackMetricsDto] = None
resumable: bool
seasonNumber: Optional[int] = None
streamUri: Optional[str] = None
title: str
type: Type16 = Field(
...,
description='0:TRACK_TYPE_UNSPECIFIED\n\n1:TRACK\n\n2:PODCAST\n\n3:AUDIOBOOK\n\n4:ALARM',
examples=[1],
)
versionCreateTime: Optional[datetime] = Field(
None, description='Date when current track version was created.'
)
class TrackHwDto(BaseModel):
coefficients: Optional[CoefficientsDto] = Field(
None, description='Coefficients used for masking sound generation.'
)
creatorName: str
durationSec: Optional[float] = None
id: IdentifierDto
mediaUri: Optional[str] = None
resumable: bool
streamUri: Optional[str] = None
title: str
versionCreateTime: Optional[float] = Field(
None, description='Date when current track version was created (epoch time).'
)
class TrackResultDto(BaseModel):
liked: Optional[bool] = None
track: TrackDto
class TracksHwDto(BaseModel):
tracks: List[TrackHwDto]
class MobileAlarmsTracksGetResponse(RootModel[List[TrackDto]]):
root: List[TrackDto]
class AlarmDto(BaseModel):
bedtime: Optional[TimeOfDayDto] = None
bedtimeChime: bool
bedtimeLight: bool
daysOfWeek: List[DaysOfWeekEnum]
enabled: bool
id: UUID
playlistTrackIds: Optional[List[IdentifierDto]] = None
sleepPlanId: Optional[str] = None
smartMode: Optional[SmartMode] = Field(
None,
description='lessGroggy:lessGroggy\n\nrememberDream:rememberDream',
examples=['rememberDream'],
)
smartThresholdInMin: Optional[int] = None
snooze: bool
timerInSeconds: Optional[int] = None
track: TrackDto
updatedAt: datetime
wakeUpTime: Optional[TimeOfDayDto] = None
class GetCollectionTracksResponseDto(BaseModel):
data: List[TrackResultDto]
nextPageToken: Optional[str] = None
class ListTracksResponseDto(BaseModel):
nextPageToken: Optional[str] = None
tracks: List[TrackDto]
class PlayedTrackDto(BaseModel):
durationInSec: float = Field(..., description='Track playtime')
endTime: datetime = Field(..., description='End time')
startTime: datetime = Field(..., description='Start time')
track: TrackDto = Field(..., description='Track')
class PremadeSleepPhaseDto(BaseModel):
tracks: List[TrackDto]
type: Type12 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class PremadeSleepPlanDto(BaseModel):
description: Optional[str] = None
id: UUID
imageUri: str
name: str
sleepPhases: List[PremadeSleepPhaseDto]
class SearchResultDto(BaseModel):
collection: Optional[ContentCollectionDto] = None
creator: Optional[ContentCreatorDto] = None
liked: Optional[bool] = None
track: Optional[TrackDto] = None
class SearchResultHwDto(BaseModel):
track: Optional[TrackDto] = None
class SleepDataDto(BaseModel):
biosignals: List[SleepDataPointDto] = Field(
..., description='List of sleep data point'
)
playedTracks: Optional[List[PlayedTrackDto]] = Field(
None, description='Summary for the night'
)
summary: Optional[SleepSummaryDto] = Field(
None, description='Summary for the night'
)
class SleepPlanTrackDto(BaseModel):
recommended: bool
track: TrackDto
class SleepPlanTrackHwDto(BaseModel):
recommended: bool
track: TrackHwDto
class MobileAlarmsGetResponse(RootModel[List[AlarmDto]]):
root: List[AlarmDto]
class GetPlaylistResponseDto(BaseModel):
data: List[SearchResultDto]
class SearchResponseDto(BaseModel):
data: List[SearchResultDto]
nextPageToken: Optional[str] = None
class SearchResponseHwDto(BaseModel):
data: List[SearchResultHwDto]
nextPageToken: Optional[str] = None
class SleepPhaseDto(BaseModel):
tracks: List[SleepPlanTrackDto]
type: Type12 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class SleepPhaseHwDto(BaseModel):
tracks: List[SleepPlanTrackHwDto]
type: Type12 = Field(
...,
description='0:TYPE_UNSPECIFIED\n\n1:FALLING_ASLEEP\n\n2:SLEEPING\n\n3:WAKING_UP',
examples=[1],
)
class SleepPlanDto(BaseModel):
createdAt: datetime
id: UUID
imageUri: str
loop: bool
name: str
shuffle: bool
sleepPhases: List[SleepPhaseDto]
class SleepPlanHwDto(BaseModel):
createdAt: float
id: UUID
loop: bool
name: str
shuffle: bool
sleepPhases: List[SleepPhaseHwDto]
updatedAt: float
class MobileSleepPlansGetResponse(RootModel[List[SleepPlanDto]]):
root: List[SleepPlanDto]
class CreateOnboardingResponseDto(BaseModel):
answers: List[OnboardingAnswerDto]
sleepPlan: SleepPlanDto
timestamp: datetime